From 730a0d16bf2dd6f3d7450fd6ee7b27b0533f3696 Mon Sep 17 00:00:00 2001 From: Avraham Stern Date: Sun, 28 Dec 2014 21:14:57 -0500 Subject: [PATCH] nl80211: Always register management frames handler If registering WMM-AC ADDTS response action frame or WMM-AC DELTS action frame fails, the management frame handler is not being registered. This results with a segmentation fault when trying to unsubscribe the handler when the interface is removed. Fix it by always registering the handler and just returning a negative value to note that the action frame could not be registered. This fixes an issue introduced in the commit dfa8787833f0b237f954b01233cad3527f3d4805 ('nl80211: Implement add_ts/del_ts ops'). Signed-off-by: Avraham Stern --- src/drivers/driver_nl80211.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 74f5762..096779d 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -1830,11 +1830,11 @@ static int nl80211_mgmt_subscribe_non_ap(struct i802_bss *bss) /* WMM-AC ADDTS Response */ if (nl80211_register_action_frame(bss, (u8 *) "\x11\x01", 2) < 0) - return -1; + ret = -1; /* WMM-AC DELTS */ if (nl80211_register_action_frame(bss, (u8 *) "\x11\x02", 2) < 0) - return -1; + ret = -1; /* Radio Measurement - Neighbor Report Response */ if (nl80211_register_action_frame(bss, (u8 *) "\x05\x05", 2) < 0) -- 2.1.4