diff options
author | Roger Luethi <rl@hellgate.ch> | 2006-04-04 20:49:16 +0200 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-04-12 18:04:03 -0400 |
commit | 4be5de25259de21894df5e2fecc30da8252dee8c (patch) | |
tree | dfae2ad363dd554f64552797d1b923799fb2b238 /drivers/net/via-rhine.c | |
parent | ff768cd7139ab368bc2b97e7bd6fa592f20e1950 (diff) | |
download | op-kernel-dev-4be5de25259de21894df5e2fecc30da8252dee8c.zip op-kernel-dev-4be5de25259de21894df5e2fecc30da8252dee8c.tar.gz |
[PATCH] via-rhine: execute bounce buffers code on Rhine-I only
Patch suggested by Yang Wu (pin xue <pinxue@gmail.com>).
Signed-off-by: Roger Luethi <rl@hellgate.ch>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/via-rhine.c')
-rw-r--r-- | drivers/net/via-rhine.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index a9b2150..53dfc8c 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c @@ -469,7 +469,7 @@ struct rhine_private { struct sk_buff *tx_skbuff[TX_RING_SIZE]; dma_addr_t tx_skbuff_dma[TX_RING_SIZE]; - /* Tx bounce buffers */ + /* Tx bounce buffers (Rhine-I only) */ unsigned char *tx_buf[TX_RING_SIZE]; unsigned char *tx_bufs; dma_addr_t tx_bufs_dma; @@ -1043,7 +1043,8 @@ static void alloc_tbufs(struct net_device* dev) rp->tx_ring[i].desc_length = cpu_to_le32(TXDESC); next += sizeof(struct tx_desc); rp->tx_ring[i].next_desc = cpu_to_le32(next); - rp->tx_buf[i] = &rp->tx_bufs[i * PKT_BUF_SZ]; + if (rp->quirks & rqRhineI) + rp->tx_buf[i] = &rp->tx_bufs[i * PKT_BUF_SZ]; } rp->tx_ring[i-1].next_desc = cpu_to_le32(rp->tx_ring_dma); |