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>
Mon, 17 Jan 2011 17:19:43 +0000 (19:19 +0200)
commit02e1b926fe4a02bc779575f638c150f3c7c960c0
treed678f4a12856ffb0bbfd000c8e6804e295fbbbcf
parentb13cb15e5a684d65838414de5c39c95c8e1ff008
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