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@xxxxxxxxxxxxxxxx> --- net/wireless/scan.c | 2 ++ 1 file changed, 2 insertions(+) --- wireless-testing.orig/net/wireless/scan.c 2009-04-16 12:12:08.000000000 +0200 +++ wireless-testing/net/wireless/scan.c 2009-04-16 12:12:21.000000000 +0200 @@ -364,6 +364,8 @@ cfg80211_bss_update(struct cfg80211_regi 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) { -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html