On Wed, Jan 11, 2006 at 03:48:11PM +0100, Rogier Wolff wrote:
> On Wed, Jan 11, 2006 at 03:11:47PM +0100, Eric Dumazet wrote:
> > Rogier Wolff a écrit :
> > >On Wed, Jan 11, 2006 at 02:43:49PM +0100, Erik Mouw wrote:
> > >>The system only recovers after the Netdev watchdog found out that the
> > >>transmit timed out. However, the e1000 register dump starts about 4 to
> > >>5 seconds earlier: a possible workaround would be to trigger the
> > >>timeout code path as soon as the register dump starts.
> > >
> > >Found a typo. 
> > >
> > >   Roger. 
> > >
> > >
> > >--- e1000_main.c.orig      2006-01-11 14:53:23.000000000 +0100
> > >+++ e1000_main.c   2006-01-11 14:53:38.000000000 +0100
> > >@@ -3449,7 +3449,7 @@
> > >   }
> > > 
> > >   for (i = 0; i < E1000_MAX_INTR; i++)
> > >-          if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &
> > >+          if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &&
> > >              !e1000_clean_tx_irq(adapter, adapter->tx_ring)))
> > >                   break;
> > > 
> > >
> > >
> > 
> > I believe it's not a typo.
> > 
> > The intention is to call both clean_rx() and e1000_clean_tx_irq(), and 
> > break of the loop if both said : There was no job pending.
> 
> Although (one of) the prototypes state(s) that it returns a boolean,
> it is valid C to return the number of items pending.
> 
> And if one reports "2 more pending" and the other reports "1 more
> pending", the "&" between the two becomes 2 & 1 => 0 / FALSE, while 2
> && 1 => TRUE.
> 
> I consider this a low prio typo, not likely to be a bug "right now",
> but it is inviting someone to make it into a bug later on.

Oops. The line itself has "logical NOT" operators. So indeed it is NOW
not a bug, and slighlty less likely to become a bug later on, but
still bad programming practise.

        Roger. 

-- 
+-- Rogier Wolff -- www.harddisk-recovery.nl -- 0800 220 20 20 --
| Files foetsie, bestanden kwijt, alle data weg?!
| Blijf kalm en neem contact op met Harddisk-recovery.nl!
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to