case BTINTEL_PCIE_INTEL_HCI_RESET1:
                if (btintel_pcie_in_op(data)) {
                        submit_rx = true;
+                       signal_waitq = true;
                        break;
                }
 
                if (btintel_pcie_in_iml(data)) {
                        submit_rx = true;
+                       signal_waitq = true;
                        data->alive_intr_ctxt = BTINTEL_PCIE_FW_DL;
                        break;
                }
                        if (opcode == BTINTEL_HCI_OP_RESET)
                                btintel_pcie_inject_cmd_complete(hdev, opcode);
                }
-               /* Firmware raises alive interrupt on HCI_OP_RESET */
-               if (opcode == HCI_OP_RESET)
+
+               /* Firmware raises alive interrupt on HCI_OP_RESET or
+                * BTINTEL_HCI_OP_RESET
+                */
+               if (opcode == HCI_OP_RESET || opcode == BTINTEL_HCI_OP_RESET)
                        data->gp0_received = false;
 
                hdev->stat.cmd_tx++;
                bt_dev_dbg(data->hdev, "sent cmd: 0x%4.4x alive context changed: %s  ->  %s",
                           opcode, btintel_pcie_alivectxt_state2str(old_ctxt),
                           btintel_pcie_alivectxt_state2str(data->alive_intr_ctxt));
-               if (opcode == HCI_OP_RESET) {
-                       ret = wait_event_timeout(data->gp0_wait_q,
-                                                data->gp0_received,
-                                                msecs_to_jiffies(BTINTEL_DEFAULT_INTR_TIMEOUT_MS));
-                       if (!ret) {
-                               hdev->stat.err_tx++;
-                               bt_dev_err(hdev, "No alive interrupt received for %s",
-                                          btintel_pcie_alivectxt_state2str(data->alive_intr_ctxt));
-                               ret = -ETIME;
-                               goto exit_error;
-                       }
+               ret = wait_event_timeout(data->gp0_wait_q,
+                                        data->gp0_received,
+                                        msecs_to_jiffies(BTINTEL_DEFAULT_INTR_TIMEOUT_MS));
+               if (!ret) {
+                       hdev->stat.err_tx++;
+                       bt_dev_err(hdev, "Timeout on alive interrupt (%u ms). Alive context: %s",
+                                  BTINTEL_DEFAULT_INTR_TIMEOUT_MS,
+                                  btintel_pcie_alivectxt_state2str(data->alive_intr_ctxt));
+                       ret = -ETIME;
+                       goto exit_error;
                }
        }
        hdev->stat.byte_tx += skb->len;