summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/p54/p54usb.c
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2008-09-10 03:36:13 +0200
committerPaul Mackerras <paulus@samba.org>2008-09-10 03:36:13 +0200
commit7e392f8c29ee045c6a29d50193d2fb10712eceb0 (patch)
treec84097fe644c50c82f087ab7fa2d75167b8c0e16 /drivers/net/wireless/p54/p54usb.c
parentpowerpc: Remove include of linux/of_device.h from asm/of_device.h (diff)
parentMerge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kern... (diff)
downloadlinux-7e392f8c29ee045c6a29d50193d2fb10712eceb0.tar.xz
linux-7e392f8c29ee045c6a29d50193d2fb10712eceb0.zip
Merge branch 'linux-2.6'
Diffstat (limited to 'drivers/net/wireless/p54/p54usb.c')
-rw-r--r--drivers/net/wireless/p54/p54usb.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/p54/p54usb.c b/drivers/net/wireless/p54/p54usb.c
index 815c095ef797..cbaca23a9453 100644
--- a/drivers/net/wireless/p54/p54usb.c
+++ b/drivers/net/wireless/p54/p54usb.c
@@ -109,7 +109,17 @@ static void p54u_rx_cb(struct urb *urb)
urb->context = skb;
skb_queue_tail(&priv->rx_queue, skb);
} else {
+ if (!priv->hw_type)
+ skb_push(skb, sizeof(struct net2280_tx_hdr));
+
+ skb_reset_tail_pointer(skb);
skb_trim(skb, 0);
+ if (urb->transfer_buffer != skb_tail_pointer(skb)) {
+ /* this should not happen */
+ WARN_ON(1);
+ urb->transfer_buffer = skb_tail_pointer(skb);
+ }
+
skb_queue_tail(&priv->rx_queue, skb);
}