diff options
| author | Damien Le Moal <[email protected]> | 2025-03-06 08:55:49 +0000 |
|---|---|---|
| committer | Keith Busch <[email protected]> | 2025-03-10 17:12:16 +0000 |
| commit | 39393f5c5c795992507aa5005a9d58396a5b07f1 (patch) | |
| tree | c6c628a903f0ac1dfe517f2c320ce492cccd785c /tools/testing/selftests/net/lib/py/utils.py | |
| parent | nvmet: pci-epf: Set NVMET_PCI_EPF_Q_LIVE when a queue is fully created (diff) | |
| download | kernel-39393f5c5c795992507aa5005a9d58396a5b07f1.tar.gz kernel-39393f5c5c795992507aa5005a9d58396a5b07f1.zip | |
nvmet: pci-epf: Do not add an IRQ vector if not needed
The function nvmet_pci_epf_create_cq() always unconditionally calls
nvmet_pci_epf_add_irq_vector() to add an IRQ vector for a completion
queue. But this is not correct if the host requested the creation of a
completion queue for polling, without an IRQ vector specified (i.e. the
flag NVME_CQ_IRQ_ENABLED is not set).
Fix this by calling nvmet_pci_epf_add_irq_vector() and setting the queue
flag NVMET_PCI_EPF_Q_IRQ_ENABLED for the cq only if NVME_CQ_IRQ_ENABLED
is set. While at it, also fix the error path to add the missing removal
of the added IRQ vector if nvmet_cq_create() fails.
Fixes: 0faa0fe6f90e ("nvmet: New NVMe PCI endpoint function target driver")
Signed-off-by: Damien Le Moal <[email protected]>
Reviewed-by: Christoph Hellwig <[email protected]>
Signed-off-by: Keith Busch <[email protected]>
Diffstat (limited to 'tools/testing/selftests/net/lib/py/utils.py')
0 files changed, 0 insertions, 0 deletions
