mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 00:53:34 +02:00
nvme-pci: refresh visible attrs after being checked
The sysfs attributes are registered early, but the driver does not know whether they are needed or not at that moment. For the CMB attributes, commite917a849c3("nvme-pci: refresh visible attrs for cmb attributes") solved this problem by calling nvme_update_attrs after mapping the CMB. However the issue persists for the HMB attributes. To solve the problem, moved the call to nvme_update_attrs after nvme_setup_host_mem, which sets up the HMB. Fixes:e917a849c3("nvme-pci: refresh visible attrs for cmb attributes") Fixes:86adbf0cdb("nvme: simplify transport specific device attribute handling") Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com> Signed-off-by: André Almeida <andrealmeid@igalia.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
190f4c2c86
commit
14005c96d6
|
|
@ -2101,8 +2101,6 @@ static void nvme_map_cmb(struct nvme_dev *dev)
|
|||
if ((dev->cmbsz & (NVME_CMBSZ_WDS | NVME_CMBSZ_RDS)) ==
|
||||
(NVME_CMBSZ_WDS | NVME_CMBSZ_RDS))
|
||||
pci_p2pmem_publish(pdev, true);
|
||||
|
||||
nvme_update_attrs(dev);
|
||||
}
|
||||
|
||||
static int nvme_set_host_mem(struct nvme_dev *dev, u32 bits)
|
||||
|
|
@ -3010,6 +3008,8 @@ static void nvme_reset_work(struct work_struct *work)
|
|||
if (result < 0)
|
||||
goto out;
|
||||
|
||||
nvme_update_attrs(dev);
|
||||
|
||||
result = nvme_setup_io_queues(dev);
|
||||
if (result)
|
||||
goto out;
|
||||
|
|
@ -3343,6 +3343,8 @@ static int nvme_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
|||
if (result < 0)
|
||||
goto out_disable;
|
||||
|
||||
nvme_update_attrs(dev);
|
||||
|
||||
result = nvme_setup_io_queues(dev);
|
||||
if (result)
|
||||
goto out_disable;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user