diff options
| author | 2009-01-19 14:00:57 +1100 | |
|---|---|---|
| committer | 2009-01-19 14:00:57 +1100 | |
| commit | 6c5200ce3c528a8f7695ee62f33ad84d8f84d444 (patch) | |
| tree | b240465c2dadbe0366a5b66d60c4776be1b7670d /drivers/net/b44.c | |
| parent | [XFS] Remove the rest of the macro-to-function indirections. (diff) | |
| parent | Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband (diff) | |
| download | linux-dev-6c5200ce3c528a8f7695ee62f33ad84d8f84d444.tar.xz linux-dev-6c5200ce3c528a8f7695ee62f33ad84d8f84d444.zip | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/net/b44.c')
| -rw-r--r-- | drivers/net/b44.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/b44.c b/drivers/net/b44.c index 5ae131c147f9..c38512ebcea6 100644 --- a/drivers/net/b44.c +++ b/drivers/net/b44.c @@ -679,6 +679,7 @@ static int b44_alloc_rx_skb(struct b44 *bp, int src_idx, u32 dest_idx_unmasked) dev_kfree_skb_any(skb); return -ENOMEM; } + bp->force_copybreak = 1; } rh = (struct rx_header *) skb->data; @@ -800,7 +801,7 @@ static int b44_rx(struct b44 *bp, int budget) /* Omit CRC. */ len -= 4; - if (len > RX_COPY_THRESHOLD) { + if (!bp->force_copybreak && len > RX_COPY_THRESHOLD) { int skb_size; skb_size = b44_alloc_rx_skb(bp, cons, bp->rx_prod); if (skb_size < 0) @@ -2152,6 +2153,7 @@ static int __devinit b44_init_one(struct ssb_device *sdev, bp = netdev_priv(dev); bp->sdev = sdev; bp->dev = dev; + bp->force_copybreak = 0; bp->msg_enable = netif_msg_init(b44_debug, B44_DEF_MSG_ENABLE); |
