resp->hdr.ext = cmd->hdr.ext;
resp->hdr.seq |= cmd->hdr.seq;
- switch (cmd->hdr.cmd) {
+ switch (cmd->hdr.cmd & ~CARL9170_CMD_ASYNC_FLAG) {
case CARL9170_CMD_RREG:
for (i = 0; i < (cmd->hdr.len / 4); i++)
resp->rreg_res.vals[i] = get(cmd->rreg.regs[i]);
break;
case CARL9170_CMD_SWRST:
- resp->hdr.len = 0;
+ /*
+ * Command has no payload, so the response
+ * has no payload either.
+ * resp->hdr.len = 0;
+ */
fw.wlan.mac_reset = CARL9170_MAC_RESET_FORCE;
break;
case CARL9170_CMD_REBOOT:
/*
- * reboot does not return and generates no response
* resp->len = 0;
*/
-
- reboot();
+ fw.reboot = 1;
break;
case CARL9170_CMD_READ_TSF:
break;
case CARL9170_CMD_FREQ_START:
- resp->hdr.len = 0;
+ /*
+ * resp->hdr.len = 0;
+ */
rf_notify_set_channel();
break;
# endif /* CONFIG_CARL9170FW_PSM */
#endif /* CONFIG_CARL9170FW_RADIO_FUNCTIOS */
-#ifdef CONFIG_CARL9170FW_USB_WATCHDOG
- case CARL9170_CMD_USB_WD:
- resp->hdr.len = 4;
- fw.usb.watchdog.state = le32_to_cpu(cmd->watchdog.state);
- break;
-
-#endif /* CONFIG_CARL9170FW_USB_WATCHDOG */
-
default:
break;
}