summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/rtl818x/rtl8187.h
diff options
context:
space:
mode:
authorLarry Finger <Larry.Finger@lwfinger.net>2008-12-09 23:34:27 -0600
committerJohn W. Linville <linville@tuxdriver.com>2008-12-12 14:02:06 -0500
commitc1db52b9d27ee6e15a7136e67e4a21dc916cd07f (patch)
treeecccf2807efe8e2f50e0a71b6a66751f17b8f16b /drivers/net/wireless/rtl818x/rtl8187.h
parent388cdf31db6dfc3d175786a76989266380e12c26 (diff)
rtl8187: Use usb anchor facilities to manage urbs
When SLUB debugging is enabled in the kernel, and the boot command includes the option "slub_debug=P", rtl8187 encounters a GPF due to a read-after-free of a urb. Following the example of changes in p54usb to fix the same problem, the code has been modified to use the usb_anchor_urb() method. With this change, the USB core handles the freeing of urb's. This patch fixes the problem reported in Kernel Bugzilla #12185 (http://bugzilla.kernel.org/show_bug.cgi?id=12185). Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Tested-by: Hin-Tak Leung <htl10@users.sourceforge.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtl818x/rtl8187.h')
-rw-r--r--drivers/net/wireless/rtl818x/rtl8187.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/rtl818x/rtl8187.h b/drivers/net/wireless/rtl818x/rtl8187.h
index c385407a994..3b1e1c2aad2 100644
--- a/drivers/net/wireless/rtl818x/rtl8187.h
+++ b/drivers/net/wireless/rtl818x/rtl8187.h
@@ -99,6 +99,7 @@ struct rtl8187_priv {
struct ieee80211_supported_band band;
struct usb_device *udev;
u32 rx_conf;
+ struct usb_anchor anchored;
u16 txpwr_base;
u8 asic_rev;
u8 is_rtl8187b;
@@ -115,7 +116,6 @@ struct rtl8187_priv {
u8 aifsn[4];
struct {
__le64 buf;
- struct urb *urb;
struct sk_buff_head queue;
} b_tx_status;
};