diff options
Diffstat (limited to 'drivers/net/wireless/libertas/cmdresp.c')
-rw-r--r-- | drivers/net/wireless/libertas/cmdresp.c | 30 |
1 files changed, 6 insertions, 24 deletions
diff --git a/drivers/net/wireless/libertas/cmdresp.c b/drivers/net/wireless/libertas/cmdresp.c index 88f7131d66e9..d6c306353640 100644 --- a/drivers/net/wireless/libertas/cmdresp.c +++ b/drivers/net/wireless/libertas/cmdresp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include "dev.h" | 17 | #include "dev.h" |
18 | #include "assoc.h" | 18 | #include "assoc.h" |
19 | #include "wext.h" | 19 | #include "wext.h" |
20 | #include "cmd.h" | ||
20 | 21 | ||
21 | /** | 22 | /** |
22 | * @brief This function handles disconnect event. it | 23 | * @brief This function handles disconnect event. it |
@@ -341,32 +342,10 @@ done: | |||
341 | return ret; | 342 | return ret; |
342 | } | 343 | } |
343 | 344 | ||
344 | static int lbs_send_confirmwake(struct lbs_private *priv) | ||
345 | { | ||
346 | struct cmd_header cmd; | ||
347 | int ret = 0; | ||
348 | |||
349 | lbs_deb_enter(LBS_DEB_HOST); | ||
350 | |||
351 | cmd.command = cpu_to_le16(CMD_802_11_WAKEUP_CONFIRM); | ||
352 | cmd.size = cpu_to_le16(sizeof(cmd)); | ||
353 | cmd.seqnum = cpu_to_le16(++priv->seqnum); | ||
354 | cmd.result = 0; | ||
355 | |||
356 | lbs_deb_hex(LBS_DEB_HOST, "wake confirm", (u8 *) &cmd, | ||
357 | sizeof(cmd)); | ||
358 | |||
359 | ret = priv->hw_host_to_card(priv, MVMS_CMD, (u8 *) &cmd, sizeof(cmd)); | ||
360 | if (ret) | ||
361 | lbs_pr_alert("SEND_WAKEC_CMD: Host to Card failed for Confirm Wake\n"); | ||
362 | |||
363 | lbs_deb_leave_args(LBS_DEB_HOST, "ret %d", ret); | ||
364 | return ret; | ||
365 | } | ||
366 | |||
367 | int lbs_process_event(struct lbs_private *priv, u32 event) | 345 | int lbs_process_event(struct lbs_private *priv, u32 event) |
368 | { | 346 | { |
369 | int ret = 0; | 347 | int ret = 0; |
348 | struct cmd_header cmd; | ||
370 | 349 | ||
371 | lbs_deb_enter(LBS_DEB_CMD); | 350 | lbs_deb_enter(LBS_DEB_CMD); |
372 | 351 | ||
@@ -410,7 +389,10 @@ int lbs_process_event(struct lbs_private *priv, u32 event) | |||
410 | if (priv->reset_deep_sleep_wakeup) | 389 | if (priv->reset_deep_sleep_wakeup) |
411 | priv->reset_deep_sleep_wakeup(priv); | 390 | priv->reset_deep_sleep_wakeup(priv); |
412 | priv->is_deep_sleep = 0; | 391 | priv->is_deep_sleep = 0; |
413 | lbs_send_confirmwake(priv); | 392 | lbs_cmd_async(priv, CMD_802_11_WAKEUP_CONFIRM, &cmd, |
393 | sizeof(cmd)); | ||
394 | priv->is_host_sleep_activated = 0; | ||
395 | wake_up_interruptible(&priv->host_sleep_q); | ||
414 | break; | 396 | break; |
415 | 397 | ||
416 | case MACREG_INT_CODE_DEEP_SLEEP_AWAKE: | 398 | case MACREG_INT_CODE_DEEP_SLEEP_AWAKE: |