3 @@ -3320,17 +3320,18 @@ ath_hardstart(struct sk_buff *skb, struc
4 * without affecting any other bridge ports. */
6 /* Remember the original SKB so we can free up our references */
7 - struct sk_buff *skb_orig = skb;
8 - skb = skb_copy(skb, GFP_ATOMIC);
10 + struct sk_buff *skb_new;
11 + skb_new = skb_copy(skb, GFP_ATOMIC);
12 + if (skb_new == NULL) {
13 DPRINTF(sc, ATH_DEBUG_XMIT,
14 "Dropping; skb_copy failure.\n");
15 /* No free RAM, do not requeue! */
18 - ieee80211_skb_copy_noderef(skb_orig, skb);
19 - ieee80211_dev_kfree_skb(&skb_orig);
21 + ieee80211_skb_copy_noderef(skb, skb_new);
22 + ieee80211_dev_kfree_skb(&skb);
25 eh = (struct ether_header *)skb->data;
28 @@ -3601,6 +3602,8 @@ ath_mgtstart(struct ieee80211com *ic, st
29 sc->sc_stats.ast_tx_mgmt++;
33 + ieee80211_dev_kfree_skb(&skb);
34 ath_return_txbuf(sc, &bf);