cfg80211: fix BSS double-unlinking (continued)
authorJuuso Oikarinen <juuso.oikarinen@nokia.com>
Mon, 28 Mar 2011 11:32:32 +0000 (14:32 +0300)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 28 Mar 2011 19:42:02 +0000 (15:42 -0400)
commit2b78ac9bfc7483ba4bda9ad3d10dd4afcf88337c
treeda48e2e10050b2e535b908119bf60fe86b17b1e4
parentbef9bacc4ec7ea6a02876164cd6ccaa4759edce4
cfg80211: fix BSS double-unlinking (continued)

This patch adds to the fix "fix BSS double-unlinking"
(commit 3207390a8b58bfc1335750f91cf6783c48ca19ca) by Johannes Berg.

It turns out, that the double-unlinking scenario can also occur if expired
BSS elements are removed whilst an interface is performing association.

To work around that, replace list_del with list_del_init also in the
"cfg80211_bss_expire" function, so that the check for whether the BSS still is
in the list works correctly in cfg80211_unlink_bss.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/scan.c