Don't automatically start scanning in if_init() if IEEE80211_ROAMING_MANUAL
flag is set. MFC after: 1 week
This commit is contained in:
parent
017261026e
commit
e0454c269b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=149333
@ -1571,7 +1571,8 @@ iwi_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
|
||||
|
||||
if (error == ENETRESET) {
|
||||
if ((ifp->if_flags & IFF_UP) &&
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING))
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING) &&
|
||||
(ic->ic_roaming != IEEE80211_ROAMING_MANUAL))
|
||||
iwi_init(sc);
|
||||
error = 0;
|
||||
}
|
||||
@ -2271,10 +2272,11 @@ iwi_init(void *priv)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (ic->ic_opmode == IEEE80211_M_MONITOR)
|
||||
if (ic->ic_opmode != IEEE80211_M_MONITOR) {
|
||||
if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL)
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
} else
|
||||
ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
|
||||
else
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
|
||||
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
|
||||
ifp->if_drv_flags |= IFF_DRV_RUNNING;
|
||||
|
@ -2193,7 +2193,8 @@ ral_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
|
||||
|
||||
if (error == ENETRESET) {
|
||||
if ((ifp->if_flags & IFF_UP) &&
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING))
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING) &&
|
||||
(ic->ic_roaming != IEEE80211_ROAMING_MANUAL))
|
||||
ral_init(sc);
|
||||
error = 0;
|
||||
}
|
||||
@ -2766,10 +2767,11 @@ ral_init(void *priv)
|
||||
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
|
||||
ifp->if_drv_flags |= IFF_DRV_RUNNING;
|
||||
|
||||
if (ic->ic_opmode == IEEE80211_M_MONITOR)
|
||||
if (ic->ic_opmode != IEEE80211_M_MONITOR) {
|
||||
if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL)
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
} else
|
||||
ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
|
||||
else
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
#undef N
|
||||
}
|
||||
|
||||
|
@ -1408,7 +1408,8 @@ ural_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
|
||||
|
||||
if (error == ENETRESET) {
|
||||
if ((ifp->if_flags & IFF_UP) &&
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING))
|
||||
(ifp->if_drv_flags & IFF_DRV_RUNNING) &&
|
||||
(ic->ic_roaming != IEEE80211_ROAMING_MANUAL))
|
||||
ural_init(sc);
|
||||
error = 0;
|
||||
}
|
||||
@ -2038,10 +2039,11 @@ ural_init(void *priv)
|
||||
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
|
||||
ifp->if_drv_flags |= IFF_DRV_RUNNING;
|
||||
|
||||
if (ic->ic_opmode == IEEE80211_M_MONITOR)
|
||||
if (ic->ic_opmode != IEEE80211_M_MONITOR) {
|
||||
if (ic->ic_roaming != IEEE80211_ROAMING_MANUAL)
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
} else
|
||||
ieee80211_new_state(ic, IEEE80211_S_RUN, -1);
|
||||
else
|
||||
ieee80211_new_state(ic, IEEE80211_S_SCAN, -1);
|
||||
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user