summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorKeith Busch <keith.busch@intel.com>2016-04-08 16:09:10 -0600
committerJens Axboe <axboe@fb.com>2016-04-14 14:04:50 -0600
commita5229050b69cfffb690b546c357ca5a60434c0c8 (patch)
treebde4ca622d6703804bf474b57eea4aadf0ef73b2 /arch/arm
parent9bf2b972afeaffd173fe2ce211ebc555ea7e8a87 (diff)
NVMe: Always use MSI/MSI-x interrupts
Multiple users have reported device initialization failure due the driver not receiving legacy PCI interrupts. This is not unique to any particular controller, but has been observed on multiple platforms. There have been no issues reported or observed when with message signaled interrupts, so this patch attempts to use MSI-x during initialization, falling back to MSI. If that fails, legacy would become the default. The setup_io_queues error handling had to change as a result: the admin queue's msix_entry used to be initialized to the legacy IRQ. The case where nr_io_queues is 0 would fail request_irq when setting up the admin queue's interrupt since re-enabling MSI-x fails with 0 vectors, leaving the admin queue's msix_entry invalid. Instead, return success immediately. Reported-by: Tim Muhlemmer <muhlemmer@gmail.com> Reported-by: Jon Derrick <jonathan.derrick@intel.com> Signed-off-by: Keith Busch <keith.busch@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'arch/arm')
0 files changed, 0 insertions, 0 deletions