aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/via-rhine.c
diff options
context:
space:
mode:
authorRoger Luethi <rl@hellgate.ch>2006-04-04 20:49:16 +0200
committerJeff Garzik <jeff@garzik.org>2006-04-12 18:04:03 -0400
commit4be5de25259de21894df5e2fecc30da8252dee8c (patch)
treedfae2ad363dd554f64552797d1b923799fb2b238 /drivers/net/via-rhine.c
parent[PATCH] network: axnet_cs.c: add missing 'PRIV' in ei_rx_overrun (diff)
downloadlinux-dev-4be5de25259de21894df5e2fecc30da8252dee8c.tar.xz
linux-dev-4be5de25259de21894df5e2fecc30da8252dee8c.zip
[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.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index a9b2150909d6..53dfc8c7525b 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);