diff options
author | Jens Axboe <axboe@kernel.dk> | 2018-11-14 10:13:50 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2018-11-14 10:13:50 -0700 |
commit | 30e066286e232772cad72c87008a958e23e40a33 (patch) | |
tree | 3f75b8d7a2e3879410bac5a06ae56ea55a7ee64e /block | |
parent | d16a67667c611f00b5ec0017ad2b18f473af13d2 (diff) | |
download | lwn-30e066286e232772cad72c87008a958e23e40a33.tar.gz lwn-30e066286e232772cad72c87008a958e23e40a33.zip |
nvme: fix boot hang with only being able to get one IRQ vector
NVMe always asks for io_queues + 1 worth of IRQ vectors, which
means that even when we scale all the way down, we still ask
for 2 vectors and get -ENOSPC in return if the system can't
support more than 1.
Getting just 1 vector is fine, it just means that we'll have
1 IO queue and 1 admin queue, with a shared vector between them.
Check for this case and don't add our + 1 if it happens.
Fixes: 3b6592f70ad7 ("nvme: utilize two queue maps, one for reads and one for writes")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions