cfg80211: free sme on connection failures
authorEliad Peller <eliad@wizery.com>
Wed, 30 Apr 2014 12:58:13 +0000 (15:58 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 5 May 2014 12:59:00 +0000 (14:59 +0200)
commitc1fbb258846dfc425507a093922d2d001e54c3ea
treeb7ada9451d01e4a7ca880e9952caccb2b1d40269
parentf4ebddf9abb1fb0add1ce8e9c0bc414f1c17d81d
cfg80211: free sme on connection failures

cfg80211 is notified about connection failures by
__cfg80211_connect_result() call. However, this
function currently does not free cfg80211 sme.

This results in hanging connection attempts in some cases

e.g. when mac80211 authentication attempt is denied,
we have this function call:
ieee80211_rx_mgmt_auth() -> cfg80211_rx_mlme_mgmt() ->
cfg80211_process_auth() -> cfg80211_sme_rx_auth() ->
__cfg80211_connect_result()

but cfg80211_sme_free() is never get called.

Fixes: ceca7b712 ("cfg80211: separate internal SME implementation")
Cc: stable@vger.kernel.org (3.10+)
Signed-off-by: Eliad Peller <eliadx.peller@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/sme.c