• E
    mac80211: determine completed scan type by defined ops · 8bd2a248
    Eliad Peller 提交于
    In some cases, determining the completed scan type was
    done by testing the SCAN_HW_SCANNING flag.
    
    However, this doesn't take care for the case in which
    the hw scan was requested, but hasn't started yet (e.g.
    due to active remain_on_channel).
    
    Replace this test by checking whether ops->hw_scan is
    defined.
    
    This solves the following warning:
    
    WARNING: CPU: 0 PID: 3552 at net/mac80211/offchannel.c:156 __ieee80211_scan_completed+0x1b4/0x2dc [mac80211]()
    [<c001cd38>] (unwind_backtrace+0x0/0xf0)
    [<c00181d0>] (show_stack+0x10/0x14)
    [<c05c0d8c>] (dump_stack+0x78/0x94)
    [<c0047c08>] (warn_slowpath_common+0x68/0x8c)
    [<c0047c48>] (warn_slowpath_null+0x1c/0x24)
    [<bf4d4504>] (__ieee80211_scan_completed+0x1b4/0x2dc [mac80211])
    [<bf4d5a74>] (ieee80211_scan_cancel+0xe8/0x190 [mac80211])
    [<bf4df970>] (ieee80211_do_stop+0x63c/0x79c [mac80211])
    [<bf4dfae0>] (ieee80211_stop+0x10/0x18 [mac80211])
    [<c0504d84>] (__dev_close_many+0x84/0xcc)
    [<c0504df4>] (__dev_close+0x28/0x3c)
    [<c0509708>] (__dev_change_flags+0x78/0x144)
    [<c0509854>] (dev_change_flags+0x10/0x48)
    [<c055fe3c>] (devinet_ioctl+0x614/0x6d0)
    [<c04f22a0>] (sock_ioctl+0x5c/0x2a4)
    [<c0124eb4>] (do_vfs_ioctl+0x7c/0x5d8)
    [<c012547c>] (SyS_ioctl+0x6c/0x7c)
    Signed-off-by: NEliad Peller <eliad@wizery.com>
    Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
    8bd2a248
scan.c 28.2 KB