#include "printf.h"
#include "timer.h"
#include "wl.h"
+#include "wol.h"
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));
+ wol_cmd(&cmd->wol);
+ break;
+
+ case CARL9170_CMD_TALLY:
+ resp->hdr.len = sizeof(struct carl9170_tally_rsp);
+ memcpy(&resp->tally, &fw.tally, sizeof(struct carl9170_tally_rsp));
+ resp->tally.tick = fw.ticks_per_usec;
+ memset(&fw.tally, 0, sizeof(struct carl9170_tally_rsp));
break;
-#endif /* CONFIG_CARL9170FW_WOL */
#ifdef CONFIG_CARL9170FW_CAB_QUEUE
case CARL9170_CMD_BCN_CTRL:
set(AR9170_MAC_REG_BCN_CTRL, AR9170_BCN_CTRL_READY);
} else {
wlan_cab_flush_queue(cmd->bcn_ctrl.vif_id);
- fw.wlan.cab_flush_trigger[i] = CARL9170_CAB_TRIGGER_EMPTY;
+ fw.wlan.cab_flush_trigger[cmd->bcn_ctrl.vif_id] = CARL9170_CAB_TRIGGER_EMPTY;
}
break;
#endif /* CONFIG_CARL9170FW_CAB_QUEUE */
resp->hdr.len = 0;
disable_key(&cmd->disablekey);
break;
-#endif /* CONFIG_CARL9170FW_SECURIT_ENGINE */
+#endif /* CONFIG_CARL9170FW_SECURITY_ENGINE */
#ifdef CONFIG_CARL9170FW_RADIO_FUNCTIONS
case CARL9170_CMD_FREQUENCY:
fw.phy.psm.state = le32_to_cpu(cmd->psm.state);
rf_psm();
break;
-#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIOS */
+#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIONS */
default:
BUG("Unknown command %x\n", cmd->hdr.cmd);