diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/net/tg3.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 8a165aca7542..8b939fbd40ea 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -2706,7 +2706,11 @@ static int tg3_rx(struct tg3 *tp, int budget) len = ((desc->idx_len & RXD_LEN_MASK) >> RXD_LEN_SHIFT) - 4; /* omit crc */ - if (len > RX_COPY_THRESHOLD) { + if (len > RX_COPY_THRESHOLD + && tp->rx_offset == 2 + /* rx_offset != 2 iff this is a 5701 card running + * in PCI-X mode [see tg3_get_invariants()] */ + ) { int skb_size; skb_size = tg3_alloc_rx_skb(tp, opaque_key, |
