[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 12/13] nvme: fix bug with PCI IRQ pins on teardown
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PULL 12/13] nvme: fix bug with PCI IRQ pins on teardown |
Date: |
Thu, 22 Nov 2018 17:54:16 +0100 |
From: Logan Gunthorpe <address@hidden>
When the submission and completion queues are being torn down
the IRQ will be asserted for the completion queue when the
submsission queue is deleted. Then when the completion queue
is deleted it stays asserted. Thus, on systems that do
not use MSI, no further interrupts can be triggered on the host.
Linux sees this as a long delay when unbinding the nvme device.
Eventually the interrupt timeout occurs and it continues.
To fix this we ensure we deassert the IRQ for a CQ when it is
deleted.
Signed-off-by: Logan Gunthorpe <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
hw/block/nvme.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/block/nvme.c b/hw/block/nvme.c
index 84062d388f..1687a8e151 100644
--- a/hw/block/nvme.c
+++ b/hw/block/nvme.c
@@ -554,6 +554,7 @@ static uint16_t nvme_del_cq(NvmeCtrl *n, NvmeCmd *cmd)
trace_nvme_err_invalid_del_cq_notempty(qid);
return NVME_INVALID_QUEUE_DEL;
}
+ nvme_irq_deassert(n, cq);
trace_nvme_del_cq(qid);
nvme_free_cq(cq, n);
return NVME_SUCCESS;
--
2.19.1
- [Qemu-devel] [PULL 03/13] iotests: Skip 233 if certtool not installed, (continued)
- [Qemu-devel] [PULL 03/13] iotests: Skip 233 if certtool not installed, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 04/13] qemu-img: Fix typo, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 01/13] iotests: Replace time.clock() with Timeout, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 05/13] qemu-img: Fix leak, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 07/13] block: Fix update of BDRV_O_AUTO_RDONLY in update_flags_from_options(), Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 06/13] scsi-disk: Fix crash if underlying host file or disk returns error, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 08/13] iotests: fix nbd test 233 to work correctly with raw images, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 09/13] nvme: call blk_drain in NVMe reset code to avoid lockups, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 11/13] Revert "nvme: fix oob access issue(CVE-2018-16847)", Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 10/13] nvme: fix out-of-bounds access to the CMB, Kevin Wolf, 2018/11/22
- [Qemu-devel] [PULL 12/13] nvme: fix bug with PCI IRQ pins on teardown,
Kevin Wolf <=
- [Qemu-devel] [PULL 13/13] iotests: Enhance 223 to cover multiple bitmap granularities, Kevin Wolf, 2018/11/22
- Re: [Qemu-devel] [PULL 00/13] Block layer patches, Peter Maydell, 2018/11/22
- Re: [Qemu-devel] [PULL 00/13] Block layer patches, no-reply, 2018/11/23