diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> | 2010-08-27 17:48:19 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-31 14:20:40 -0400 |
commit | 9df86e2e702c6d5547aced7f241addd2d698bb11 (patch) | |
tree | 694c4e2a933148800639cad6818284aa439e6dbf /drivers/net/wireless/wl12xx/wl1251.h | |
parent | 391a200a89bf85bd38f117f34898c24299e3d53d (diff) |
wl1251: Fix queue stopping/waking for TX path
This patch was adapted from 06f7bc7db79fabe6b2ec16eff0f59e4acc21eb72
(from linus's linux-2.6 tree of kernel.org)
here's the original message:
The queue stopping/waking functionality was broken in a way that could
cause huge latencies in TX transfers and even cause the TX to stall in the
right circumstances. Correct these problems.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl1251.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1251.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1251.h b/drivers/net/wireless/wl12xx/wl1251.h index 9bc4fea3315a..e113d4c1fb35 100644 --- a/drivers/net/wireless/wl12xx/wl1251.h +++ b/drivers/net/wireless/wl12xx/wl1251.h | |||
@@ -272,6 +272,8 @@ struct wl1251 { | |||
272 | int irq; | 272 | int irq; |
273 | bool use_eeprom; | 273 | bool use_eeprom; |
274 | 274 | ||
275 | spinlock_t wl_lock; | ||
276 | |||
275 | enum wl1251_state state; | 277 | enum wl1251_state state; |
276 | struct mutex mutex; | 278 | struct mutex mutex; |
277 | 279 | ||
@@ -399,7 +401,8 @@ void wl1251_disable_interrupts(struct wl1251 *wl); | |||
399 | 401 | ||
400 | #define WL1251_DEFAULT_POWER_LEVEL 20 | 402 | #define WL1251_DEFAULT_POWER_LEVEL 20 |
401 | 403 | ||
402 | #define WL1251_TX_QUEUE_MAX_LENGTH 20 | 404 | #define WL1251_TX_QUEUE_LOW_WATERMARK 10 |
405 | #define WL1251_TX_QUEUE_HIGH_WATERMARK 25 | ||
403 | 406 | ||
404 | #define WL1251_DEFAULT_BEACON_INT 100 | 407 | #define WL1251_DEFAULT_BEACON_INT 100 |
405 | #define WL1251_DEFAULT_DTIM_PERIOD 1 | 408 | #define WL1251_DEFAULT_DTIM_PERIOD 1 |