rtl8192s_usb: Fix various bugs
svn path=/dists/sid/linux-2.6/; revision=15929
This commit is contained in:
parent
186b3c8352
commit
5e7f08b2cc
|
@ -46,6 +46,13 @@ linux-2.6 (2.6.32-16) UNRELEASED; urgency=low
|
|||
* Add drm changes from stable 2.6.33.6-rc1
|
||||
* [ia64, powerpc, sparc, x86] Enable KPROBES and KRETPROBES
|
||||
(Closes: #584130)
|
||||
* rtl8192s_usb: Fix various bugs
|
||||
- Check for skb allocation failure in 2 more places
|
||||
- Update LED control code
|
||||
- Clean up in case of an error in module initialisation
|
||||
- Rename and remove proc directories correctly if an interface is
|
||||
not called wlan0 (Closes: #582972)
|
||||
- Correct device ID table (Closes: #584945, #587985)
|
||||
|
||||
[ Aurelien Jarno ]
|
||||
* [sh4] fix sh_tmu clocksource following recent nohz changes.
|
||||
|
|
104
debian/patches/bugfix/all/rtl8192su-Clean-up-in-case-of-an-error-in-mo.patch
vendored
Normal file
104
debian/patches/bugfix/all/rtl8192su-Clean-up-in-case-of-an-error-in-mo.patch
vendored
Normal file
|
@ -0,0 +1,104 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Tue, 25 May 2010 04:20:30 +0100
|
||||
Subject: [PATCH] Staging: rtl8192su: Clean up in case of an error in module initialisation
|
||||
|
||||
commit 9a3dfa0555130952517b9a9c3918729495aa709a upstream.
|
||||
|
||||
Currently various resources may be leaked in case of an error.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/staging/rtl8192su/r8192U_core.c | 43 ++++++++++++++++++++++++++-----
|
||||
1 files changed, 36 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
index 447d647..1b4ff90 100644
|
||||
--- a/drivers/staging/rtl8192su/r8192U_core.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
@@ -990,10 +990,11 @@ static int proc_get_stats_rx(char *page, char **start,
|
||||
return len;
|
||||
}
|
||||
|
||||
-void rtl8192_proc_module_init(void)
|
||||
+int rtl8192_proc_module_init(void)
|
||||
{
|
||||
RT_TRACE(COMP_INIT, "Initializing proc filesystem");
|
||||
rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net);
|
||||
+ return rtl8192_proc ? 0 : -ENOMEM;
|
||||
}
|
||||
|
||||
|
||||
@@ -7473,35 +7474,63 @@ static int __init rtl8192_usb_module_init(void)
|
||||
ret = ieee80211_crypto_init();
|
||||
if (ret) {
|
||||
printk(KERN_ERR "ieee80211_crypto_init() failed %d\n", ret);
|
||||
- return ret;
|
||||
+ goto fail_crypto;
|
||||
}
|
||||
|
||||
ret = ieee80211_crypto_tkip_init();
|
||||
if (ret) {
|
||||
printk(KERN_ERR "ieee80211_crypto_tkip_init() failed %d\n",
|
||||
ret);
|
||||
- return ret;
|
||||
+ goto fail_crypto_tkip;
|
||||
}
|
||||
|
||||
ret = ieee80211_crypto_ccmp_init();
|
||||
if (ret) {
|
||||
printk(KERN_ERR "ieee80211_crypto_ccmp_init() failed %d\n",
|
||||
ret);
|
||||
- return ret;
|
||||
+ goto fail_crypto_ccmp;
|
||||
}
|
||||
|
||||
ret = ieee80211_crypto_wep_init();
|
||||
if (ret) {
|
||||
printk(KERN_ERR "ieee80211_crypto_wep_init() failed %d\n", ret);
|
||||
- return ret;
|
||||
+ goto fail_crypto_wep;
|
||||
}
|
||||
|
||||
printk(KERN_INFO "\nLinux kernel driver for RTL8192 based WLAN cards\n");
|
||||
printk(KERN_INFO "Copyright (c) 2007-2008, Realsil Wlan\n");
|
||||
RT_TRACE(COMP_INIT, "Initializing module");
|
||||
RT_TRACE(COMP_INIT, "Wireless extensions version %d", WIRELESS_EXT);
|
||||
- rtl8192_proc_module_init();
|
||||
- return usb_register(&rtl8192_usb_driver);
|
||||
+
|
||||
+ ret = rtl8192_proc_module_init();
|
||||
+ if (ret) {
|
||||
+ pr_err("rtl8192_proc_module_init() failed %d\n", ret);
|
||||
+ goto fail_proc;
|
||||
+ }
|
||||
+
|
||||
+ ret = usb_register(&rtl8192_usb_driver);
|
||||
+ if (ret) {
|
||||
+ pr_err("usb_register() failed %d\n", ret);
|
||||
+ goto fail_usb;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+
|
||||
+fail_usb:
|
||||
+ rtl8192_proc_module_remove();
|
||||
+fail_proc:
|
||||
+ ieee80211_crypto_wep_exit();
|
||||
+fail_crypto_wep:
|
||||
+ ieee80211_crypto_ccmp_exit();
|
||||
+fail_crypto_ccmp:
|
||||
+ ieee80211_crypto_tkip_exit();
|
||||
+fail_crypto_tkip:
|
||||
+ ieee80211_crypto_deinit();
|
||||
+fail_crypto:
|
||||
+#ifdef CONFIG_IEEE80211_DEBUG
|
||||
+ ieee80211_debug_exit();
|
||||
+#endif
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
1.7.1
|
||||
|
107
debian/patches/bugfix/all/rtl8192su-Fix-procfs-code-for-interfaces-not.patch
vendored
Normal file
107
debian/patches/bugfix/all/rtl8192su-Fix-procfs-code-for-interfaces-not.patch
vendored
Normal file
|
@ -0,0 +1,107 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Tue, 25 May 2010 04:25:57 +0100
|
||||
Subject: [PATCH] Staging: rtl8192su: Fix procfs code for interfaces not named wlan0
|
||||
|
||||
commit 41a38d9e632f7c9ec5ad8fc627567d97f4302c4a upstream.
|
||||
|
||||
The current code creates directories in procfs named after interfaces,
|
||||
but doesn't handle renaming. This can result in name collisions and
|
||||
consequent WARNINGs. It also means that the interface name cannot
|
||||
reliably be used to remove the directory - in fact the current code
|
||||
doesn't even try, and always uses "wlan0"!
|
||||
|
||||
Since the name of a proc_dir_entry is embedded in it, use that when
|
||||
removing it.
|
||||
|
||||
Add a netdev notifier to catch interface renaming, and remove and
|
||||
re-add the directory at this point.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
drivers/staging/rtl8192su/r8192U_core.c | 35 ++++++++++++++++++++++++++++--
|
||||
1 files changed, 32 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
index 1b4ff90..a076f56 100644
|
||||
--- a/drivers/staging/rtl8192su/r8192U_core.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
@@ -27,6 +27,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
+#include <linux/notifier.h>
|
||||
|
||||
#undef LOOP_TEST
|
||||
#undef DUMP_RX
|
||||
@@ -161,6 +162,8 @@ MODULE_PARM_DESC(channels," Channel bitmask for specific locales. NYI");
|
||||
static int __devinit rtl8192_usb_probe(struct usb_interface *intf,
|
||||
const struct usb_device_id *id);
|
||||
static void __devexit rtl8192_usb_disconnect(struct usb_interface *intf);
|
||||
+static const struct net_device_ops rtl8192_netdev_ops;
|
||||
+static struct notifier_block proc_netdev_notifier;
|
||||
|
||||
static struct usb_driver rtl8192_usb_driver = {
|
||||
.name = RTL819xU_MODULE_NAME, /* Driver name */
|
||||
@@ -992,14 +995,22 @@ static int proc_get_stats_rx(char *page, char **start,
|
||||
|
||||
int rtl8192_proc_module_init(void)
|
||||
{
|
||||
+ int ret;
|
||||
+
|
||||
RT_TRACE(COMP_INIT, "Initializing proc filesystem");
|
||||
rtl8192_proc=create_proc_entry(RTL819xU_MODULE_NAME, S_IFDIR, init_net.proc_net);
|
||||
- return rtl8192_proc ? 0 : -ENOMEM;
|
||||
+ if (!rtl8192_proc)
|
||||
+ return -ENOMEM;
|
||||
+ ret = register_netdevice_notifier(&proc_netdev_notifier);
|
||||
+ if (ret)
|
||||
+ remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net);
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
|
||||
void rtl8192_proc_module_remove(void)
|
||||
{
|
||||
+ unregister_netdevice_notifier(&proc_netdev_notifier);
|
||||
remove_proc_entry(RTL819xU_MODULE_NAME, init_net.proc_net);
|
||||
}
|
||||
|
||||
@@ -1027,8 +1038,7 @@ void rtl8192_proc_remove_one(struct net_device *dev)
|
||||
remove_proc_entry("registers-e", priv->dir_dev);
|
||||
// remove_proc_entry("cck-registers",priv->dir_dev);
|
||||
// remove_proc_entry("ofdm-registers",priv->dir_dev);
|
||||
- //remove_proc_entry(dev->name, rtl8192_proc);
|
||||
- remove_proc_entry("wlan0", rtl8192_proc);
|
||||
+ remove_proc_entry(priv->dir_dev->name, rtl8192_proc);
|
||||
priv->dir_dev = NULL;
|
||||
}
|
||||
}
|
||||
@@ -1145,6 +1155,25 @@ void rtl8192_proc_init_one(struct net_device *dev)
|
||||
dev->name);
|
||||
}
|
||||
}
|
||||
+
|
||||
+static int proc_netdev_event(struct notifier_block *this,
|
||||
+ unsigned long event, void *ptr)
|
||||
+{
|
||||
+ struct net_device *net_dev = ptr;
|
||||
+
|
||||
+ if (net_dev->netdev_ops == &rtl8192_netdev_ops &&
|
||||
+ event == NETDEV_CHANGENAME) {
|
||||
+ rtl8192_proc_remove_one(net_dev);
|
||||
+ rtl8192_proc_init_one(net_dev);
|
||||
+ }
|
||||
+
|
||||
+ return NOTIFY_DONE;
|
||||
+}
|
||||
+
|
||||
+static struct notifier_block proc_netdev_notifier = {
|
||||
+ .notifier_call = proc_netdev_event,
|
||||
+};
|
||||
+
|
||||
/****************************************************************************
|
||||
-----------------------------MISC STUFF-------------------------
|
||||
*****************************************************************************/
|
||||
--
|
||||
1.7.1
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Date: Tue, 8 Jun 2010 03:47:13 +0200
|
||||
Subject: [PATCH] Staging: rtl8192su: add device ids
|
||||
|
||||
commit 15d93ed070125d51693f102a0f94045dcaf30d9b upstream.
|
||||
|
||||
This patch adds some device ids.
|
||||
The list of supported devices was extracted from realteks driver package.
|
||||
(0x050d, 0x815F) and (0x0df6, 0x004b) are not in the official list of
|
||||
supported devices and may not work correctly.
|
||||
In case of problems with these, they should probably be removed from the list.
|
||||
|
||||
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
[bwh: Adjust context for 2.6.32]
|
||||
---
|
||||
drivers/staging/rtl8192su/r8192U_core.c | 30 +++++++++++++++++++++++-------
|
||||
1 files changed, 23 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
index 06b2b97..f1d852b 100644
|
||||
--- a/drivers/staging/rtl8192su/r8192U_core.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
@@ -112,14 +112,30 @@ u32 rt_global_debug_component = \
|
||||
#define CAM_CONTENT_COUNT 8
|
||||
|
||||
static struct usb_device_id rtl8192_usb_id_tbl[] = {
|
||||
- /* Realtek */
|
||||
- {USB_DEVICE(0x0bda, 0x8171)},
|
||||
- {USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
|
||||
- {USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
|
||||
- /* Guillemot */
|
||||
- {USB_DEVICE(0x06f8, 0xe031)},
|
||||
- //92SU
|
||||
+ {USB_DEVICE(0x0bda, 0x8171)}, /* Realtek */
|
||||
{USB_DEVICE(0x0bda, 0x8172)},
|
||||
+ {USB_DEVICE(0x0bda, 0x8173)},
|
||||
+ {USB_DEVICE(0x0bda, 0x8174)},
|
||||
+ {USB_DEVICE(0x0bda, 0x8712)},
|
||||
+ {USB_DEVICE(0x0bda, 0x8713)},
|
||||
+ {USB_DEVICE(0x07aa, 0x0047)},
|
||||
+ {USB_DEVICE(0x07d1, 0x3303)},
|
||||
+ {USB_DEVICE(0x07d1, 0x3302)},
|
||||
+ {USB_DEVICE(0x07d1, 0x3300)},
|
||||
+ {USB_DEVICE(0x1740, 0x9603)},
|
||||
+ {USB_DEVICE(0x1740, 0x9605)},
|
||||
+ {USB_DEVICE(0x050d, 0x815F)},
|
||||
+ {USB_DEVICE(0x06f8, 0xe031)},
|
||||
+ {USB_DEVICE(0x7392, 0x7611)},
|
||||
+ {USB_DEVICE(0x7392, 0x7612)},
|
||||
+ {USB_DEVICE(0x7392, 0x7622)},
|
||||
+ {USB_DEVICE(0x0DF6, 0x0045)},
|
||||
+ {USB_DEVICE(0x0E66, 0x0015)},
|
||||
+ {USB_DEVICE(0x0E66, 0x0016)},
|
||||
+ {USB_DEVICE(0x0b05, 0x1786)},
|
||||
+ /* these are not in the official list */
|
||||
+ {USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
|
||||
+ {USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
|
||||
{}
|
||||
};
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Date: Tue, 4 May 2010 14:23:43 +0200
|
||||
Subject: [PATCH] Staging: rtl8192su: check for skb == NULL
|
||||
|
||||
commit 199ef62a287b429a8fa3b7dc5ae6b69f607bf324 upstream.
|
||||
|
||||
added 2 checks for skb == NULL.
|
||||
plus cosmetics
|
||||
|
||||
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
[bwh: Remove cosmetic changes]
|
||||
---
|
||||
--- a/drivers/staging/rtl8192su/r8192S_firmware.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192S_firmware.c
|
||||
@@ -68,6 +68,11 @@
|
||||
|
||||
/* Allocate skb buffer to contain firmware info and tx descriptor info. */
|
||||
skb = dev_alloc_skb(frag_length);
|
||||
+ if (skb == NULL) {
|
||||
+ RT_TRACE(COMP_ERR, "(%s): unable to alloc skb buffer\n",
|
||||
+ __func__);
|
||||
+ goto cmdsend_downloadcode_fail;
|
||||
+ }
|
||||
memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
|
||||
|
||||
tcb_desc = (cb_desc*)(skb->cb + MAX_DEV_ADDR_SIZE);
|
||||
--- a/drivers/staging/rtl8192su/r819xU_cmdpkt.c
|
||||
+++ b/drivers/staging/rtl8192su/r819xU_cmdpkt.c
|
||||
@@ -56,6 +56,12 @@ bool SendTxCommandPacket(struct net_device *dev, void *pData, u32 DataLen)
|
||||
|
||||
//Get TCB and local buffer from common pool. (It is shared by CmdQ, MgntQ, and USB coalesce DataQ)
|
||||
skb = dev_alloc_skb(USB_HWDESC_HEADER_LEN + DataLen + 4);
|
||||
+ if (skb == NULL) {
|
||||
+ RT_TRACE(COMP_ERR, "(%s): unable to alloc skb buffer\n",
|
||||
+ __func__);
|
||||
+ rtStatus = false;
|
||||
+ return rtStatus;
|
||||
+ }
|
||||
memcpy((unsigned char *)(skb->cb),&dev,sizeof(dev));
|
||||
tcb_desc = (cb_desc*)(skb->cb + MAX_DEV_ADDR_SIZE);
|
||||
tcb_desc->queue_index = TXCMD_QUEUE;
|
|
@ -0,0 +1,96 @@
|
|||
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Date: Thu, 13 May 2010 13:55:52 +0200
|
||||
Subject: [PATCH] Staging: rtl8192su: led update
|
||||
|
||||
commit 3dfe08e6073f40a742fe3e5d6b43ca8184c55722 upstream.
|
||||
|
||||
derived from Realteks driver.
|
||||
leds are now working.
|
||||
|
||||
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
[bwh: Adjust context for 2.6.32]
|
||||
---
|
||||
drivers/staging/rtl8192su/r8192U_core.c | 27 +++++++++++++++++++--------
|
||||
1 files changed, 19 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
index 70a8087..78af0d7 100644
|
||||
--- a/drivers/staging/rtl8192su/r8192U_core.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
@@ -1219,6 +1219,7 @@ void rtl8192_set_mode(struct net_device *dev,int mode)
|
||||
void rtl8192_update_msr(struct net_device *dev)
|
||||
{
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
+ LED_CTL_MODE LedAction = LED_CTL_NO_LINK;
|
||||
u8 msr;
|
||||
|
||||
msr = read_nic_byte(dev, MSR);
|
||||
@@ -1229,19 +1230,23 @@ void rtl8192_update_msr(struct net_device *dev)
|
||||
* this is intentional and make sense for ad-hoc and
|
||||
* master (see the create BSS/IBSS func)
|
||||
*/
|
||||
- if (priv->ieee80211->state == IEEE80211_LINKED){
|
||||
+ if (priv->ieee80211->state == IEEE80211_LINKED) {
|
||||
|
||||
- if (priv->ieee80211->iw_mode == IW_MODE_INFRA)
|
||||
+ if (priv->ieee80211->iw_mode == IW_MODE_INFRA) {
|
||||
msr |= (MSR_LINK_MANAGED<<MSR_LINK_SHIFT);
|
||||
- else if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
|
||||
+ LedAction = LED_CTL_LINK;
|
||||
+ } else if (priv->ieee80211->iw_mode == IW_MODE_ADHOC)
|
||||
msr |= (MSR_LINK_ADHOC<<MSR_LINK_SHIFT);
|
||||
else if (priv->ieee80211->iw_mode == IW_MODE_MASTER)
|
||||
msr |= (MSR_LINK_MASTER<<MSR_LINK_SHIFT);
|
||||
|
||||
- }else
|
||||
+ } else
|
||||
msr |= (MSR_LINK_NONE<<MSR_LINK_SHIFT);
|
||||
|
||||
write_nic_byte(dev, MSR, msr);
|
||||
+
|
||||
+ if(priv->ieee80211->LedControlHandler != NULL)
|
||||
+ priv->ieee80211->LedControlHandler(dev, LedAction);
|
||||
}
|
||||
|
||||
void rtl8192_set_chan(struct net_device *dev,short ch)
|
||||
@@ -2154,15 +2159,13 @@ short rtl8192SU_tx(struct net_device *dev, struct sk_buff* skb)
|
||||
struct r8192_priv *priv = ieee80211_priv(dev);
|
||||
cb_desc *tcb_desc = (cb_desc *)(skb->cb + MAX_DEV_ADDR_SIZE);
|
||||
tx_desc_819x_usb *tx_desc = (tx_desc_819x_usb *)skb->data;
|
||||
- //tx_fwinfo_819x_usb *tx_fwinfo = (tx_fwinfo_819x_usb *)(skb->data + USB_HWDESC_HEADER_LEN);//92su del
|
||||
struct usb_device *udev = priv->udev;
|
||||
int pend;
|
||||
int status;
|
||||
struct urb *tx_urb = NULL, *tx_urb_zero = NULL;
|
||||
- //int urb_len;
|
||||
unsigned int idx_pipe;
|
||||
- u16 MPDUOverhead = 0;
|
||||
- //RT_DEBUG_DATA(COMP_SEND, tcb_desc, sizeof(cb_desc));
|
||||
+ u16 MPDUOverhead = 0;
|
||||
+ u16 type = 0;
|
||||
|
||||
pend = atomic_read(&priv->tx_pending[tcb_desc->queue_index]);
|
||||
/* we are locked here so the two atomic_read and inc are executed
|
||||
@@ -2359,6 +2362,11 @@ short rtl8192SU_tx(struct net_device *dev, struct sk_buff* skb)
|
||||
skb->data,
|
||||
skb->len, rtl8192_tx_isr, skb);
|
||||
|
||||
+ if (type == IEEE80211_FTYPE_DATA) {
|
||||
+ if (priv->ieee80211->LedControlHandler != NULL)
|
||||
+ priv->ieee80211->LedControlHandler(dev, LED_CTL_TX);
|
||||
+ }
|
||||
+
|
||||
status = usb_submit_urb(tx_urb, GFP_ATOMIC);
|
||||
if (!status){
|
||||
//we need to send 0 byte packet whenever 512N bytes/64N(HIGN SPEED/NORMAL SPEED) bytes packet has been transmitted. Otherwise, it will be halt to wait for another packet. WB. 2008.08.27
|
||||
@@ -5487,6 +5495,9 @@ void rtl819x_watchdog_wqcallback(struct work_struct *work)
|
||||
RemovePeerTS(priv->ieee80211,priv->ieee80211->current_network.bssid);
|
||||
ieee->is_roaming = true;
|
||||
priv->ieee80211->link_change(dev);
|
||||
+ if(ieee->LedControlHandler != NULL)
|
||||
+ ieee->LedControlHandler(ieee->dev,
|
||||
+ LED_CTL_START_TO_LINK);
|
||||
queue_work(priv->ieee80211->wq, &priv->ieee80211->associate_procedure_wq);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,55 @@
|
|||
From: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Date: Tue, 8 Jun 2010 03:46:26 +0200
|
||||
Subject: [PATCH] Staging: rtl8192su: remove device ids
|
||||
|
||||
commit 60b42de30ad6fb131dc8e9dbd11a8a9ea0ab394c upstream.
|
||||
|
||||
This patch removes some device-ids.
|
||||
The list of unsupported devices was extracted from realteks driver package.
|
||||
removed IDs are:
|
||||
(0x0bda, 0x8192)
|
||||
(0x0bda, 0x8709)
|
||||
(0x07aa, 0x0043)
|
||||
(0x050d, 0x805E)
|
||||
(0x0df6, 0x0031)
|
||||
(0x1740, 0x9201)
|
||||
(0x2001, 0x3301)
|
||||
(0x5a57, 0x0290)
|
||||
These devices are _not_ rtl819su based.
|
||||
|
||||
Signed-off-by: Florian Schilhabel <florian.c.schilhabel@googlemail.com>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/staging/rtl8192su/r8192U_core.c | 14 --------------
|
||||
1 files changed, 0 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/rtl8192su/r8192U_core.c b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
index 447d647..06b2b97 100644
|
||||
--- a/drivers/staging/rtl8192su/r8192U_core.c
|
||||
+++ b/drivers/staging/rtl8192su/r8192U_core.c
|
||||
@@ -114,22 +114,8 @@ u32 rt_global_debug_component = \
|
||||
static const struct usb_device_id rtl8192_usb_id_tbl[] = {
|
||||
/* Realtek */
|
||||
{USB_DEVICE(0x0bda, 0x8171)},
|
||||
- {USB_DEVICE(0x0bda, 0x8192)},
|
||||
- {USB_DEVICE(0x0bda, 0x8709)},
|
||||
- /* Corega */
|
||||
- {USB_DEVICE(0x07aa, 0x0043)},
|
||||
- /* Belkin */
|
||||
- {USB_DEVICE(0x050d, 0x805E)},
|
||||
{USB_DEVICE(0x050d, 0x815F)}, /* Belkin F5D8053 v6 */
|
||||
- /* Sitecom */
|
||||
- {USB_DEVICE(0x0df6, 0x0031)},
|
||||
{USB_DEVICE(0x0df6, 0x004b)}, /* WL-349 */
|
||||
- /* EnGenius */
|
||||
- {USB_DEVICE(0x1740, 0x9201)},
|
||||
- /* Dlink */
|
||||
- {USB_DEVICE(0x2001, 0x3301)},
|
||||
- /* Zinwell */
|
||||
- {USB_DEVICE(0x5a57, 0x0290)},
|
||||
/* Guillemot */
|
||||
{USB_DEVICE(0x06f8, 0xe031)},
|
||||
//92SU
|
||||
--
|
||||
1.7.1
|
||||
|
|
@ -179,3 +179,9 @@
|
|||
+ debian/revert-wrong-type-for-magic-argument-in-simple_fill_super.patch
|
||||
- bugfix/all/drm-edid-Fix-1024x768@85Hz.patch
|
||||
+ bugfix/all/stable/2.6.33.6-rc1.patch
|
||||
+ bugfix/all/rtl8192su-check-for-skb-NULL.patch
|
||||
+ bugfix/all/rtl8192su-led-update.patch
|
||||
+ bugfix/all/rtl8192su-Clean-up-in-case-of-an-error-in-mo.patch
|
||||
+ bugfix/all/rtl8192su-Fix-procfs-code-for-interfaces-not.patch
|
||||
+ bugfix/all/rtl8192su-remove-device-ids.patch
|
||||
+ bugfix/all/rtl8192su-add-device-ids.patch
|
||||
|
|
Loading…
Reference in New Issue