UBUNTU: (fix) nvme: only require 1 interrupt vector, not 2+
BugLink: http://bugs.launchpad.net/bugs/1651602 Change the required minimum number of MSI/MSIX interrupt vectors from 2 to 1; the admin queue and first I/O queue actually share vector 0. Also change the max_qid assignment, to equal the number of vectors. Since the number of vectors is set to the number of cpus, on a system with only 1 cpu the previous code is guaranteed to fail, since there will only be 1 vector configured. The max_qid, while 0-based, also needs to be 1 larger than the number of (1-based) vectors, due to the admin queue and first I/O queue sharing the first vector. So the 0-based max_qid is set to equal the 1-based number of vectors, resulting in the correct number of total queues, which is 1 more than the total number of vectors, due to the admin queue and first I/O queue sharing vector 0. Fixes: 96fce9e4 ("NVMe: only setup MSIX once") Signed-off-by: Dan Streetman <dan.streetman@canonical.com> Acked-by: Brad Figg <brad.figg@canonical.com> Acked-by: Tim Gardner <tim.gardner@canonical.com> Signed-off-by: Brad Figg <brad.figg@canonical.com>
Showing
Please register or sign in to comment