cfg80211: copy hold when replacing BSS
When we receive a probe response frame we can replace the BSS struct in our list -- but if that struct is held then we need to hold the new one as well. We really should fix this completely and not replace the struct, but this is a bandaid for now. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7181d46737
commit
160002fe84
|
@ -364,6 +364,8 @@ cfg80211_bss_update(struct cfg80211_registered_device *dev,
|
|||
list_replace(&found->list, &res->list);
|
||||
rb_replace_node(&found->rbn, &res->rbn,
|
||||
&dev->bss_tree);
|
||||
/* XXX: workaround */
|
||||
res->hold = found->hold;
|
||||
kref_put(&found->ref, bss_release);
|
||||
found = res;
|
||||
} else if (found) {
|
||||
|
|
Loading…
Reference in New Issue