diff options
author | Stephen Hemminger <shemminger@osdl.org> | 2006-05-08 18:11:28 -0400 |
---|---|---|
committer | Stephen Hemminger <shemminger@osdl.org> | 2006-05-08 19:00:25 -0400 |
commit | f55925d7eb04f936ab4c001f10e3e9c74c1297ae (patch) | |
tree | eeb9c38a4a99f92ec1f69c92eba89ea133a779cf | |
parent | 1e5f1283a2aed429f4457e2eb875b1928a6643df (diff) |
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>
-rw-r--r-- | drivers/net/sky2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 552aca76b283..4bb6ea13efdd 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -1927,7 +1927,8 @@ static int sky2_status_intr(struct sky2_hw *hw, int to_do) | |||
1927 | 1927 | ||
1928 | case OP_TXINDEXLE: | 1928 | case OP_TXINDEXLE: |
1929 | /* TX index reports status for both ports */ | 1929 | /* TX index reports status for both ports */ |
1930 | sky2_tx_done(hw->dev[0], status & 0xffff); | 1930 | BUILD_BUG_ON(TX_RING_SIZE > 0x1000); |
1931 | sky2_tx_done(hw->dev[0], status & 0xfff); | ||
1931 | if (hw->dev[1]) | 1932 | if (hw->dev[1]) |
1932 | sky2_tx_done(hw->dev[1], | 1933 | sky2_tx_done(hw->dev[1], |
1933 | ((status >> 24) & 0xff) | 1934 | ((status >> 24) & 0xff) |