浏览代码

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>
Stephen Hemminger 19 年之前
父节点
当前提交
f55925d7eb
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      drivers/net/sky2.c

+ 2 - 1
drivers/net/sky2.c

@@ -1927,7 +1927,8 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do)
 
 		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)