summaryrefslogtreecommitdiff
path: root/package/acx-mac80211/patches/005-pci_fixes.patch
blob: de407d81d005f696cbb289a9bdc41a79a7ea3af8 (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
Index: acx-mac80211-20080805/acx_func.h
===================================================================
--- acx-mac80211-20080805.orig/acx_func.h	2009-05-26 20:58:10.000000000 +0200
+++ acx-mac80211-20080805/acx_func.h	2009-05-26 20:58:11.000000000 +0200
@@ -623,7 +623,7 @@
 				struct ieee80211_vif *vif,
 				struct ieee80211_bss_conf *info,
 				u32 changes);
-int acx_net_config(struct ieee80211_hw* ieee, struct ieee80211_conf *conf);
+int acx_net_config(struct ieee80211_hw* ieee, u32 changed);
 int acx_net_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
 int acx_net_conf_tx(struct ieee80211_hw* ieee, u16 queue,
 		const struct ieee80211_tx_queue_params *params);
Index: acx-mac80211-20080805/common.c
===================================================================
--- acx-mac80211-20080805.orig/common.c	2009-05-26 20:58:10.000000000 +0200
+++ acx-mac80211-20080805/common.c	2009-05-26 20:58:11.000000000 +0200
@@ -4300,9 +4300,10 @@
 ** Derived from mac80211 code, p54, bcm43xx_mac80211
 **
 */
-int acx_net_config(struct ieee80211_hw *hw, struct ieee80211_conf *conf)
+int acx_net_config(struct ieee80211_hw *hw, u32 changed)
 {
 	acx_device_t *adev = ieee2adev(hw);
+	struct ieee80211_conf *conf = &hw->conf;
 	unsigned long flags;
 
 	FN_ENTER;
Index: acx-mac80211-20080805/pci.c
===================================================================
--- acx-mac80211-20080805.orig/pci.c	2009-05-26 20:58:10.000000000 +0200
+++ acx-mac80211-20080805/pci.c	2009-05-30 20:44:29.000000000 +0200
@@ -3105,7 +3105,7 @@
 
 	/* let chip do RTS/CTS handshaking before sending
 	 * in case packet size exceeds threshold */
-	if (info->flags & IEEE80211_TX_CTL_USE_RTS_CTS)
+	if (info->flags & IEEE80211_TX_RC_USE_RTS_CTS)
 		SET_BIT(Ctl2_8, DESC_CTL2_RTS);
 	else
 		CLEAR_BIT(Ctl2_8, DESC_CTL2_RTS);
@@ -3120,7 +3120,7 @@
 /*	put_txcr(adev, txdesc, clt, rate_cur);  deprecated by mac80211 */
 
 	txdesc->total_length = cpu_to_le16(len);
-	wlhdr_len = ieee80211_get_hdrlen(le16_to_cpu(wireless_header->frame_control));
+	wlhdr_len = ieee80211_hdrlen(le16_to_cpu(wireless_header->frame_control));
 	hostdesc2->length = cpu_to_le16(len - wlhdr_len);
 /*
 	if (!ieeectl->do_not_encrypt && ieeectl->key_idx>= 0)
@@ -3444,8 +3444,8 @@
 		/* And finally report upstream */
 		if (hostdesc)
 		{
-			info->status.excessive_retries = rts_failures;
-			info->status.retry_count = ack_failures;
+			//info->status.excessive_retries = rts_failures;
+			//info->status.retry_count = ack_failures;
 			ieee80211_tx_status(adev->ieee, hostdesc->skb);
 		}
 		/* update pointer for descr to be cleaned next */
@@ -4303,6 +4303,7 @@
 	}
 
 	acx_init_task_scheduler(adev);
+	adev->ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
 	result = ieee80211_register_hw(adev->ieee);
 	if (OK != result) {
 		printk("acx: ieee80211_register_hw() FAILED: %d\n", result);