net80211: restore interface state check for IEEE80211_IOC_SCAN_REQ ioctl.
Do not try to start a scan when interface is not running. How-to-reproduce: 1) ifconfig wlan0 create wlandev urtwn0 2) wlandebug -i wlan0 state 3) ifconfig wlan0 scan
This commit is contained in:
parent
70ff509d20
commit
a9bd4b97f0
@ -2486,6 +2486,11 @@ ieee80211_scanreq(struct ieee80211vap *vap, struct ieee80211_scan_req *sr)
|
|||||||
* Otherwise just invoke the scan machinery directly.
|
* Otherwise just invoke the scan machinery directly.
|
||||||
*/
|
*/
|
||||||
IEEE80211_LOCK(ic);
|
IEEE80211_LOCK(ic);
|
||||||
|
if (ic->ic_nrunning == 0) {
|
||||||
|
IEEE80211_UNLOCK(ic);
|
||||||
|
return ENXIO;
|
||||||
|
}
|
||||||
|
|
||||||
if (vap->iv_state == IEEE80211_S_INIT) {
|
if (vap->iv_state == IEEE80211_S_INIT) {
|
||||||
/* NB: clobbers previous settings */
|
/* NB: clobbers previous settings */
|
||||||
vap->iv_scanreq_flags = sr->sr_flags;
|
vap->iv_scanreq_flags = sr->sr_flags;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user