--- drivers/net/8139too.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletion(-) diff -puN drivers/net/8139too.c~8139too-revert03 drivers/net/8139too.c --- linux-2.6.4-rc1/drivers/net/8139too.c~8139too-revert03 2004-02-29 20:35:21.000000000 +0900 +++ linux-2.6.4-rc1-hirofumi/drivers/net/8139too.c 2004-02-29 21:29:49.000000000 +0900 @@ -1374,7 +1374,7 @@ static int rtl8139_open (struct net_devi rtl8139_start_thread(dev); - printk("%s: revert02\n", dev->name); + printk("%s: revert03\n", dev->name); spin_lock_irq(&tp->lock); RTL8139_DUMP(dev); spin_unlock_irq(&tp->lock); @@ -2172,8 +2172,11 @@ static irqreturn_t rtl8139_interrupt (in u16 status, ackstat; int link_changed = 0; /* avoid bogus "uninit" warning */ int handled = 0; + int boguscnt = 20; spin_lock (&tp->lock); + do { + status = RTL_R16 (IntrStatus); /* shared irq? */ @@ -2216,6 +2219,9 @@ static irqreturn_t rtl8139_interrupt (in if (status & TxErr) RTL_W16 (IntrStatus, TxErr); } + + boguscnt--; + } while(boguscnt > 0); out: spin_unlock (&tp->lock); _