[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] hw/nvme: clear masked events from the aer queue
From: |
Arun Kumar |
Subject: |
[PATCH] hw/nvme: clear masked events from the aer queue |
Date: |
Fri, 6 Sep 2024 05:28:59 +0530 |
clear masked events from the aer queue when get log page is issued with
rae=0 without checking for the presence of outstanding aer requests
Signed-off-by: Arun Kumar <arun.kka@samsung.com>
---
hw/nvme/ctrl.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 127c3d2383..85039779da 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -1649,9 +1649,16 @@ static void nvme_smart_event(NvmeCtrl *n, uint8_t event)
static void nvme_clear_events(NvmeCtrl *n, uint8_t event_type)
{
+ NvmeAsyncEvent *event, *next;
n->aer_mask &= ~(1 << event_type);
if (!QTAILQ_EMPTY(&n->aer_queue)) {
- nvme_process_aers(n);
+ QTAILQ_FOREACH_SAFE(event, &n->aer_queue, entry, next) {
+ if (event->result.event_type == event_type) {
+ QTAILQ_REMOVE(&n->aer_queue, event, entry);
+ n->aer_queued--;
+ g_free(event);
+ }
+ }
}
}
--
2.43.0
- [PATCH] hw/nvme: clear masked events from the aer queue,
Arun Kumar <=