Merge branch 'fixes-jgarzik' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
This commit is contained in:
commit
61c93f4eb4
@ -587,15 +587,66 @@ config ADM8211
|
||||
config P54_COMMON
|
||||
tristate "Softmac Prism54 support"
|
||||
depends on MAC80211 && WLAN_80211 && FW_LOADER && EXPERIMENTAL
|
||||
---help---
|
||||
This is common code for isl38xx based cards.
|
||||
This module does nothing by itself - the USB/PCI frontends
|
||||
also need to be enabled in order to support any devices.
|
||||
|
||||
These devices require softmac firmware which can be found at
|
||||
http://prism54.org/
|
||||
|
||||
If you choose to build a module, it'll be called p54common.
|
||||
|
||||
config P54_USB
|
||||
tristate "Prism54 USB support"
|
||||
depends on P54_COMMON && USB
|
||||
select CRC32
|
||||
---help---
|
||||
This driver is for USB isl38xx based wireless cards.
|
||||
These are USB based adapters found in devices such as:
|
||||
|
||||
3COM 3CRWE254G72
|
||||
SMC 2862W-G
|
||||
Accton 802.11g WN4501 USB
|
||||
Siemens Gigaset USB
|
||||
Netgear WG121
|
||||
Netgear WG111
|
||||
Medion 40900, Roper Europe
|
||||
Shuttle PN15, Airvast WM168g, IOGear GWU513
|
||||
Linksys WUSB54G
|
||||
Linksys WUSB54G Portable
|
||||
DLink DWL-G120 Spinnaker
|
||||
DLink DWL-G122
|
||||
Belkin F5D7050 ver 1000
|
||||
Cohiba Proto board
|
||||
SMC 2862W-G version 2
|
||||
U.S. Robotics U5 802.11g Adapter
|
||||
FUJITSU E-5400 USB D1700
|
||||
Sagem XG703A
|
||||
DLink DWL-G120 Cohiba
|
||||
Spinnaker Proto board
|
||||
Linksys WUSB54AG
|
||||
Inventel UR054G
|
||||
Spinnaker DUT
|
||||
|
||||
These devices require softmac firmware which can be found at
|
||||
http://prism54.org/
|
||||
|
||||
If you choose to build a module, it'll be called p54usb.
|
||||
|
||||
config P54_PCI
|
||||
tristate "Prism54 PCI support"
|
||||
depends on P54_COMMON && PCI
|
||||
---help---
|
||||
This driver is for PCI isl38xx based wireless cards.
|
||||
This driver supports most devices that are supported by the
|
||||
fullmac prism54 driver plus many devices which are not
|
||||
supported by the fullmac driver/firmware.
|
||||
|
||||
This driver requires softmac firmware which can be found at
|
||||
http://prism54.org/
|
||||
|
||||
If you choose to build a module, it'll be called p54pci.
|
||||
|
||||
source "drivers/net/wireless/iwlwifi/Kconfig"
|
||||
source "drivers/net/wireless/hostap/Kconfig"
|
||||
|
@ -1233,9 +1233,19 @@ static ssize_t show_event_log(struct device *d,
|
||||
{
|
||||
struct ipw_priv *priv = dev_get_drvdata(d);
|
||||
u32 log_len = ipw_get_event_log_len(priv);
|
||||
struct ipw_event log[log_len];
|
||||
u32 log_size;
|
||||
struct ipw_event *log;
|
||||
u32 len = 0, i;
|
||||
|
||||
/* not using min() because of its strict type checking */
|
||||
log_size = PAGE_SIZE / sizeof(*log) > log_len ?
|
||||
sizeof(*log) * log_len : PAGE_SIZE;
|
||||
log = kzalloc(log_size, GFP_KERNEL);
|
||||
if (!log) {
|
||||
IPW_ERROR("Unable to allocate memory for log\n");
|
||||
return 0;
|
||||
}
|
||||
log_len = log_size / sizeof(*log);
|
||||
ipw_capture_event_log(priv, log_len, log);
|
||||
|
||||
len += snprintf(buf + len, PAGE_SIZE - len, "%08X", log_len);
|
||||
@ -1244,6 +1254,7 @@ static ssize_t show_event_log(struct device *d,
|
||||
"\n%08X%08X%08X",
|
||||
log[i].time, log[i].event, log[i].data);
|
||||
len += snprintf(buf + len, PAGE_SIZE - len, "\n");
|
||||
kfree(log);
|
||||
return len;
|
||||
}
|
||||
|
||||
|
@ -6246,8 +6246,6 @@ static void __iwl_down(struct iwl_priv *priv)
|
||||
/* Unblock any waiting calls */
|
||||
wake_up_interruptible_all(&priv->wait_command_queue);
|
||||
|
||||
iwl_cancel_deferred_work(priv);
|
||||
|
||||
/* Wipe out the EXIT_PENDING status bit if we are not actually
|
||||
* exiting the module */
|
||||
if (!exit_pending)
|
||||
@ -6322,6 +6320,8 @@ static void iwl_down(struct iwl_priv *priv)
|
||||
mutex_lock(&priv->mutex);
|
||||
__iwl_down(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
iwl_cancel_deferred_work(priv);
|
||||
}
|
||||
|
||||
#define MAX_HW_RESTARTS 5
|
||||
@ -8580,10 +8580,9 @@ static void iwl_pci_remove(struct pci_dev *pdev)
|
||||
|
||||
IWL_DEBUG_INFO("*** UNLOAD DRIVER ***\n");
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
set_bit(STATUS_EXIT_PENDING, &priv->status);
|
||||
__iwl_down(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
iwl_down(priv);
|
||||
|
||||
/* Free MAC hash list for ADHOC */
|
||||
for (i = 0; i < IWL_IBSS_MAC_HASH_SIZE; i++) {
|
||||
@ -8642,12 +8641,10 @@ static int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
{
|
||||
struct iwl_priv *priv = pci_get_drvdata(pdev);
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
set_bit(STATUS_IN_SUSPEND, &priv->status);
|
||||
|
||||
/* Take down the device; powers it off, etc. */
|
||||
__iwl_down(priv);
|
||||
iwl_down(priv);
|
||||
|
||||
if (priv->mac80211_registered)
|
||||
ieee80211_stop_queues(priv->hw);
|
||||
@ -8656,8 +8653,6 @@ static int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
pci_disable_device(pdev);
|
||||
pci_set_power_state(pdev, PCI_D3hot);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -8715,8 +8710,6 @@ static int iwl_pci_resume(struct pci_dev *pdev)
|
||||
|
||||
printk(KERN_INFO "Coming out of suspend...\n");
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
pci_set_power_state(pdev, PCI_D0);
|
||||
err = pci_enable_device(pdev);
|
||||
pci_restore_state(pdev);
|
||||
@ -8730,7 +8723,6 @@ static int iwl_pci_resume(struct pci_dev *pdev)
|
||||
pci_write_config_byte(pdev, 0x41, 0x00);
|
||||
|
||||
iwl_resume(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -6601,8 +6601,6 @@ static void __iwl_down(struct iwl_priv *priv)
|
||||
/* Unblock any waiting calls */
|
||||
wake_up_interruptible_all(&priv->wait_command_queue);
|
||||
|
||||
iwl_cancel_deferred_work(priv);
|
||||
|
||||
/* Wipe out the EXIT_PENDING status bit if we are not actually
|
||||
* exiting the module */
|
||||
if (!exit_pending)
|
||||
@ -6677,6 +6675,8 @@ static void iwl_down(struct iwl_priv *priv)
|
||||
mutex_lock(&priv->mutex);
|
||||
__iwl_down(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
iwl_cancel_deferred_work(priv);
|
||||
}
|
||||
|
||||
#define MAX_HW_RESTARTS 5
|
||||
@ -9174,10 +9174,9 @@ static void iwl_pci_remove(struct pci_dev *pdev)
|
||||
|
||||
IWL_DEBUG_INFO("*** UNLOAD DRIVER ***\n");
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
set_bit(STATUS_EXIT_PENDING, &priv->status);
|
||||
__iwl_down(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
iwl_down(priv);
|
||||
|
||||
/* Free MAC hash list for ADHOC */
|
||||
for (i = 0; i < IWL_IBSS_MAC_HASH_SIZE; i++) {
|
||||
@ -9236,12 +9235,10 @@ static int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
{
|
||||
struct iwl_priv *priv = pci_get_drvdata(pdev);
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
set_bit(STATUS_IN_SUSPEND, &priv->status);
|
||||
|
||||
/* Take down the device; powers it off, etc. */
|
||||
__iwl_down(priv);
|
||||
iwl_down(priv);
|
||||
|
||||
if (priv->mac80211_registered)
|
||||
ieee80211_stop_queues(priv->hw);
|
||||
@ -9250,8 +9247,6 @@ static int iwl_pci_suspend(struct pci_dev *pdev, pm_message_t state)
|
||||
pci_disable_device(pdev);
|
||||
pci_set_power_state(pdev, PCI_D3hot);
|
||||
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -9309,8 +9304,6 @@ static int iwl_pci_resume(struct pci_dev *pdev)
|
||||
|
||||
printk(KERN_INFO "Coming out of suspend...\n");
|
||||
|
||||
mutex_lock(&priv->mutex);
|
||||
|
||||
pci_set_power_state(pdev, PCI_D0);
|
||||
err = pci_enable_device(pdev);
|
||||
pci_restore_state(pdev);
|
||||
@ -9324,7 +9317,6 @@ static int iwl_pci_resume(struct pci_dev *pdev)
|
||||
pci_write_config_byte(pdev, 0x41, 0x00);
|
||||
|
||||
iwl_resume(priv);
|
||||
mutex_unlock(&priv->mutex);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -38,6 +38,8 @@ static struct usb_device_id rtl8187_table[] __devinitdata = {
|
||||
{USB_DEVICE(0x0846, 0x6a00)},
|
||||
/* HP */
|
||||
{USB_DEVICE(0x03f0, 0xca02)},
|
||||
/* Sitecom */
|
||||
{USB_DEVICE(0x0df6, 0x000d)},
|
||||
{}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user