X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Fsrc%2Fcmd.c;h=f7490db3940a14b00304b63d167c5dfa4902cc5f;hb=d57b31e45dca1087cefd56876a0a8064efe4e29c;hp=a222c6ca25dff0bbaeb272c64e872423dd8498cf;hpb=19e4d682fca010ef72e0a304335910f670c2268a;p=carl9170fw.git diff --git a/carlfw/src/cmd.c b/carlfw/src/cmd.c index a222c6c..f7490db 100644 --- a/carlfw/src/cmd.c +++ b/carlfw/src/cmd.c @@ -6,7 +6,7 @@ * Copyright (c) 2000-2005 ZyDAS Technology Corporation * Copyright (c) 2007-2009 Atheros Communications, Inc. * Copyright 2009 Johannes Berg - * Copyright 2009, 2010 Christian Lamparter + * Copyright 2009-2011 Christian Lamparter * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -86,6 +86,19 @@ void handle_cmd(struct carl9170_rsp *resp) fw.wlan.rx_filter = cmd->rx_filter.rx_filter; break; +#ifdef CONFIG_CARL9170FW_WOL + case CARL9170_CMD_WOL: + memcpy(&fw.wlan.wol.cmd, &cmd->wol, sizeof(cmd->wol)); + break; +#endif /* CONFIG_CARL9170FW_WOL */ + + case CARL9170_CMD_TALLY: + resp->hdr.len = sizeof(struct carl9170_tally_rsp); + memcpy(&resp->tally, &fw.tally, sizeof(struct carl9170_tally_rsp)); + tally_update(); + memset(&fw.tally, 0, sizeof(struct carl9170_tally_rsp)); + break; + #ifdef CONFIG_CARL9170FW_CAB_QUEUE case CARL9170_CMD_BCN_CTRL: resp->hdr.len = 0; @@ -128,13 +141,11 @@ void handle_cmd(struct carl9170_rsp *resp) rf_notify_set_channel(); break; -# ifdef CONFIG_CARL9170FW_PSM case CARL9170_CMD_PSM: resp->hdr.len = 0; fw.phy.psm.state = le32_to_cpu(cmd->psm.state); rf_psm(); break; -# endif /* CONFIG_CARL9170FW_PSM */ #endif /* CONFIG_CARL9170FW_RADIO_FUNCTIOS */ default: