On Fri, 2009-11-27 at 11:18 +0800, Zhu Yi wrote: > + __skb_queue_head_init(&list); > + ret = ieee80211_amsdu_to_8023s(skb, &list, ndev->dev_addr, > + wdev->iftype); > + if (ret) { > + IWM_ERR(iwm, "decode A-MSDU frame failed\n"); > + return -EINVAL; > + } You did the right thing in mac80211, but not here -- if it returns an error it hasn't freed 'skb', only modified it. I think that we should have ieee80211_amsdu_to_8023s() consume it in all cases, just not fill the list (and return an error I guess) when it can't be decoded properly. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part