diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2011-10-10 15:14:07 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:06:32 +0200 |
commit | bd401fbb9fc2867205c7acb644878697293b59f4 (patch) | |
tree | 28c32fead238ee27429539a6cd87f8ce86735aab /drivers/staging/cw1200/pm.c | |
parent | 9fc4089689c8cfc1e0f1248453d6210105b100ac (diff) |
cw1200: Syncing ALK and GLK tracks.
Change-Id: I111ab2cb92dc5fad3eb8938ceb76b7db715b54cc
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33545
Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com>
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Diffstat (limited to 'drivers/staging/cw1200/pm.c')
-rw-r--r-- | drivers/staging/cw1200/pm.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/staging/cw1200/pm.c b/drivers/staging/cw1200/pm.c index 7b2ba504cb2..7c1a957de3e 100644 --- a/drivers/staging/cw1200/pm.c +++ b/drivers/staging/cw1200/pm.c @@ -79,7 +79,7 @@ static void cw1200_pm_deinit_common(struct cw1200_pm_state *pm) #ifdef CONFIG_WAKELOCK int cw1200_pm_init(struct cw1200_pm_state *pm, - struct cw1200_common *priv) + struct cw1200_common *priv) { int ret = cw1200_pm_init_common(pm, priv); if (!ret) @@ -110,14 +110,15 @@ void cw1200_pm_stay_awake(struct cw1200_pm_state *pm, #else /* CONFIG_WAKELOCK */ -static void cw1200_pm_stay_awake_tmo(unsigned long) +static void cw1200_pm_stay_awake_tmo(unsigned long arg) { } -int cw1200_pm_init(struct cw1200_pm_state *pm) +int cw1200_pm_init(struct cw1200_pm_state *pm, + struct cw1200_common *priv) { - int ret = cw1200_pm_init_common(pm); - if (!ret) + int ret = cw1200_pm_init_common(pm, priv); + if (!ret) { init_timer(&pm->stay_awake); pm->stay_awake.data = (unsigned long)pm; pm->stay_awake.function = cw1200_pm_stay_awake_tmo; @@ -128,6 +129,7 @@ int cw1200_pm_init(struct cw1200_pm_state *pm) void cw1200_pm_deinit(struct cw1200_pm_state *pm) { del_timer_sync(&pm->stay_awake); + cw1200_pm_deinit_common(pm); } void cw1200_pm_stay_awake(struct cw1200_pm_state *pm, @@ -199,9 +201,9 @@ int cw1200_wow_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) int ret; #ifndef CONFIG_WAKELOCK - spin_lock_bh(&pm->lock); - ret = timer_pending(&pm->stay_awake); - spin_unlock_bh(&pm->lock); + spin_lock_bh(&pm_state->lock); + ret = timer_pending(&pm_state->stay_awake); + spin_unlock_bh(&pm_state->lock); if (ret) return -EAGAIN; #endif |