cfg80211: fix checking nl80211_send_station() return value
authorJohannes Berg <johannes.berg@intel.com>
Fri, 16 Jan 2015 20:05:02 +0000 (21:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 16 Jan 2015 20:05:52 +0000 (21:05 +0100)
The return value from nl80211_send_station() is the length of the
skb, or a negative error, so abort sending the message only when
the return value was negative.

This fixes the ibss_rsn wpa_supplicant test case.

Reported-by: Jouni Malinen <j@w1.fi>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/nl80211.c

index 8e56eeb583aaa05e06a607d098d9ef2c00e81dd7..c5661c5ad8f32817def75431bd8901a09189ccfe 100644 (file)
@@ -11788,7 +11788,7 @@ void cfg80211_del_sta_sinfo(struct net_device *dev, const u8 *mac_addr,
                return;
 
        if (nl80211_send_station(msg, NL80211_CMD_DEL_STATION, 0, 0, 0,
-                                rdev, dev, mac_addr, sinfo)) {
+                                rdev, dev, mac_addr, sinfo) < 0) {
                nlmsg_free(msg);
                return;
        }