summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rtlwifi/wifi.h
diff options
context:
space:
mode:
authorLarry Finger2012-07-11 21:37:28 +0200
committerJohn W. Linville2012-07-12 21:27:18 +0200
commit3ce4d85b76010525adedcc2555fa164bf706a2f3 (patch)
tree05f3f6410bc376e7a28f0d9fcca686993e65591a /drivers/net/wireless/rtlwifi/wifi.h
parentrtlwifi: Remove extra argument from queue setup routine (diff)
downloadkernel-qcow2-linux-3ce4d85b76010525adedcc2555fa164bf706a2f3.tar.gz
kernel-qcow2-linux-3ce4d85b76010525adedcc2555fa164bf706a2f3.tar.xz
kernel-qcow2-linux-3ce4d85b76010525adedcc2555fa164bf706a2f3.zip
rtlwifi: rtl8192cu: Change buffer allocation for synchronous reads
In commit a7959c1, the USB part of rtlwifi was switched to convert _usb_read_sync() to using a preallocated buffer rather than one that has been acquired using kmalloc. Although this routine is named as though it were synchronous, there seem to be simultaneous users, and the selection of the index to the data buffer is not multi-user safe. This situation is addressed by adding a new spinlock. The routine cannot sleep, thus a mutex is not allowed. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Cc: Stable <stable@vger.kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rtlwifi/wifi.h')
-rw-r--r--drivers/net/wireless/rtlwifi/wifi.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/rtlwifi/wifi.h b/drivers/net/wireless/rtlwifi/wifi.h
index bd816aef26dc..cdaa21f29710 100644
--- a/drivers/net/wireless/rtlwifi/wifi.h
+++ b/drivers/net/wireless/rtlwifi/wifi.h
@@ -1555,6 +1555,7 @@ struct rtl_locks {
spinlock_t rf_ps_lock;
spinlock_t rf_lock;
spinlock_t waitq_lock;
+ spinlock_t usb_lock;
/*Dual mac*/
spinlock_t cck_and_rw_pagea_lock;