HomeFreeBSD

MFC r295532:

Description

MFC r295532:

nvme: avoid duplicate SET_NUM_QUEUES commands

nvme(4) issues a SET_NUM_QUEUES command during device
initialization to ensure enough I/O queues exists for each
of the MSI-X vectors we have allocated.  The SET_NUM_QUEUES
command is then issued again during nvme_ctrlr_start(), to
ensure that is properly set after any controller reset.

At least one NVMe drive exists which fails this second
SET_NUM_QUEUES command during device initialization.  So
change nvme_ctrlr_start() to only issue its SET_NUM_QUEUES
command when it is coming out of a reset - avoiding the
duplicate SET_NUM_QUEUES during device initialization.

Approved by: re (glebius)
Sponsored by: Intel

Details

Provenance
jimharrisAuthored on
Parents
rS295703: Do not use PMAP_DOMAIN_KERNEL definition for __ARM_ARCH >= 6 as domains
Branches
Unknown
Tags
Unknown