Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 160002fe authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

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: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7181d467
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -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) {