1
--- bcmwl-6.30.223.271+bdcom.orig/debian/patches/0007-nl80211-move-scan-API-to-wdev.patch
2
+++ bcmwl-6.30.223.271+bdcom/debian/patches/0007-nl80211-move-scan-API-to-wdev.patch
4
+From da8218544714e47fbbbdfb1335a936a20eee033b Mon Sep 17 00:00:00 2001
5
+From: Alberto Milone <alberto.milone@canonical.com>
6
+Date: Thu, 10 Jan 2013 17:48:45 +0100
7
+Subject: [PATCH 1/1] nl80211: move scan API to wdev
9
+based on linux.wireless commit fd0142844efa85d89017c89227a0f03de1eee327
10
+by Johannes Berg <johannes.berg@intel.com>.
12
+The new P2P Device will have to be able to scan for P2P search, so move
13
+scanning to use struct wireless_dev instead of struct net_device.
15
+ src/wl/sys/wl_cfg80211_hybrid.c | 13 +++++++++++--
16
+ 1 file changed, 11 insertions(+), 2 deletions(-)
18
+diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
19
+index c54ae87..6a55728 100644
20
+--- a/src/wl/sys/wl_cfg80211_hybrid.c
21
++++ b/src/wl/sys/wl_cfg80211_hybrid.c
22
+@@ -46,7 +46,10 @@ u32 wl_dbg_level = WL_DBG_ERR | WL_DBG_INFO;
24
+ static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
25
+ enum nl80211_iftype type, u32 *flags, struct vif_params *params);
26
+-static s32 wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
27
++static s32 wl_cfg80211_scan(struct wiphy *wiphy,
28
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
29
++ struct net_device *ndev,
31
+ struct cfg80211_scan_request *request);
32
+ static s32 wl_cfg80211_set_wiphy_params(struct wiphy *wiphy, u32 changed);
33
+ static s32 wl_cfg80211_join_ibss(struct wiphy *wiphy, struct net_device *dev,
34
+@@ -482,9 +485,15 @@ wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
38
+-wl_cfg80211_scan(struct wiphy *wiphy, struct net_device *ndev,
39
++wl_cfg80211_scan(struct wiphy *wiphy,
40
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 6, 0)
41
++ struct net_device *ndev,
43
+ struct cfg80211_scan_request *request)
45
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
46
++ struct net_device *ndev = request->wdev->netdev;
48
+ struct wl_cfg80211_priv *wl = ndev_to_wl(ndev);
49
+ struct cfg80211_ssid *ssids;
50
+ struct wl_cfg80211_scan_req *sr = wl_to_sr(wl);