]> git.baikalelectronics.ru Git - kernel.git/commit
mac80211: fix another suspend vs. association race
authorJohannes Berg <johannes.berg@intel.com>
Sun, 1 Mar 2015 07:10:03 +0000 (09:10 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 3 Mar 2015 14:56:08 +0000 (15:56 +0100)
commit8ddcc6c886775c05bd5c19072968a6569264cedd
treefc09a4fe3aab5d79b7529a239ccab3d1fe4d39f1
parent9b6f7e14738b8f31d726bcf5738445fcecd0dbcc
mac80211: fix another suspend vs. association race

Since cfg80211 disconnects, but has no insight into the association
process, it can happen that it disconnects while association is in
progress. We then try to abort association in mac80211, but this is
only later so the association can complete between the two.

This results in removing an interface from the driver while bound
to the channel context, obviously causing confusion and issues.

Solve this by also checking if we're associated during quiesce and
if so deauthenticating. The frame will no longer go out to the AP
which is a bit unfortunate, but it'll resolve the crash (and before
we would have suspended without telling the AP as well.)

I'm working on a better, but more complex solution as well, which
should avoid that problem.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/mlme.c