mac80211: don't try to sleep in rate_control_rate_init()
authorJohannes Berg <johannes.berg@intel.com>
Mon, 23 Jan 2017 08:29:09 +0000 (09:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Dec 2017 21:01:53 +0000 (22:01 +0100)
[ Upstream commit 115865fa0826ed18ca04717cf72d0fe874c0fe7f ]

In my previous patch, I missed that rate_control_rate_init() is
called from some places that cannot sleep, so it cannot call
ieee80211_recalc_min_chandef(). Remove that call for now to fix
the context bug, we'll have to find a different way to fix the
minimum channel width issue.

Fixes: 96aa2e7cf126 ("mac80211: calculate min channel width correctly")
Reported-by: Xiaolong Ye (via lkp-robot) <xiaolong.ye@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/mac80211/rate.c

index 9e2641d4558753b7bf746388a971ac337cef9349..206698bc93f406939bb5d883b6ab2f04bc1a3bed 100644 (file)
@@ -40,8 +40,6 @@ void rate_control_rate_init(struct sta_info *sta)
 
        ieee80211_sta_set_rx_nss(sta);
 
-       ieee80211_recalc_min_chandef(sta->sdata);
-
        if (!ref)
                return;