On Tue, 2010-12-14 at 00:00 +0200, Jouni Malinen wrote: > @@ -1539,12 +1539,30 @@ ieee80211_drop_unencrypted_mgmt(struct i > if (rx->sta && test_sta_flags(rx->sta, WLAN_STA_MFP)) { > if (unlikely(!ieee80211_has_protected(fc) && > ieee80211_is_unicast_robust_mgmt_frame(rx->skb) && > - rx->key)) > + rx->key)) { > + if (ieee80211_is_deauth(fc)) > + cfg80211_send_unprot_deauth(rx->sdata->dev, > + rx->skb->data, > + rx->skb->len); This is the RX path. > +void cfg80211_send_unprot_disassoc(struct net_device *dev, const u8 *buf, > + size_t len) > +{ > + struct wireless_dev *wdev = dev->ieee80211_ptr; > + struct wiphy *wiphy = wdev->wiphy; > + struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy); > + > + wdev_lock(wdev); > + nl80211_send_unprot_disassoc(rdev, dev, buf, len, GFP_KERNEL); And this uses GFP_KERNEL. Surely that can't be right? johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html