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]);
CARL9170_CMD_FREQ_START = 0x23,
CARL9170_CMD_PSM = 0x24,
+ /* Asychronous command flag */
+ CARL9170_CMD_ASYNC_FLAG = 0x40,
+ CARL9170_CMD_WREG_ASYNC = (CARL9170_CMD_WREG |
+ CARL9170_CMD_ASYNC_FLAG),
+ CARL9170_CMD_REBOOT_ASYNC = (CARL9170_CMD_REBOOT |
+ CARL9170_CMD_ASYNC_FLAG),
+ CARL9170_CMD_FLUSH_CAB_ASYNC = (CARL9170_CMD_FLUSH_CAB |
+ CARL9170_CMD_ASYNC_FLAG),
+
/* responses and traps */
+ CARL9170_RSP_FLAG = 0xc0,
CARL9170_RSP_PRETBTT = 0xc0,
CARL9170_RSP_TXCOMP = 0xc1,
CARL9170_RSP_BEACON_CONFIG = 0xc2,