nvme: fix drvdata setup for the nvme device
Pass the right private data to device_create_with_groups from the beginning, and remove the superflous call to dev_set_drvdata. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jon Derrick <jonathan.derrick@intel.com> Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
parent
949928c1c7
commit
f4f0f63e6f
|
@ -1383,14 +1383,13 @@ int nvme_init_ctrl(struct nvme_ctrl *ctrl, struct device *dev,
|
||||||
|
|
||||||
ctrl->device = device_create_with_groups(nvme_class, ctrl->dev,
|
ctrl->device = device_create_with_groups(nvme_class, ctrl->dev,
|
||||||
MKDEV(nvme_char_major, ctrl->instance),
|
MKDEV(nvme_char_major, ctrl->instance),
|
||||||
dev, nvme_dev_attr_groups,
|
ctrl, nvme_dev_attr_groups,
|
||||||
"nvme%d", ctrl->instance);
|
"nvme%d", ctrl->instance);
|
||||||
if (IS_ERR(ctrl->device)) {
|
if (IS_ERR(ctrl->device)) {
|
||||||
ret = PTR_ERR(ctrl->device);
|
ret = PTR_ERR(ctrl->device);
|
||||||
goto out_release_instance;
|
goto out_release_instance;
|
||||||
}
|
}
|
||||||
get_device(ctrl->device);
|
get_device(ctrl->device);
|
||||||
dev_set_drvdata(ctrl->device, ctrl);
|
|
||||||
|
|
||||||
spin_lock(&dev_list_lock);
|
spin_lock(&dev_list_lock);
|
||||||
list_add_tail(&ctrl->node, &nvme_ctrl_list);
|
list_add_tail(&ctrl->node, &nvme_ctrl_list);
|
||||||
|
|
Loading…
Reference in New Issue