• Emmanuel Grumbach's avatar
    mac80211: fix virtual monitor interface addition · 34171dc0
    Emmanuel Grumbach authored
    Since the commit below, cfg80211_chandef_dfs_required()
    will warn if it gets a an NL80211_IFTYPE_UNSPECIFIED iftype
    as explicitely written in the commit log.
    When an virtual monitor interface is added, its type is set
    in ieee80211_sub_if_data.vif.type, but not in
    ieee80211_sub_if_data.wdev.iftype which is passed to
    cfg80211_chandef_dfs_required() hence resulting in the
    following warning:
    
    WARNING: CPU: 1 PID: 21265 at net/wireless/chan.c:376 cfg80211_chandef_dfs_required+0xbc/0x130 [cfg80211]()
    Modules linked in: [...]
    CPU: 1 PID: 21265 Comm: ifconfig Tainted: G        W  O 3.13.11+ #12
    Hardware name: Dell Inc. Latitude E6410/0667CC, BIOS A01 03/05/2010
     0000000000000009 ffff88008f5fdb08 ffffffff817d4219 ffff88008f5fdb50
     ffff88008f5fdb40 ffffffff8106f57d 0000000000000000 0000000000000000
     ffff880081062fb8 ffff8800810604e0 0000000000000001 ffff88008f5fdba0
    Call Trace:
     [<ffffffff817d4219>] dump_stack+0x4d/0x66
     [<ffffffff8106f57d>] warn_slowpath_common+0x7d/0xa0
     [<ffffffff8106f5ec>] warn_slowpath_fmt+0x4c/0x50
     [<ffffffffa04ea4ec>] cfg80211_chandef_dfs_required+0xbc/0x130 [cfg80211]
     [<ffffffffa06b1024>] ieee80211_vif_use_channel+0x94/0x500 [mac80211]
     [<ffffffffa0684e6b>] ieee80211_add_virtual_monitor+0x1ab/0x5c0 [mac80211]
     [<ffffffffa0686ae5>] ieee80211_do_open+0xe75/0x1580 [mac80211]
     [<ffffffffa0687259>] ieee80211_open+0x69/0x70 [mac80211]
    [snip]
    
    Fixes: 00ec75fc ("cfg80211: pass the actual iftype when calling cfg80211_chandef_dfs_required()")
    Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
    Acked-by: default avatarLuciano Coelho <luciano.coelho@intel.com>
    Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
    34171dc0
iface.c 46.9 KB