summaryrefslogtreecommitdiff
path: root/recipes-kernel/wilc1000/files/wilcp1000_3.18_to_3.12_kernel.patch
blob: 00d1710132f79121be60391862a9e8fdcb528fa6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
diff -Naur old/linux_wlan.c new/linux_wlan.c
--- old/linux_wlan.c	2017-02-21 15:13:21.389041425 -0600
+++ new/linux_wlan.c	2017-02-21 15:37:12.987788018 -0600
@@ -262,12 +262,14 @@
 
 	for (i = 0; i < wilc->vif_num; i++) {
 		if (wilc->vif[i]->mode == STATION_MODE)
-			if (ether_addr_equal_unaligned(bssid,
-						       wilc->vif[i]->bssid))
+			if (memcmp(bssid,
+				   wilc->vif[i]->bssid,
+				   ETH_ALEN))
 				return wilc->vif[i]->ndev;
 		if (wilc->vif[i]->mode == AP_MODE)
-			if (ether_addr_equal_unaligned(bssid1,
-						       wilc->vif[i]->bssid))
+			if (memcmp(bssid1,
+				   wilc->vif[i]->bssid,
+				   ETH_ALEN))
 				return wilc->vif[i]->ndev;
 	}
 
diff -Naur old/wilc_wfi_cfgoperations.c new/wilc_wfi_cfgoperations.c
--- old/wilc_wfi_cfgoperations.c	2017-02-21 13:27:59.211945789 -0600
+++ new/wilc_wfi_cfgoperations.c	2017-02-21 14:19:01.230605864 -0600
@@ -249,7 +249,6 @@
 				    direct_scan) {
 					bss = cfg80211_inform_bss(wiphy,
 								  channel,
-								  CFG80211_BSS_FTYPE_UNKNOWN,
 								  network_info->bssid,
 								  network_info->tsf_hi,
 								  network_info->cap_info,
@@ -424,7 +423,6 @@
 						if (!(memcmp("DIRECT-", network_info->ssid, 7))) {
 							bss = cfg80211_inform_bss(wiphy,
 										  channel,
-										  CFG80211_BSS_FTYPE_UNKNOWN,
 										  network_info->bssid,
 										  network_info->tsf_hi,
 										  network_info->cap_info,
@@ -1510,7 +1508,7 @@
 
 
 					if ((buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_REQ || buff[P2P_PUB_ACTION_SUBTYPE] == GO_NEG_RSP) && (wilc_ie))	{
-						cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0);
+						cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size - 7, 0, GFP_ATOMIC);
 						return;
 					}
 					break;
@@ -1522,7 +1520,7 @@
 			}
 		}
 
-		cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size, 0);
+		cfg80211_rx_mgmt(priv->wdev, s32Freq, 0, buff, size, 0, GFP_ATOMIC);
 	}
 }
 
@@ -1616,14 +1614,16 @@
 
 static int mgmt_tx(struct wiphy *wiphy,
 		   struct wireless_dev *wdev,
-		   struct cfg80211_mgmt_tx_params *params,
+		   struct ieee80211_channel *chan,
+		   bool offchan,
+		   unsigned int wait,
+		   const u8 *buf,
+		   size_t len,
+		   bool no_cck,
+		   bool dont_wait_for_ack,
 		   u64 *cookie)
 {
-	struct ieee80211_channel *chan = params->chan;
-	unsigned int wait = params->wait;
-	const u8 *buf = params->buf;
-	size_t len = params->len;
-	const struct ieee80211_mgmt *mgmt;
+  	const struct ieee80211_mgmt *mgmt;
 	struct p2p_mgmt_data *mgmt_tx;
 	struct wilc_priv *priv;
 	struct host_if_drv *pstrWFIDrv;