wl12xx: rearrange some ELP wake_up/sleep calls
authorEliad Peller <eliad@wizery.com>
Wed, 23 Mar 2011 20:22:15 +0000 (22:22 +0200)
committerLuciano Coelho <coelho@ti.com>
Tue, 19 Apr 2011 13:49:14 +0000 (16:49 +0300)
commitc1b193eb6557279d037ab18c00ab628c6c78847f
treedad930948af8a88a23a579cb23fadca2fd2ac704
parent17e672d6e4b5a8a3f330a70dfd58d25a2cb497b5
wl12xx: rearrange some ELP wake_up/sleep calls

ELP (Extremely/Enhanced Low Power, or something like that ;)) refers to
the powerstate of the 12xx chip, in which very low power is consumed,
and no commands (from the host) can be issued until the chip is woken up.

Wakeup/sleep commands must be protected by a wl->mutex, so it's generally
a good idea to call wakeup/sleep along with the mutex lock/unlock (where
needed). However, in some places the wl12xx driver calls wakeup/sleep in
some "inner" functions. This result in some "nested" wakeup/sleep calls
which might end up letting the chip go to sleep prematurely (e.g. during
event handling).

Fix it by rearranging the elp calls to come along with mutex_lock/unlock.

Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/event.c
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/ps.c
drivers/net/wireless/wl12xx/tx.c