};
+#endif
- /* Look into using netdev destructor to shutdown ieee80211? */
+ /* Look into using netdev destructor to shutdown libipw? */
@@ -6126,7 +6128,16 @@ static struct net_device *ipw2100_alloc_
priv->ieee->perfect_rssi = -20;
net_dev->wireless_handlers = &ipw_wx_handler_def;
--- a/drivers/net/wireless/ipw2x00/libipw_module.c
+++ b/drivers/net/wireless/ipw2x00/libipw_module.c
-@@ -154,6 +154,10 @@ struct net_device *alloc_ieee80211(int s
+@@ -154,6 +154,10 @@ struct net_device *alloc_libipw(int size
goto failed;
}
ieee = netdev_priv(dev);
#include <linux/sched.h>
#include "rfkill.h"
-@@ -229,7 +233,7 @@ static int rfkill_connect(struct input_h
+@@ -232,7 +236,7 @@ static int rfkill_connect(struct input_h
handle->dev = dev;
handle->handler = handler;
static atomic_t rfkill_input_disabled = ATOMIC_INIT(0);
/**
-@@ -779,7 +779,7 @@ static int rfkill_resume(struct device *
+@@ -818,7 +818,7 @@ static int rfkill_resume(struct device *
}
static struct class rfkill_class = {
.dev_release = rfkill_release,
.dev_attrs = rfkill_dev_attrs,
.dev_uevent = rfkill_dev_uevent,
-@@ -925,7 +925,7 @@ int __must_check rfkill_register(struct
+@@ -964,7 +964,7 @@ int __must_check rfkill_register(struct
if (!rfkill->persistent || rfkill_epo_lock_active) {
schedule_work(&rfkill->sync_work);
} else {
bool soft_blocked = !!(rfkill->state & RFKILL_BLOCK_SW);
if (!atomic_read(&rfkill_input_disabled))
-@@ -1153,7 +1153,7 @@ static int rfkill_fop_release(struct ino
+@@ -1192,7 +1192,7 @@ static int rfkill_fop_release(struct ino
list_for_each_entry_safe(ev, tmp, &data->events, list)
kfree(ev);
if (data->input_handler)
if (atomic_dec_return(&rfkill_input_disabled) == 0)
printk(KERN_DEBUG "rfkill: input handler enabled\n");
-@@ -1164,7 +1164,7 @@ static int rfkill_fop_release(struct ino
+@@ -1203,7 +1203,7 @@ static int rfkill_fop_release(struct ino
return 0;
}
static long rfkill_fop_ioctl(struct file *file, unsigned int cmd,
unsigned long arg)
{
-@@ -1197,7 +1197,7 @@ static const struct file_operations rfki
+@@ -1236,7 +1236,7 @@ static const struct file_operations rfki
.write = rfkill_fop_write,
.poll = rfkill_fop_poll,
.release = rfkill_fop_release,
.unlocked_ioctl = rfkill_fop_ioctl,
.compat_ioctl = rfkill_fop_ioctl,
#endif
-@@ -1227,7 +1227,7 @@ static int __init rfkill_init(void)
+@@ -1266,7 +1266,7 @@ static int __init rfkill_init(void)
goto out;
}
error = rfkill_handler_init();
if (error) {
misc_deregister(&rfkill_miscdev);
-@@ -1243,7 +1243,7 @@ subsys_initcall(rfkill_init);
+@@ -1282,7 +1282,7 @@ subsys_initcall(rfkill_init);
static void __exit rfkill_exit(void)
{
#include <net/cfg80211.h>
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -3224,7 +3224,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
+@@ -3232,7 +3232,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw
pCap->hw_caps |= ATH9K_HW_CAP_ENHANCEDPM;
+++ b/drivers/net/wireless/iwlwifi/Makefile
@@ -11,7 +11,7 @@ CFLAGS_iwl-devtrace.o := -I$(src)
obj-$(CONFIG_IWLAGN) += iwlagn.o
- iwlagn-objs := iwl-agn.o iwl-agn-rs.o iwl-agn-led.o
+ iwlagn-objs := iwl-agn.o iwl-agn-rs.o iwl-agn-led.o iwl-agn-ict.o
-iwlagn-$(CONFIG_IWL4965) += iwl-4965.o
+iwlagn-$(CONFIG_COMPAT_IWL4965) += iwl-4965.o
iwlagn-$(CONFIG_IWL5000) += iwl-1000.o
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
-@@ -3796,10 +3796,10 @@ static void __devexit iwl_pci_remove(str
+@@ -3689,10 +3689,10 @@ static void __devexit iwl_pci_remove(str
/* Hardware specific file defines the PCI IDs table for that hardware module */
static DEFINE_PCI_DEVICE_TABLE(iwl_hw_card_ids) = {
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -3915,8 +3915,13 @@ redo:
+@@ -3916,8 +3916,13 @@ redo:
if (dev->dev->bus->bustype == SSB_BUSTYPE_SDIO) {
b43_sdio_free_irq(dev);
} else {
}
mutex_lock(&wl->mutex);
dev = wl->current_dev;
-@@ -3956,9 +3961,17 @@ static int b43_wireless_core_start(struc
+@@ -3957,9 +3962,17 @@ static int b43_wireless_core_start(struc
goto out;
}
} else {
if (err) {
b43err(dev->wl, "Cannot request IRQ-%d\n", dev->dev->irq);
goto out;
-@@ -4663,6 +4676,10 @@ static int b43_setup_bands(struct b43_wl
+@@ -4664,6 +4677,10 @@ static int b43_setup_bands(struct b43_wl
static void b43_wireless_core_detach(struct b43_wldev *dev)
{
b43_release_firmware(dev);
--- a/drivers/net/wireless/b43/b43.h
+++ b/drivers/net/wireless/b43/b43.h
-@@ -754,6 +754,9 @@ struct b43_wldev {
+@@ -756,6 +756,9 @@ struct b43_wldev {
unsigned int tx_count;
unsigned int rx_count;
#endif
+}
+#endif
- SIMPLE_DEV_PM_OPS(ath5k_pm_ops, ath5k_pci_suspend, ath5k_pci_resume);
+ static SIMPLE_DEV_PM_OPS(ath5k_pm_ops, ath5k_pci_suspend, ath5k_pci_resume);
#define ATH5K_PM_OPS (&ath5k_pm_ops)
@@ -209,7 +236,12 @@ static struct pci_driver ath5k_pci_drive
.id_table = ath5k_pci_id_table,
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -2565,7 +2565,12 @@ void ieee80211_rx(struct ieee80211_hw *h
+@@ -2556,7 +2556,12 @@ void ieee80211_rx(struct ieee80211_hw *h
drop:
kfree_skb(skb);
}
#include <asm/system.h>
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
-@@ -471,7 +471,11 @@ drop:
+@@ -473,7 +473,11 @@ drop:
goto done;
}
{
struct hci_ufilter uf = { .opcode = 0 };
struct sock *sk = sock->sk;
-@@ -626,8 +630,12 @@ static struct proto hci_sk_proto = {
+@@ -628,8 +632,12 @@ static struct proto hci_sk_proto = {
.obj_size = sizeof(struct hci_pinfo)
};
--- a/net/bluetooth/hci_sysfs.c
+++ b/net/bluetooth/hci_sysfs.c
-@@ -68,7 +68,11 @@ static struct attribute_group bt_link_gr
+@@ -72,7 +72,11 @@ static struct attribute_group bt_link_gr
.attrs = bt_link_attrs,
};
&bt_link_group,
NULL
};
-@@ -126,7 +130,11 @@ static void del_conn(struct work_struct
+@@ -130,7 +134,11 @@ static void del_conn(struct work_struct
dev = device_find_child(&conn->dev, NULL, __match_tty);
if (!dev)
break;
put_device(dev);
}
-@@ -392,7 +400,11 @@ static struct attribute_group bt_host_gr
+@@ -388,7 +396,11 @@ static struct attribute_group bt_host_gr
.attrs = bt_host_attrs,
};
module_init(hidp_init);
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
-@@ -323,8 +323,13 @@ static struct sock *rfcomm_sock_alloc(st
+@@ -325,8 +325,13 @@ static struct sock *rfcomm_sock_alloc(st
return sk;
}
{
struct sock *sk;
-@@ -704,7 +709,11 @@ static int rfcomm_sock_recvmsg(struct ki
+@@ -706,7 +711,11 @@ static int rfcomm_sock_recvmsg(struct ki
copied += chunk;
size -= chunk;
if (!(flags & MSG_PEEK)) {
atomic_sub(chunk, &sk->sk_rmem_alloc);
-@@ -767,7 +776,11 @@ static int rfcomm_sock_setsockopt_old(st
+@@ -769,7 +778,11 @@ static int rfcomm_sock_setsockopt_old(st
return err;
}
rfcomm_dlc_close(dev->dlc, 0);
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
-@@ -430,8 +430,12 @@ static struct sock *sco_sock_alloc(struc
+@@ -432,8 +432,12 @@ static struct sock *sco_sock_alloc(struc
return sk;
}
{
struct sock *sk;
-@@ -645,7 +649,11 @@ static int sco_sock_sendmsg(struct kiocb
+@@ -647,7 +651,11 @@ static int sco_sock_sendmsg(struct kiocb
return err;
}
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
-@@ -822,8 +822,12 @@ static struct sock *l2cap_sock_alloc(str
+@@ -824,8 +824,12 @@ static struct sock *l2cap_sock_alloc(str
return sk;
}
{
struct sock *sk;
-@@ -835,7 +839,11 @@ static int l2cap_sock_create(struct net
+@@ -837,7 +841,11 @@ static int l2cap_sock_create(struct net
sock->type != SOCK_DGRAM && sock->type != SOCK_RAW)
return -ESOCKTNOSUPPORT;
return -EPERM;
sock->ops = &l2cap_sock_ops;
-@@ -1764,7 +1772,11 @@ static int l2cap_sock_setsockopt_old(str
+@@ -1766,7 +1774,11 @@ static int l2cap_sock_setsockopt_old(str
return err;
}
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -954,6 +954,7 @@ void ieee80211_if_remove(struct ieee8021
+@@ -1066,6 +1066,7 @@ void ieee80211_if_remove(struct ieee8021
* Remove all interfaces, may only be called at hardware unregistration
* time because it doesn't do RCU-safe list removals.
*/
void ieee80211_remove_interfaces(struct ieee80211_local *local)
{
struct ieee80211_sub_if_data *sdata, *tmp;
-@@ -970,6 +971,22 @@ void ieee80211_remove_interfaces(struct
+@@ -1082,6 +1083,22 @@ void ieee80211_remove_interfaces(struct
mutex_unlock(&local->iflist_mtx);
unregister_netdevice_many(&unreg_list);
}
struct task_struct *main_thread;
--- a/drivers/net/wireless/libertas/main.c
+++ b/drivers/net/wireless/libertas/main.c
-@@ -855,8 +855,14 @@ static int lbs_init_adapter(struct lbs_p
+@@ -859,8 +859,14 @@ static int lbs_init_adapter(struct lbs_p
priv->resp_len[0] = priv->resp_len[1] = 0;
/* Create the event FIFO */
lbs_pr_err("Out of memory allocating event FIFO buffer\n");
goto out;
}
-@@ -872,7 +878,12 @@ static void lbs_free_adapter(struct lbs_
+@@ -876,7 +882,12 @@ static void lbs_free_adapter(struct lbs_
lbs_deb_enter(LBS_DEB_MAIN);
lbs_free_cmd_buffer(priv);