diff options
author | Kalle Valo <kalle.valo@nokia.com> | 2009-06-12 14:16:32 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-07-10 14:57:47 -0400 |
commit | c5483b71936333ba9474f57d0f3a7a7abf9b87a0 (patch) | |
tree | 599a485034698c38a2071528a0c57f5f547d152a /drivers/net/wireless/wl12xx/debugfs.c | |
parent | 01d9cfbdaadc64a46b57437c989bbad241074135 (diff) |
wl12xx: check if elp wakeup failed
Check the return call from wl12xx_ps_elp_wakeup() and bail out if it
fails. This shouldn't happen, but if does there's a fundamental low
level issue.
Signed-off-by: Kalle Valo <kalle.valo@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Reviewed-by: Vidhya Govindan <vidhya.govindan@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/debugfs.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/debugfs.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/debugfs.c b/drivers/net/wireless/wl12xx/debugfs.c index 3cc5460c11f..94ad9948565 100644 --- a/drivers/net/wireless/wl12xx/debugfs.c +++ b/drivers/net/wireless/wl12xx/debugfs.c @@ -95,9 +95,13 @@ static const struct file_operations sub## _ ##name## _ops = { \ static void wl12xx_debugfs_update_stats(struct wl12xx *wl) { + int ret; + mutex_lock(&wl->mutex); - wl12xx_ps_elp_wakeup(wl); + ret = wl12xx_ps_elp_wakeup(wl); + if (ret < 0) + goto out; if (wl->state == WL12XX_STATE_ON && time_after(jiffies, wl->stats.fw_stats_update + @@ -108,6 +112,7 @@ static void wl12xx_debugfs_update_stats(struct wl12xx *wl) wl12xx_ps_elp_sleep(wl); +out: mutex_unlock(&wl->mutex); } |