make acx-mac80211 compile against latest compat-wireless, still does not work though ;)
SVN-Revision: 15690
This commit is contained in:
parent
d257bf48d8
commit
72694c21eb
3 changed files with 247 additions and 0 deletions
93
package/acx-mac80211/patches/003-if_types.patch
Normal file
93
package/acx-mac80211/patches/003-if_types.patch
Normal file
|
@ -0,0 +1,93 @@
|
|||
diff -urN acx-mac80211-20080805/acx_mac80211.h acx-mac80211-20080805.new/acx_mac80211.h
|
||||
--- acx-mac80211-20080805/acx_mac80211.h 2009-05-07 14:32:44.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/acx_mac80211.h 2009-05-07 15:59:45.000000000 +0200
|
||||
@@ -36,7 +36,7 @@
|
||||
/* Current BSSID (if any). */
|
||||
u8 *bssid;
|
||||
|
||||
- /* Interface type. (IEEE80211_IF_TYPE_XXX) */
|
||||
+ /* Interface type. (NL80211_IFTYPE_XXX) */
|
||||
int type;
|
||||
/* Counter of active monitor interfaces. */
|
||||
int monitor;
|
||||
diff -urN acx-mac80211-20080805/common.c acx-mac80211-20080805.new/common.c
|
||||
--- acx-mac80211-20080805/common.c 2009-05-07 14:32:44.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/common.c 2009-05-07 16:11:26.000000000 +0200
|
||||
@@ -4105,28 +4105,28 @@
|
||||
|
||||
if (adev->interface.operating) {
|
||||
switch (adev->interface.type) {
|
||||
- case IEEE80211_IF_TYPE_AP:
|
||||
+ case NL80211_IFTYPE_AP:
|
||||
if (adev->mode != ACX_MODE_3_AP)
|
||||
{
|
||||
adev->mode = ACX_MODE_3_AP;
|
||||
changed = 1;
|
||||
}
|
||||
break;
|
||||
- case IEEE80211_IF_TYPE_IBSS:
|
||||
+ case NL80211_IFTYPE_ADHOC:
|
||||
if (adev->mode != ACX_MODE_0_ADHOC)
|
||||
{
|
||||
adev->mode = ACX_MODE_0_ADHOC;
|
||||
changed = 1;
|
||||
}
|
||||
break;
|
||||
- case IEEE80211_IF_TYPE_STA:
|
||||
+ case NL80211_IFTYPE_STATION:
|
||||
if (adev->mode != ACX_MODE_2_STA)
|
||||
{
|
||||
adev->mode = ACX_MODE_2_STA;
|
||||
changed = 1;
|
||||
}
|
||||
break;
|
||||
- case IEEE80211_IF_TYPE_WDS:
|
||||
+ case NL80211_IFTYPE_WDS:
|
||||
default:
|
||||
if (adev->mode != ACX_MODE_OFF)
|
||||
{
|
||||
@@ -4136,7 +4136,7 @@
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
- if (adev->interface.type == IEEE80211_IF_TYPE_MNTR)
|
||||
+ if (adev->interface.type == NL80211_IFTYPE_MONITOR)
|
||||
{
|
||||
if (adev->mode != ACX_MODE_MONITOR)
|
||||
{
|
||||
@@ -4180,7 +4180,7 @@
|
||||
FN_ENTER;
|
||||
acx_lock(adev, flags);
|
||||
|
||||
- if (conf->type == IEEE80211_IF_TYPE_MNTR) {
|
||||
+ if (conf->type == NL80211_IFTYPE_MONITOR) {
|
||||
adev->interface.monitor++;
|
||||
} else {
|
||||
if (adev->interface.operating)
|
||||
@@ -4226,7 +4226,7 @@
|
||||
FN_ENTER;
|
||||
|
||||
acx_sem_lock(adev);
|
||||
- if (conf->type == IEEE80211_IF_TYPE_MNTR) {
|
||||
+ if (conf->type == NL80211_IFTYPE_MONITOR) {
|
||||
adev->interface.monitor--;
|
||||
// assert(bcm->interface.monitor >= 0);
|
||||
} else {
|
||||
@@ -4380,7 +4380,7 @@
|
||||
|
||||
acx_lock(adev, flags);
|
||||
|
||||
- if ((vif->type != IEEE80211_IF_TYPE_MNTR)
|
||||
+ if ((vif->type != NL80211_IFTYPE_MONITOR)
|
||||
&& (adev->vif == vif)) {
|
||||
if (conf->bssid)
|
||||
{
|
||||
@@ -4388,7 +4388,7 @@
|
||||
MAC_COPY(adev->bssid,conf->bssid);
|
||||
}
|
||||
}
|
||||
- if ((vif->type == IEEE80211_IF_TYPE_AP)
|
||||
+ if ((vif->type == NL80211_IFTYPE_AP)
|
||||
&& (adev->vif == vif)) {
|
||||
if ((conf->ssid_len > 0) && conf->ssid)
|
||||
{
|
|
@ -0,0 +1,95 @@
|
|||
diff -urN acx-mac80211-20080805/acx_func.h acx-mac80211-20080805.new/acx_func.h
|
||||
--- acx-mac80211-20080805/acx_func.h 2009-05-07 14:32:44.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/acx_func.h 2009-05-07 16:28:17.000000000 +0200
|
||||
@@ -619,9 +619,10 @@
|
||||
enum set_key_cmd cmd,
|
||||
const u8 *local_addr, const u8 *addr,
|
||||
struct ieee80211_key_conf *key);
|
||||
-extern int acx_config_interface(struct ieee80211_hw* ieee,
|
||||
+void acx_config_interface(struct ieee80211_hw* ieee,
|
||||
struct ieee80211_vif *vif,
|
||||
- struct ieee80211_if_conf *conf);
|
||||
+ struct ieee80211_bss_conf *info,
|
||||
+ u32 changes);
|
||||
int acx_net_config(struct ieee80211_hw* ieee, struct ieee80211_conf *conf);
|
||||
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,
|
||||
diff -urN acx-mac80211-20080805/common.c acx-mac80211-20080805.new/common.c
|
||||
--- acx-mac80211-20080805/common.c 2009-05-07 16:20:37.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/common.c 2009-05-07 16:35:55.000000000 +0200
|
||||
@@ -4364,9 +4364,10 @@
|
||||
**
|
||||
*/
|
||||
|
||||
-extern int acx_config_interface(struct ieee80211_hw* ieee,
|
||||
+void acx_config_interface(struct ieee80211_hw* ieee,
|
||||
struct ieee80211_vif *vif,
|
||||
- struct ieee80211_if_conf *conf)
|
||||
+ struct ieee80211_bss_conf *info,
|
||||
+ u32 changes)
|
||||
{
|
||||
acx_device_t *adev = ieee2adev(ieee);
|
||||
unsigned long flags;
|
||||
@@ -4382,22 +4383,22 @@
|
||||
|
||||
if ((vif->type != NL80211_IFTYPE_MONITOR)
|
||||
&& (adev->vif == vif)) {
|
||||
- if (conf->bssid)
|
||||
+ if (info->bssid)
|
||||
{
|
||||
- adev->interface.bssid = conf->bssid;
|
||||
- MAC_COPY(adev->bssid,conf->bssid);
|
||||
+ adev->interface.bssid = info->bssid;
|
||||
+ MAC_COPY(adev->bssid, info->bssid);
|
||||
}
|
||||
}
|
||||
if ((vif->type == NL80211_IFTYPE_AP)
|
||||
&& (adev->vif == vif)) {
|
||||
- if ((conf->ssid_len > 0) && conf->ssid)
|
||||
+ if (info->bssid)
|
||||
{
|
||||
- adev->essid_len = conf->ssid_len;
|
||||
- memcpy(adev->essid, conf->ssid, conf->ssid_len);
|
||||
+ adev->essid_len = ETH_ALEN;
|
||||
+ memcpy(adev->essid, info->bssid, ETH_ALEN);
|
||||
SET_BIT(adev->set_mask, SET_TEMPLATES);
|
||||
}
|
||||
}
|
||||
- if (conf->changed & IEEE80211_IFCC_BEACON)
|
||||
+ if (changes & BSS_CHANGED_BSSID)
|
||||
{
|
||||
adev->beacon_interval = DEFAULT_BEACON_INTERVAL;
|
||||
adev->beacon_cache = ieee80211_beacon_get(ieee, vif);
|
||||
@@ -4412,7 +4413,7 @@
|
||||
err = 0;
|
||||
err_out:
|
||||
FN_EXIT1(err);
|
||||
- return err;
|
||||
+ return;
|
||||
}
|
||||
|
||||
/**
|
||||
diff -urN acx-mac80211-20080805/pci.c acx-mac80211-20080805.new/pci.c
|
||||
--- acx-mac80211-20080805/pci.c 2009-05-07 14:32:44.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/pci.c 2009-05-07 16:27:27.000000000 +0200
|
||||
@@ -1469,7 +1469,7 @@
|
||||
.configure_filter = acx_i_set_multicast_list,
|
||||
.stop = acxpci_e_close,
|
||||
.config = acx_net_config,
|
||||
- .config_interface = acx_config_interface,
|
||||
+ .bss_info_changed = acx_config_interface,
|
||||
.set_key = acx_net_set_key,
|
||||
.get_stats = acx_e_get_stats,
|
||||
.get_tx_stats = acx_net_get_tx_stats,
|
||||
diff -urN acx-mac80211-20080805/usb.c acx-mac80211-20080805.new/usb.c
|
||||
--- acx-mac80211-20080805/usb.c 2009-05-07 14:32:44.000000000 +0200
|
||||
+++ acx-mac80211-20080805.new/usb.c 2009-05-07 16:27:38.000000000 +0200
|
||||
@@ -741,7 +741,7 @@
|
||||
.configure_filter = acx_i_set_multicast_list,
|
||||
.stop = acxusb_e_close,
|
||||
.config = acx_net_config,
|
||||
- .config_interface = acx_config_interface,
|
||||
+ .bss_info_changed = acx_config_interface,
|
||||
.set_key = acx_net_set_key,
|
||||
.get_stats = acx_e_get_stats,
|
||||
.get_tx_stats = acx_net_get_tx_stats,
|
59
package/acx-mac80211/patches/005-pci_fixes.patch
Normal file
59
package/acx-mac80211/patches/005-pci_fixes.patch
Normal file
|
@ -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 */
|
Loading…
Reference in a new issue