[ar7] migrate acx to netdev_ops, required for later kernels
[openwrt-10.03/.git] / package / acx-mac80211 / patches / 005-pci_fixes.patch
1 Index: acx-mac80211-20080805/acx_func.h
2 ===================================================================
3 --- acx-mac80211-20080805.orig/acx_func.h       2009-05-26 20:58:10.000000000 +0200
4 +++ acx-mac80211-20080805/acx_func.h    2009-05-26 20:58:11.000000000 +0200
5 @@ -623,7 +623,7 @@
6                                 struct ieee80211_vif *vif,
7                                 struct ieee80211_bss_conf *info,
8                                 u32 changes);
9 -int acx_net_config(struct ieee80211_hw* ieee, struct ieee80211_conf *conf);
10 +int acx_net_config(struct ieee80211_hw* ieee, u32 changed);
11  int acx_net_get_tx_stats(struct ieee80211_hw* ieee, struct ieee80211_tx_queue_stats *stats);
12  int acx_net_conf_tx(struct ieee80211_hw* ieee, u16 queue,
13                 const struct ieee80211_tx_queue_params *params);
14 Index: acx-mac80211-20080805/common.c
15 ===================================================================
16 --- acx-mac80211-20080805.orig/common.c 2009-05-26 20:58:10.000000000 +0200
17 +++ acx-mac80211-20080805/common.c      2009-05-26 20:58:11.000000000 +0200
18 @@ -4300,9 +4300,10 @@
19  ** Derived from mac80211 code, p54, bcm43xx_mac80211
20  **
21  */
22 -int acx_net_config(struct ieee80211_hw *hw, struct ieee80211_conf *conf)
23 +int acx_net_config(struct ieee80211_hw *hw, u32 changed)
24  {
25         acx_device_t *adev = ieee2adev(hw);
26 +       struct ieee80211_conf *conf = &hw->conf;
27         unsigned long flags;
28  
29         FN_ENTER;
30 Index: acx-mac80211-20080805/pci.c
31 ===================================================================
32 --- acx-mac80211-20080805.orig/pci.c    2009-05-26 20:58:10.000000000 +0200
33 +++ acx-mac80211-20080805/pci.c 2009-05-30 20:44:29.000000000 +0200
34 @@ -3105,7 +3105,7 @@
35  
36         /* let chip do RTS/CTS handshaking before sending
37          * in case packet size exceeds threshold */
38 -       if (info->flags & IEEE80211_TX_CTL_USE_RTS_CTS)
39 +       if (info->flags & IEEE80211_TX_RC_USE_RTS_CTS)
40                 SET_BIT(Ctl2_8, DESC_CTL2_RTS);
41         else
42                 CLEAR_BIT(Ctl2_8, DESC_CTL2_RTS);
43 @@ -3120,7 +3120,7 @@
44  /*     put_txcr(adev, txdesc, clt, rate_cur);  deprecated by mac80211 */
45  
46         txdesc->total_length = cpu_to_le16(len);
47 -       wlhdr_len = ieee80211_get_hdrlen(le16_to_cpu(wireless_header->frame_control));
48 +       wlhdr_len = ieee80211_hdrlen(le16_to_cpu(wireless_header->frame_control));
49         hostdesc2->length = cpu_to_le16(len - wlhdr_len);
50  /*
51         if (!ieeectl->do_not_encrypt && ieeectl->key_idx>= 0)
52 @@ -3444,8 +3444,8 @@
53                 /* And finally report upstream */
54                 if (hostdesc)
55                 {
56 -                       info->status.excessive_retries = rts_failures;
57 -                       info->status.retry_count = ack_failures;
58 +                       //info->status.excessive_retries = rts_failures;
59 +                       //info->status.retry_count = ack_failures;
60                         ieee80211_tx_status(adev->ieee, hostdesc->skb);
61                 }
62                 /* update pointer for descr to be cleaned next */
63 @@ -4303,6 +4303,7 @@
64         }
65  
66         acx_init_task_scheduler(adev);
67 +       adev->ieee->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION);
68         result = ieee80211_register_hw(adev->ieee);
69         if (OK != result) {
70                 printk("acx: ieee80211_register_hw() FAILED: %d\n", result);