Эх сурвалжийг харах

mac80211: set bss_conf.idle when vif is connected

__ieee80211_recalc_idle() iterates through the vifs,
sets bss_conf.idle = true if they are disconnected,
and increases "count" if they are not (which later
gets evaluated in order to determine whether the
device is idle).

However, the loop doesn't set bss_conf.idle = false
(along with increasing "count"), causing the device
idle state and the vif idle state to get out of sync
in some cases.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Eliad Peller 13 жил өмнө
parent
commit
405385f8ce

+ 1 - 0
net/mac80211/iface.c

@@ -1314,6 +1314,7 @@ u32 __ieee80211_recalc_idle(struct ieee80211_local *local)
 			continue;
 			continue;
 		}
 		}
 		/* count everything else */
 		/* count everything else */
+		sdata->vif.bss_conf.idle = false;
 		count++;
 		count++;
 	}
 	}