sky2: tx ring index mask fix
Mask for transmit ring status was picking up bits from the
unused sync ring. They were always zero, so far...
Also, make sure to remind self not to make tx ring too big.
Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c
index 552aca7..4bb6ea1 100644
--- a/drivers/net/sky2.c
+++ b/drivers/net/sky2.c
@@ -1927,7 +1927,8 @@
case OP_TXINDEXLE:
/* TX index reports status for both ports */
- sky2_tx_done(hw->dev[0], status & 0xffff);
+ BUILD_BUG_ON(TX_RING_SIZE > 0x1000);
+ sky2_tx_done(hw->dev[0], status & 0xfff);
if (hw->dev[1])
sky2_tx_done(hw->dev[1],
((status >> 24) & 0xff)