• Brian Cavagnolo's avatar
    mac80211: unset SDATA_STATE_OFFCHANNEL when cancelling a scan · 352ffad6
    Brian Cavagnolo authored
    For client STA interfaces, ieee80211_do_stop unsets the relevant
    interface's SDATA_STATE_RUNNING state bit prior to cancelling an
    interrupted scan.  When ieee80211_offchannel_return is invoked as
    part of cancelling the scan, it doesn't bother unsetting the
    SDATA_STATE_OFFCHANNEL bit because it sees that the interface is
    down.  Normally this doesn't matter because when the client STA
    interface is brought back up, it will probably issue a scan.  But
    in some cases (e.g., the user changes the interface type while it
    is down), the SDATA_STATE_OFFCHANNEL bit will remain set.  This
    prevents the interface queues from being started.  So we
    cancel the scan before unsetting the SDATA_STATE_RUNNING bit.
    Signed-off-by: default avatarBrian Cavagnolo <brian@cozybit.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
iface.c 35.5 KB