| From | Alexander Gordeev <> | Subject | [PATCH v2 5/9] nvme: Fix invalid call to irq_set_affinity_hint() | Date | Fri, 17 Jan 2014 17:02:19 +0100 |
| |
In case MSI-X and MSI initialization failed the function irq_set_affinity_hint() is called with uninitialized value in dev->entry[0].vector. This update fixes the issue.
Signed-off-by: Alexander Gordeev <agordeev@redhat.com> --- drivers/block/nvme-core.c | 12 ++++++------ 1 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/block/nvme-core.c b/drivers/block/nvme-core.c index 26d03fa..e292450 100644 --- a/drivers/block/nvme-core.c +++ b/drivers/block/nvme-core.c @@ -1790,15 +1790,15 @@ static int nvme_setup_io_queues(struct nvme_dev *dev) vecs = 32; for (;;) { result = pci_enable_msi_block(pdev, vecs); - if (result == 0) { - for (i = 0; i < vecs; i++) - dev->entry[i].vector = i + pdev->irq; - break; + if (result > 0) { + vecs = result; + continue; } else if (result < 0) { vecs = 1; - break; } - vecs = result; + for (i = 0; i < vecs; i++) + dev->entry[i].vector = i + pdev->irq; + break; } } -- 1.7.7.6
|