|
@@ -1913,13 +1913,13 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
|
|
if (sc->rx.frag) {
|
|
if (sc->rx.frag) {
|
|
int space = skb->len - skb_tailroom(hdr_skb);
|
|
int space = skb->len - skb_tailroom(hdr_skb);
|
|
|
|
|
|
- sc->rx.frag = NULL;
|
|
|
|
-
|
|
|
|
if (pskb_expand_head(hdr_skb, 0, space, GFP_ATOMIC) < 0) {
|
|
if (pskb_expand_head(hdr_skb, 0, space, GFP_ATOMIC) < 0) {
|
|
dev_kfree_skb(skb);
|
|
dev_kfree_skb(skb);
|
|
goto requeue_drop_frag;
|
|
goto requeue_drop_frag;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ sc->rx.frag = NULL;
|
|
|
|
+
|
|
skb_copy_from_linear_data(skb, skb_put(hdr_skb, skb->len),
|
|
skb_copy_from_linear_data(skb, skb_put(hdr_skb, skb->len),
|
|
skb->len);
|
|
skb->len);
|
|
dev_kfree_skb_any(skb);
|
|
dev_kfree_skb_any(skb);
|