|
@@ -981,11 +981,13 @@ static bool mei_txe_check_and_ack_intrs(struct mei_device *dev, bool do_ack)
|
|
hisr = mei_txe_br_reg_read(hw, HISR_REG);
|
|
hisr = mei_txe_br_reg_read(hw, HISR_REG);
|
|
|
|
|
|
aliveness = mei_txe_aliveness_get(dev);
|
|
aliveness = mei_txe_aliveness_get(dev);
|
|
- if (hhisr & IPC_HHIER_SEC && aliveness)
|
|
|
|
|
|
+ if (hhisr & IPC_HHIER_SEC && aliveness) {
|
|
ipc_isr = mei_txe_sec_reg_read_silent(hw,
|
|
ipc_isr = mei_txe_sec_reg_read_silent(hw,
|
|
SEC_IPC_HOST_INT_STATUS_REG);
|
|
SEC_IPC_HOST_INT_STATUS_REG);
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
ipc_isr = 0;
|
|
ipc_isr = 0;
|
|
|
|
+ hhisr &= ~IPC_HHIER_SEC;
|
|
|
|
+ }
|
|
|
|
|
|
generated = generated ||
|
|
generated = generated ||
|
|
(hisr & HISR_INT_STS_MSK) ||
|
|
(hisr & HISR_INT_STS_MSK) ||
|