summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/pm.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/cw1200/pm.c')
-rw-r--r--drivers/staging/cw1200/pm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/staging/cw1200/pm.c b/drivers/staging/cw1200/pm.c
index 3cb6b62b530..3d7570767ed 100644
--- a/drivers/staging/cw1200/pm.c
+++ b/drivers/staging/cw1200/pm.c
@@ -95,6 +95,7 @@ void cw1200_pm_deinit(struct cw1200_pm_state *pm)
wake_lock_destroy(&pm->wakelock);
cw1200_pm_deinit_common(pm);
}
+
void cw1200_pm_stay_awake(struct cw1200_pm_state *pm,
unsigned long tmo)
{
@@ -205,6 +206,10 @@ int cw1200_wow_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan)
return -EAGAIN;
#endif
+ /* Do not suspend when datapath is not idle */
+ if (priv->tx_queue_stats.num_queued)
+ return -EBUSY;
+
/* Make sure there is no configuration requests in progress. */
if (!mutex_trylock(&priv->conf_mutex))
return -EBUSY;