carl9170 toolchain: update to gcc 9.1.0
[carl9170fw.git] / carlfw / src / hostif.c
index 7ff1d9b243ba43d88d621019ece3634d66a5387a..06726dbdf7d9c6e47b9556ef0a550c4b6c61a205 100644 (file)
@@ -213,10 +213,14 @@ void handle_cmd(struct carl9170_rsp *resp)
                fw.reboot = 1;
                break;
 
-       case CARL9170_CMD_READ_TSF:
+       case CARL9170_CMD_READ_TSF: {
+               uint32_t tmptsf[2];
+
+               read_tsf(tmptsf);
                resp->hdr.len = 8;
-               read_tsf((uint32_t *)resp->tsf.tsf);
+               memcpy(resp->tsf.tsf, tmptsf, sizeof(tmptsf));
                break;
+               }
 
        case CARL9170_CMD_RX_FILTER:
                resp->hdr.len = 0;
@@ -234,6 +238,12 @@ void handle_cmd(struct carl9170_rsp *resp)
                memset(&fw.tally, 0, sizeof(struct carl9170_tally_rsp));
                break;
 
+       case CARL9170_CMD_WREGB:
+               resp->hdr.len = 0;
+               for (i = 0; i < MIN(cmd->wregb.count, cmd->hdr.len - 8); i++)
+                       setb(cmd->wregb.addr + i, cmd->wregb.val[i]);
+               break;
+
        case CARL9170_CMD_BCN_CTRL:
                resp->hdr.len = 0;