diff options
author | Dan Williams <dcbw@redhat.com> | 2010-07-27 16:08:08 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-07-27 15:14:12 -0400 |
commit | 0bb6408777227fcf5136e28aec29438606d5ac82 (patch) | |
tree | cf2d146d310d3d613b2ff3d9bf9cabe1de3d6ece /drivers/net/wireless/libertas/cmdresp.c | |
parent | 8196112859a6742b9e25ca5fde972a7f41f06cc3 (diff) |
libertas: convert PS_MODE to a direct command
Powersave looks like it got broken at some point but we'll fix that up
when the command submission stuff is more understandable, which this
series helps to do. That said, this patch should not further break
powersave.
Signed-off-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index a4e147a11d0c..83283b8efd62 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -49,7 +49,7 @@ void lbs_mac_event_disconnected(struct lbs_private *priv) | |||
49 | if (priv->psstate != PS_STATE_FULL_POWER) { | 49 | if (priv->psstate != PS_STATE_FULL_POWER) { |
50 | /* make firmware to exit PS mode */ | 50 | /* make firmware to exit PS mode */ |
51 | lbs_deb_cmd("disconnected, so exit PS mode\n"); | 51 | lbs_deb_cmd("disconnected, so exit PS mode\n"); |
52 | lbs_ps_wakeup(priv, 0); | 52 | lbs_set_ps_mode(priv, PS_MODE_ACTION_EXIT_PS, false); |
53 | } | 53 | } |
54 | lbs_deb_leave(LBS_DEB_ASSOC); | 54 | lbs_deb_leave(LBS_DEB_ASSOC); |
55 | } | 55 | } |
@@ -132,9 +132,9 @@ int lbs_process_command_response(struct lbs_private *priv, u8 *data, u32 len) | |||
132 | * lbs_execute_next_command(). | 132 | * lbs_execute_next_command(). |
133 | */ | 133 | */ |
134 | if (priv->wdev->iftype == NL80211_IFTYPE_MONITOR && | 134 | if (priv->wdev->iftype == NL80211_IFTYPE_MONITOR && |
135 | action == CMD_SUBCMD_ENTER_PS) | 135 | action == PS_MODE_ACTION_ENTER_PS) |
136 | priv->psmode = LBS802_11POWERMODECAM; | 136 | priv->psmode = LBS802_11POWERMODECAM; |
137 | } else if (action == CMD_SUBCMD_ENTER_PS) { | 137 | } else if (action == PS_MODE_ACTION_ENTER_PS) { |
138 | priv->needtowakeup = 0; | 138 | priv->needtowakeup = 0; |
139 | priv->psstate = PS_STATE_AWAKE; | 139 | priv->psstate = PS_STATE_AWAKE; |
140 | 140 | ||
@@ -149,11 +149,12 @@ int lbs_process_command_response(struct lbs_private *priv, u8 *data, u32 len) | |||
149 | 149 | ||
150 | spin_unlock_irqrestore(&priv->driver_lock, flags); | 150 | spin_unlock_irqrestore(&priv->driver_lock, flags); |
151 | mutex_unlock(&priv->lock); | 151 | mutex_unlock(&priv->lock); |
152 | lbs_ps_wakeup(priv, 0); | 152 | lbs_set_ps_mode(priv, PS_MODE_ACTION_EXIT_PS, |
153 | false); | ||
153 | mutex_lock(&priv->lock); | 154 | mutex_lock(&priv->lock); |
154 | spin_lock_irqsave(&priv->driver_lock, flags); | 155 | spin_lock_irqsave(&priv->driver_lock, flags); |
155 | } | 156 | } |
156 | } else if (action == CMD_SUBCMD_EXIT_PS) { | 157 | } else if (action == PS_MODE_ACTION_EXIT_PS) { |
157 | priv->needtowakeup = 0; | 158 | priv->needtowakeup = 0; |
158 | priv->psstate = PS_STATE_FULL_POWER; | 159 | priv->psstate = PS_STATE_FULL_POWER; |
159 | lbs_deb_host("CMD_RESP: EXIT_PS command response\n"); | 160 | lbs_deb_host("CMD_RESP: EXIT_PS command response\n"); |
@@ -291,7 +292,7 @@ int lbs_process_event(struct lbs_private *priv, u32 event) | |||
291 | * in lbs_ps_wakeup() | 292 | * in lbs_ps_wakeup() |
292 | */ | 293 | */ |
293 | lbs_deb_cmd("waking up ...\n"); | 294 | lbs_deb_cmd("waking up ...\n"); |
294 | lbs_ps_wakeup(priv, 0); | 295 | lbs_set_ps_mode(priv, PS_MODE_ACTION_EXIT_PS, false); |
295 | } | 296 | } |
296 | break; | 297 | break; |
297 | 298 | ||