|
@@ -109,7 +109,17 @@ static void p54u_rx_cb(struct urb *urb)
|
|
urb->context = skb;
|
|
urb->context = skb;
|
|
skb_queue_tail(&priv->rx_queue, skb);
|
|
skb_queue_tail(&priv->rx_queue, skb);
|
|
} else {
|
|
} else {
|
|
|
|
+ if (!priv->hw_type)
|
|
|
|
+ skb_push(skb, sizeof(struct net2280_tx_hdr));
|
|
|
|
+
|
|
|
|
+ skb_reset_tail_pointer(skb);
|
|
skb_trim(skb, 0);
|
|
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);
|
|
skb_queue_tail(&priv->rx_queue, skb);
|
|
}
|
|
}
|
|
|
|
|