diff options
author | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
---|---|---|
committer | Jonathan Herman <hermanjl@cs.unc.edu> | 2013-01-17 16:15:55 -0500 |
commit | 8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch) | |
tree | a8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/net/wireless/hostap | |
parent | 406089d01562f1e2bf9f089fd7637009ebaad589 (diff) |
Patched in Tegra support.
Diffstat (limited to 'drivers/net/wireless/hostap')
-rw-r--r-- | drivers/net/wireless/hostap/hostap_80211_rx.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_80211_tx.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_ap.c | 6 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_cs.c | 3 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_hw.c | 32 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_info.c | 5 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_ioctl.c | 20 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_main.c | 11 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_pci.c | 16 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_plx.c | 16 | ||||
-rw-r--r-- | drivers/net/wireless/hostap/hostap_proc.c | 4 |
11 files changed, 74 insertions, 43 deletions
diff --git a/drivers/net/wireless/hostap/hostap_80211_rx.c b/drivers/net/wireless/hostap/hostap_80211_rx.c index d39e3e24077..e0b3e8d406b 100644 --- a/drivers/net/wireless/hostap/hostap_80211_rx.c +++ b/drivers/net/wireless/hostap/hostap_80211_rx.c | |||
@@ -1,6 +1,5 @@ | |||
1 | #include <linux/etherdevice.h> | 1 | #include <linux/etherdevice.h> |
2 | #include <linux/slab.h> | 2 | #include <linux/slab.h> |
3 | #include <linux/export.h> | ||
4 | #include <net/lib80211.h> | 3 | #include <net/lib80211.h> |
5 | #include <linux/if_arp.h> | 4 | #include <linux/if_arp.h> |
6 | 5 | ||
@@ -415,7 +414,7 @@ static void hostap_rx_sta_beacon(local_info_t *local, struct sk_buff *skb, | |||
415 | ssid = pos + 2; | 414 | ssid = pos + 2; |
416 | ssid_len = pos[1]; | 415 | ssid_len = pos[1]; |
417 | break; | 416 | break; |
418 | case WLAN_EID_VENDOR_SPECIFIC: | 417 | case WLAN_EID_GENERIC: |
419 | if (pos[1] >= 4 && | 418 | if (pos[1] >= 4 && |
420 | pos[2] == 0x00 && pos[3] == 0x50 && | 419 | pos[2] == 0x00 && pos[3] == 0x50 && |
421 | pos[4] == 0xf2 && pos[5] == 1) { | 420 | pos[4] == 0xf2 && pos[5] == 1) { |
diff --git a/drivers/net/wireless/hostap/hostap_80211_tx.c b/drivers/net/wireless/hostap/hostap_80211_tx.c index 344a981a052..c34a3b7f129 100644 --- a/drivers/net/wireless/hostap/hostap_80211_tx.c +++ b/drivers/net/wireless/hostap/hostap_80211_tx.c | |||
@@ -1,5 +1,4 @@ | |||
1 | #include <linux/slab.h> | 1 | #include <linux/slab.h> |
2 | #include <linux/export.h> | ||
3 | 2 | ||
4 | #include "hostap_80211.h" | 3 | #include "hostap_80211.h" |
5 | #include "hostap_common.h" | 4 | #include "hostap_common.h" |
diff --git a/drivers/net/wireless/hostap/hostap_ap.c b/drivers/net/wireless/hostap/hostap_ap.c index c6ea995750d..3d05dc15c6b 100644 --- a/drivers/net/wireless/hostap/hostap_ap.c +++ b/drivers/net/wireless/hostap/hostap_ap.c | |||
@@ -21,8 +21,6 @@ | |||
21 | #include <linux/random.h> | 21 | #include <linux/random.h> |
22 | #include <linux/if_arp.h> | 22 | #include <linux/if_arp.h> |
23 | #include <linux/slab.h> | 23 | #include <linux/slab.h> |
24 | #include <linux/export.h> | ||
25 | #include <linux/moduleparam.h> | ||
26 | 24 | ||
27 | #include "hostap_wlan.h" | 25 | #include "hostap_wlan.h" |
28 | #include "hostap.h" | 26 | #include "hostap.h" |
@@ -860,10 +858,10 @@ void hostap_free_data(struct ap_data *ap) | |||
860 | return; | 858 | return; |
861 | } | 859 | } |
862 | 860 | ||
863 | flush_work(&ap->add_sta_proc_queue); | 861 | flush_work_sync(&ap->add_sta_proc_queue); |
864 | 862 | ||
865 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT | 863 | #ifndef PRISM2_NO_KERNEL_IEEE80211_MGMT |
866 | flush_work(&ap->wds_oper_queue); | 864 | flush_work_sync(&ap->wds_oper_queue); |
867 | if (ap->crypt) | 865 | if (ap->crypt) |
868 | ap->crypt->deinit(ap->crypt_priv); | 866 | ap->crypt->deinit(ap->crypt_priv); |
869 | ap->crypt = ap->crypt_priv = NULL; | 867 | ap->crypt = ap->crypt_priv = NULL; |
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c index 89e9d3a78c3..5441ad19511 100644 --- a/drivers/net/wireless/hostap/hostap_cs.c +++ b/drivers/net/wireless/hostap/hostap_cs.c | |||
@@ -656,9 +656,6 @@ static const struct pcmcia_device_id hostap_cs_ids[] = { | |||
656 | "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02", | 656 | "Addtron", "AWP-100 Wireless PCMCIA", "Version 01.02", |
657 | 0xe6ec52ce, 0x08649af2, 0x4b74baa0), | 657 | 0xe6ec52ce, 0x08649af2, 0x4b74baa0), |
658 | PCMCIA_DEVICE_PROD_ID123( | 658 | PCMCIA_DEVICE_PROD_ID123( |
659 | "Canon", "Wireless LAN CF Card K30225", "Version 01.00", | ||
660 | 0x96ef6fe2, 0x263fcbab, 0xa57adb8c), | ||
661 | PCMCIA_DEVICE_PROD_ID123( | ||
662 | "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02", | 659 | "D", "Link DWL-650 11Mbps WLAN Card", "Version 01.02", |
663 | 0x71b18589, 0xb6f1b0ab, 0x4b74baa0), | 660 | 0x71b18589, 0xb6f1b0ab, 0x4b74baa0), |
664 | PCMCIA_DEVICE_PROD_ID123( | 661 | PCMCIA_DEVICE_PROD_ID123( |
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c index 8e7000fd441..a8bddd81b4d 100644 --- a/drivers/net/wireless/hostap/hostap_hw.c +++ b/drivers/net/wireless/hostap/hostap_hw.c | |||
@@ -347,9 +347,11 @@ static int hfa384x_cmd(struct net_device *dev, u16 cmd, u16 param0, | |||
347 | return -EINTR; | 347 | return -EINTR; |
348 | 348 | ||
349 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); | 349 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); |
350 | if (entry == NULL) | 350 | if (entry == NULL) { |
351 | printk(KERN_DEBUG "%s: hfa384x_cmd - kmalloc failed\n", | ||
352 | dev->name); | ||
351 | return -ENOMEM; | 353 | return -ENOMEM; |
352 | 354 | } | |
353 | atomic_set(&entry->usecnt, 1); | 355 | atomic_set(&entry->usecnt, 1); |
354 | entry->type = CMD_SLEEP; | 356 | entry->type = CMD_SLEEP; |
355 | entry->cmd = cmd; | 357 | entry->cmd = cmd; |
@@ -513,9 +515,11 @@ static int hfa384x_cmd_callback(struct net_device *dev, u16 cmd, u16 param0, | |||
513 | } | 515 | } |
514 | 516 | ||
515 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); | 517 | entry = kzalloc(sizeof(*entry), GFP_ATOMIC); |
516 | if (entry == NULL) | 518 | if (entry == NULL) { |
519 | printk(KERN_DEBUG "%s: hfa384x_cmd_callback - kmalloc " | ||
520 | "failed\n", dev->name); | ||
517 | return -ENOMEM; | 521 | return -ENOMEM; |
518 | 522 | } | |
519 | atomic_set(&entry->usecnt, 1); | 523 | atomic_set(&entry->usecnt, 1); |
520 | entry->type = CMD_CALLBACK; | 524 | entry->type = CMD_CALLBACK; |
521 | entry->cmd = cmd; | 525 | entry->cmd = cmd; |
@@ -1466,7 +1470,7 @@ static int prism2_hw_enable(struct net_device *dev, int initial) | |||
1466 | * before it starts acting as an AP, so reset port automatically | 1470 | * before it starts acting as an AP, so reset port automatically |
1467 | * here just in case */ | 1471 | * here just in case */ |
1468 | if (initial && prism2_reset_port(dev)) { | 1472 | if (initial && prism2_reset_port(dev)) { |
1469 | printk("%s: MAC port 0 resetting failed\n", dev->name); | 1473 | printk("%s: MAC port 0 reseting failed\n", dev->name); |
1470 | return 1; | 1474 | return 1; |
1471 | } | 1475 | } |
1472 | 1476 | ||
@@ -1557,7 +1561,7 @@ static void prism2_hw_reset(struct net_device *dev) | |||
1557 | static long last_reset = 0; | 1561 | static long last_reset = 0; |
1558 | 1562 | ||
1559 | /* do not reset card more than once per second to avoid ending up in a | 1563 | /* do not reset card more than once per second to avoid ending up in a |
1560 | * busy loop resetting the card */ | 1564 | * busy loop reseting the card */ |
1561 | if (time_before_eq(jiffies, last_reset + HZ)) | 1565 | if (time_before_eq(jiffies, last_reset + HZ)) |
1562 | return; | 1566 | return; |
1563 | last_reset = jiffies; | 1567 | last_reset = jiffies; |
@@ -2974,9 +2978,11 @@ static int prism2_set_tim(struct net_device *dev, int aid, int set) | |||
2974 | local = iface->local; | 2978 | local = iface->local; |
2975 | 2979 | ||
2976 | new_entry = kzalloc(sizeof(*new_entry), GFP_ATOMIC); | 2980 | new_entry = kzalloc(sizeof(*new_entry), GFP_ATOMIC); |
2977 | if (new_entry == NULL) | 2981 | if (new_entry == NULL) { |
2982 | printk(KERN_DEBUG "%s: prism2_set_tim: kmalloc failed\n", | ||
2983 | local->dev->name); | ||
2978 | return -ENOMEM; | 2984 | return -ENOMEM; |
2979 | 2985 | } | |
2980 | new_entry->aid = aid; | 2986 | new_entry->aid = aid; |
2981 | new_entry->set = set; | 2987 | new_entry->set = set; |
2982 | 2988 | ||
@@ -3311,13 +3317,13 @@ static void prism2_free_local_data(struct net_device *dev) | |||
3311 | 3317 | ||
3312 | unregister_netdev(local->dev); | 3318 | unregister_netdev(local->dev); |
3313 | 3319 | ||
3314 | flush_work(&local->reset_queue); | 3320 | flush_work_sync(&local->reset_queue); |
3315 | flush_work(&local->set_multicast_list_queue); | 3321 | flush_work_sync(&local->set_multicast_list_queue); |
3316 | flush_work(&local->set_tim_queue); | 3322 | flush_work_sync(&local->set_tim_queue); |
3317 | #ifndef PRISM2_NO_STATION_MODES | 3323 | #ifndef PRISM2_NO_STATION_MODES |
3318 | flush_work(&local->info_queue); | 3324 | flush_work_sync(&local->info_queue); |
3319 | #endif | 3325 | #endif |
3320 | flush_work(&local->comms_qual_update); | 3326 | flush_work_sync(&local->comms_qual_update); |
3321 | 3327 | ||
3322 | lib80211_crypt_info_free(&local->crypt_info); | 3328 | lib80211_crypt_info_free(&local->crypt_info); |
3323 | 3329 | ||
diff --git a/drivers/net/wireless/hostap/hostap_info.c b/drivers/net/wireless/hostap/hostap_info.c index 970a48baaf8..d737091cf6a 100644 --- a/drivers/net/wireless/hostap/hostap_info.c +++ b/drivers/net/wireless/hostap/hostap_info.c | |||
@@ -3,8 +3,6 @@ | |||
3 | #include <linux/if_arp.h> | 3 | #include <linux/if_arp.h> |
4 | #include <linux/sched.h> | 4 | #include <linux/sched.h> |
5 | #include <linux/slab.h> | 5 | #include <linux/slab.h> |
6 | #include <linux/export.h> | ||
7 | #include <linux/etherdevice.h> | ||
8 | #include "hostap_wlan.h" | 6 | #include "hostap_wlan.h" |
9 | #include "hostap.h" | 7 | #include "hostap.h" |
10 | #include "hostap_ap.h" | 8 | #include "hostap_ap.h" |
@@ -464,7 +462,8 @@ static void handle_info_queue_scanresults(local_info_t *local) | |||
464 | prism2_host_roaming(local); | 462 | prism2_host_roaming(local); |
465 | 463 | ||
466 | if (local->host_roaming == 2 && local->iw_mode == IW_MODE_INFRA && | 464 | if (local->host_roaming == 2 && local->iw_mode == IW_MODE_INFRA && |
467 | !is_zero_ether_addr(local->preferred_ap)) { | 465 | memcmp(local->preferred_ap, "\x00\x00\x00\x00\x00\x00", |
466 | ETH_ALEN) != 0) { | ||
468 | /* | 467 | /* |
469 | * Firmware seems to be getting into odd state in host_roaming | 468 | * Firmware seems to be getting into odd state in host_roaming |
470 | * mode 2 when hostscan is used without join command, so try | 469 | * mode 2 when hostscan is used without join command, so try |
diff --git a/drivers/net/wireless/hostap/hostap_ioctl.c b/drivers/net/wireless/hostap/hostap_ioctl.c index ac074731335..12de46407c7 100644 --- a/drivers/net/wireless/hostap/hostap_ioctl.c +++ b/drivers/net/wireless/hostap/hostap_ioctl.c | |||
@@ -5,8 +5,6 @@ | |||
5 | #include <linux/sched.h> | 5 | #include <linux/sched.h> |
6 | #include <linux/ethtool.h> | 6 | #include <linux/ethtool.h> |
7 | #include <linux/if_arp.h> | 7 | #include <linux/if_arp.h> |
8 | #include <linux/module.h> | ||
9 | #include <linux/etherdevice.h> | ||
10 | #include <net/lib80211.h> | 8 | #include <net/lib80211.h> |
11 | 9 | ||
12 | #include "hostap_wlan.h" | 10 | #include "hostap_wlan.h" |
@@ -3222,7 +3220,8 @@ static int prism2_ioctl_siwencodeext(struct net_device *dev, | |||
3222 | return -EINVAL; | 3220 | return -EINVAL; |
3223 | 3221 | ||
3224 | addr = ext->addr.sa_data; | 3222 | addr = ext->addr.sa_data; |
3225 | if (is_broadcast_ether_addr(addr)) { | 3223 | if (addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff && |
3224 | addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff) { | ||
3226 | sta_ptr = NULL; | 3225 | sta_ptr = NULL; |
3227 | crypt = &local->crypt_info.crypt[i]; | 3226 | crypt = &local->crypt_info.crypt[i]; |
3228 | } else { | 3227 | } else { |
@@ -3394,7 +3393,8 @@ static int prism2_ioctl_giwencodeext(struct net_device *dev, | |||
3394 | i--; | 3393 | i--; |
3395 | 3394 | ||
3396 | addr = ext->addr.sa_data; | 3395 | addr = ext->addr.sa_data; |
3397 | if (is_broadcast_ether_addr(addr)) { | 3396 | if (addr[0] == 0xff && addr[1] == 0xff && addr[2] == 0xff && |
3397 | addr[3] == 0xff && addr[4] == 0xff && addr[5] == 0xff) { | ||
3398 | sta_ptr = NULL; | 3398 | sta_ptr = NULL; |
3399 | crypt = &local->crypt_info.crypt[i]; | 3399 | crypt = &local->crypt_info.crypt[i]; |
3400 | } else { | 3400 | } else { |
@@ -3457,7 +3457,9 @@ static int prism2_ioctl_set_encryption(local_info_t *local, | |||
3457 | param->u.crypt.key_len) | 3457 | param->u.crypt.key_len) |
3458 | return -EINVAL; | 3458 | return -EINVAL; |
3459 | 3459 | ||
3460 | if (is_broadcast_ether_addr(param->sta_addr)) { | 3460 | if (param->sta_addr[0] == 0xff && param->sta_addr[1] == 0xff && |
3461 | param->sta_addr[2] == 0xff && param->sta_addr[3] == 0xff && | ||
3462 | param->sta_addr[4] == 0xff && param->sta_addr[5] == 0xff) { | ||
3461 | if (param->u.crypt.idx >= WEP_KEYS) | 3463 | if (param->u.crypt.idx >= WEP_KEYS) |
3462 | return -EINVAL; | 3464 | return -EINVAL; |
3463 | sta_ptr = NULL; | 3465 | sta_ptr = NULL; |
@@ -3590,7 +3592,9 @@ static int prism2_ioctl_get_encryption(local_info_t *local, | |||
3590 | if (max_key_len < 0) | 3592 | if (max_key_len < 0) |
3591 | return -EINVAL; | 3593 | return -EINVAL; |
3592 | 3594 | ||
3593 | if (is_broadcast_ether_addr(param->sta_addr)) { | 3595 | if (param->sta_addr[0] == 0xff && param->sta_addr[1] == 0xff && |
3596 | param->sta_addr[2] == 0xff && param->sta_addr[3] == 0xff && | ||
3597 | param->sta_addr[4] == 0xff && param->sta_addr[5] == 0xff) { | ||
3594 | sta_ptr = NULL; | 3598 | sta_ptr = NULL; |
3595 | if (param->u.crypt.idx >= WEP_KEYS) | 3599 | if (param->u.crypt.idx >= WEP_KEYS) |
3596 | param->u.crypt.idx = local->crypt_info.tx_keyidx; | 3600 | param->u.crypt.idx = local->crypt_info.tx_keyidx; |
@@ -3867,8 +3871,8 @@ static void prism2_get_drvinfo(struct net_device *dev, | |||
3867 | iface = netdev_priv(dev); | 3871 | iface = netdev_priv(dev); |
3868 | local = iface->local; | 3872 | local = iface->local; |
3869 | 3873 | ||
3870 | strlcpy(info->driver, "hostap", sizeof(info->driver)); | 3874 | strncpy(info->driver, "hostap", sizeof(info->driver) - 1); |
3871 | snprintf(info->fw_version, sizeof(info->fw_version), | 3875 | snprintf(info->fw_version, sizeof(info->fw_version) - 1, |
3872 | "%d.%d.%d", (local->sta_fw_ver >> 16) & 0xff, | 3876 | "%d.%d.%d", (local->sta_fw_ver >> 16) & 0xff, |
3873 | (local->sta_fw_ver >> 8) & 0xff, | 3877 | (local->sta_fw_ver >> 8) & 0xff, |
3874 | local->sta_fw_ver & 0xff); | 3878 | local->sta_fw_ver & 0xff); |
diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c index 15f0fad39ad..89a116fba1d 100644 --- a/drivers/net/wireless/hostap/hostap_main.c +++ b/drivers/net/wireless/hostap/hostap_main.c | |||
@@ -244,7 +244,8 @@ u16 hostap_tx_callback_register(local_info_t *local, | |||
244 | unsigned long flags; | 244 | unsigned long flags; |
245 | struct hostap_tx_callback_info *entry; | 245 | struct hostap_tx_callback_info *entry; |
246 | 246 | ||
247 | entry = kmalloc(sizeof(*entry), GFP_KERNEL); | 247 | entry = kmalloc(sizeof(*entry), |
248 | GFP_ATOMIC); | ||
248 | if (entry == NULL) | 249 | if (entry == NULL) |
249 | return 0; | 250 | return 0; |
250 | 251 | ||
@@ -815,7 +816,7 @@ static const struct net_device_ops hostap_netdev_ops = { | |||
815 | .ndo_stop = prism2_close, | 816 | .ndo_stop = prism2_close, |
816 | .ndo_do_ioctl = hostap_ioctl, | 817 | .ndo_do_ioctl = hostap_ioctl, |
817 | .ndo_set_mac_address = prism2_set_mac_address, | 818 | .ndo_set_mac_address = prism2_set_mac_address, |
818 | .ndo_set_rx_mode = hostap_set_multicast_list, | 819 | .ndo_set_multicast_list = hostap_set_multicast_list, |
819 | .ndo_change_mtu = prism2_change_mtu, | 820 | .ndo_change_mtu = prism2_change_mtu, |
820 | .ndo_tx_timeout = prism2_tx_timeout, | 821 | .ndo_tx_timeout = prism2_tx_timeout, |
821 | .ndo_validate_addr = eth_validate_addr, | 822 | .ndo_validate_addr = eth_validate_addr, |
@@ -828,7 +829,7 @@ static const struct net_device_ops hostap_mgmt_netdev_ops = { | |||
828 | .ndo_stop = prism2_close, | 829 | .ndo_stop = prism2_close, |
829 | .ndo_do_ioctl = hostap_ioctl, | 830 | .ndo_do_ioctl = hostap_ioctl, |
830 | .ndo_set_mac_address = prism2_set_mac_address, | 831 | .ndo_set_mac_address = prism2_set_mac_address, |
831 | .ndo_set_rx_mode = hostap_set_multicast_list, | 832 | .ndo_set_multicast_list = hostap_set_multicast_list, |
832 | .ndo_change_mtu = prism2_change_mtu, | 833 | .ndo_change_mtu = prism2_change_mtu, |
833 | .ndo_tx_timeout = prism2_tx_timeout, | 834 | .ndo_tx_timeout = prism2_tx_timeout, |
834 | .ndo_validate_addr = eth_validate_addr, | 835 | .ndo_validate_addr = eth_validate_addr, |
@@ -841,7 +842,7 @@ static const struct net_device_ops hostap_master_ops = { | |||
841 | .ndo_stop = prism2_close, | 842 | .ndo_stop = prism2_close, |
842 | .ndo_do_ioctl = hostap_ioctl, | 843 | .ndo_do_ioctl = hostap_ioctl, |
843 | .ndo_set_mac_address = prism2_set_mac_address, | 844 | .ndo_set_mac_address = prism2_set_mac_address, |
844 | .ndo_set_rx_mode = hostap_set_multicast_list, | 845 | .ndo_set_multicast_list = hostap_set_multicast_list, |
845 | .ndo_change_mtu = prism2_change_mtu, | 846 | .ndo_change_mtu = prism2_change_mtu, |
846 | .ndo_tx_timeout = prism2_tx_timeout, | 847 | .ndo_tx_timeout = prism2_tx_timeout, |
847 | .ndo_validate_addr = eth_validate_addr, | 848 | .ndo_validate_addr = eth_validate_addr, |
@@ -1084,7 +1085,7 @@ int prism2_sta_deauth(local_info_t *local, u16 reason) | |||
1084 | __le16 val = cpu_to_le16(reason); | 1085 | __le16 val = cpu_to_le16(reason); |
1085 | 1086 | ||
1086 | if (local->iw_mode != IW_MODE_INFRA || | 1087 | if (local->iw_mode != IW_MODE_INFRA || |
1087 | is_zero_ether_addr(local->bssid) || | 1088 | memcmp(local->bssid, "\x00\x00\x00\x00\x00\x00", ETH_ALEN) == 0 || |
1088 | memcmp(local->bssid, "\x44\x44\x44\x44\x44\x44", ETH_ALEN) == 0) | 1089 | memcmp(local->bssid, "\x44\x44\x44\x44\x44\x44", ETH_ALEN) == 0) |
1089 | return 0; | 1090 | return 0; |
1090 | 1091 | ||
diff --git a/drivers/net/wireless/hostap/hostap_pci.c b/drivers/net/wireless/hostap/hostap_pci.c index 05ca3402dca..972a9c3af39 100644 --- a/drivers/net/wireless/hostap/hostap_pci.c +++ b/drivers/net/wireless/hostap/hostap_pci.c | |||
@@ -457,4 +457,18 @@ static struct pci_driver prism2_pci_driver = { | |||
457 | #endif /* CONFIG_PM */ | 457 | #endif /* CONFIG_PM */ |
458 | }; | 458 | }; |
459 | 459 | ||
460 | module_pci_driver(prism2_pci_driver); | 460 | |
461 | static int __init init_prism2_pci(void) | ||
462 | { | ||
463 | return pci_register_driver(&prism2_pci_driver); | ||
464 | } | ||
465 | |||
466 | |||
467 | static void __exit exit_prism2_pci(void) | ||
468 | { | ||
469 | pci_unregister_driver(&prism2_pci_driver); | ||
470 | } | ||
471 | |||
472 | |||
473 | module_init(init_prism2_pci); | ||
474 | module_exit(exit_prism2_pci); | ||
diff --git a/drivers/net/wireless/hostap/hostap_plx.c b/drivers/net/wireless/hostap/hostap_plx.c index c3d067ee4db..33e79037770 100644 --- a/drivers/net/wireless/hostap/hostap_plx.c +++ b/drivers/net/wireless/hostap/hostap_plx.c | |||
@@ -616,4 +616,18 @@ static struct pci_driver prism2_plx_driver = { | |||
616 | .remove = prism2_plx_remove, | 616 | .remove = prism2_plx_remove, |
617 | }; | 617 | }; |
618 | 618 | ||
619 | module_pci_driver(prism2_plx_driver); | 619 | |
620 | static int __init init_prism2_plx(void) | ||
621 | { | ||
622 | return pci_register_driver(&prism2_plx_driver); | ||
623 | } | ||
624 | |||
625 | |||
626 | static void __exit exit_prism2_plx(void) | ||
627 | { | ||
628 | pci_unregister_driver(&prism2_plx_driver); | ||
629 | } | ||
630 | |||
631 | |||
632 | module_init(init_prism2_plx); | ||
633 | module_exit(exit_prism2_plx); | ||
diff --git a/drivers/net/wireless/hostap/hostap_proc.c b/drivers/net/wireless/hostap/hostap_proc.c index dc447c1b5ab..005ff25a405 100644 --- a/drivers/net/wireless/hostap/hostap_proc.c +++ b/drivers/net/wireless/hostap/hostap_proc.c | |||
@@ -2,7 +2,6 @@ | |||
2 | 2 | ||
3 | #include <linux/types.h> | 3 | #include <linux/types.h> |
4 | #include <linux/proc_fs.h> | 4 | #include <linux/proc_fs.h> |
5 | #include <linux/export.h> | ||
6 | #include <net/lib80211.h> | 5 | #include <net/lib80211.h> |
7 | 6 | ||
8 | #include "hostap_wlan.h" | 7 | #include "hostap_wlan.h" |
@@ -58,7 +57,8 @@ static int prism2_stats_proc_read(char *page, char **start, off_t off, | |||
58 | { | 57 | { |
59 | char *p = page; | 58 | char *p = page; |
60 | local_info_t *local = (local_info_t *) data; | 59 | local_info_t *local = (local_info_t *) data; |
61 | struct comm_tallies_sums *sums = &local->comm_tallies; | 60 | struct comm_tallies_sums *sums = (struct comm_tallies_sums *) |
61 | &local->comm_tallies; | ||
62 | 62 | ||
63 | if (off != 0) { | 63 | if (off != 0) { |
64 | *eof = 1; | 64 | *eof = 1; |