wl1251: fix TX queue stopping/waking (again)
authorGrazvydas Ignotas <notasas@gmail.com>
Mon, 25 Oct 2010 20:09:04 +0000 (23:09 +0300)
committerGrazvydas Ignotas <notasas@gmail.com>
Sun, 31 Oct 2010 20:10:34 +0000 (22:10 +0200)
commit91f3c70243daf1c08f374f3aab873d70ea717106
treef30a40b92a2fc13daff6f7f226b730ac3a00f818
parent4176434598f8b5f6855d0534aa584e4fd6955d50
wl1251: fix TX queue stopping/waking (again)

9df86e2e702c6d5547aced7f241addd2d698bb11 ported TX queue stopping/waking
improvement from wl1271, but it has some issues:
- it forgot to initialize wl_lock.
- it placed ieee80211_wake_queues in an awkward place between result
  handling loops, it's better to do it after all processing is done.
- it left queue wake call in wl1251_tx_packet_cb, which made the patch
  ineffective because by the time we reached low watermark check, queues
  would already be woken.
- the wl1271 watermark values are too large for wl1251, as it has
  shorter hardware tx queue.

Correct those issues.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
drivers/net/wireless/wl12xx/wl1251.h
drivers/net/wireless/wl12xx/wl1251_main.c
drivers/net/wireless/wl12xx/wl1251_tx.c