ethoc: remove division from loops
authorJonas Bonn <jonas@southpole.se>
Thu, 25 Nov 2010 02:30:32 +0000 (02:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 28 Nov 2010 19:16:38 +0000 (11:16 -0800)
commit6a632625c7da7594d059b88dae0e9c591af147ba
treed062b16340e3b2d10575ad06882cdbaa1c6014b5
parent4f64bcb2fc093a3a9d7d41220004491ce88e4dd3
ethoc: remove division from loops

Calculating the BD entry using a modulus operation isn't optimal, especially
inside the loop.  This patch removes the modulus operations in favour of:

i)  simply checking for wrapping in the case of cur_rx
ii) forcing num_tx to be a power of two and using it to mask out the
    entry from cur_tx

The also prevents possible issues related overflow of the cur_rx and cur_tx
counters.

Signed-off-by: Jonas Bonn <jonas@southpole.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethoc.c