summaryrefslogtreecommitdiff
path: root/package/acx-mac80211/patches/005-pci_fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/acx-mac80211/patches/005-pci_fixes.patch')
-rw-r--r--package/acx-mac80211/patches/005-pci_fixes.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/package/acx-mac80211/patches/005-pci_fixes.patch b/package/acx-mac80211/patches/005-pci_fixes.patch
new file mode 100644
index 0000000..440ab53
--- /dev/null
+++ b/package/acx-mac80211/patches/005-pci_fixes.patch
@@ -0,0 +1,59 @@
+diff -urN acx-mac80211-20080805/acx_func.h acx-mac80211-20080805.new/acx_func.h
+--- acx-mac80211-20080805/acx_func.h 2009-05-07 16:36:37.000000000 +0200
++++ acx-mac80211-20080805.new/acx_func.h 2009-05-07 16:54:21.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);
+diff -urN acx-mac80211-20080805/common.c acx-mac80211-20080805.new/common.c
+--- acx-mac80211-20080805/common.c 2009-05-07 16:36:37.000000000 +0200
++++ acx-mac80211-20080805.new/common.c 2009-05-07 16:57:45.000000000 +0200
+@@ -4294,9 +4294,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;
+diff -urN acx-mac80211-20080805/pci.c acx-mac80211-20080805.new/pci.c
+--- acx-mac80211-20080805/pci.c 2009-05-07 16:39:39.000000000 +0200
++++ acx-mac80211-20080805.new/pci.c 2009-05-07 16:59:07.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 */