On Mon, Sep 20, 2021 at 09:27:24AM +0200, Christoph Hellwig wrote:
> The recent block layer refactoring broke the way how the pmem driver
> abused device_add_disk. Fix this by properly passing the attribute groups
> to device_add_disk.
>
> Fixes: 52b85909f85d ("block: fold register_disk into device_add_disk")
> Signed-off-by: Christoph Hellwig <[email protected]>
Reviewed-by: Ira Weiny <[email protected]>
> ---
> drivers/nvdimm/pmem.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
> index 72de88ff0d30d..ef4950f808326 100644
> --- a/drivers/nvdimm/pmem.c
> +++ b/drivers/nvdimm/pmem.c
> @@ -380,7 +380,6 @@ static int pmem_attach_disk(struct device *dev,
> struct nd_pfn_sb *pfn_sb;
> struct pmem_device *pmem;
> struct request_queue *q;
> - struct device *gendev;
> struct gendisk *disk;
> void *addr;
> int rc;
> @@ -489,10 +488,8 @@ static int pmem_attach_disk(struct device *dev,
> }
> dax_write_cache(dax_dev, nvdimm_has_cache(nd_region));
> pmem->dax_dev = dax_dev;
> - gendev = disk_to_dev(disk);
> - gendev->groups = pmem_attribute_groups;
>
> - device_add_disk(dev, disk, NULL);
> + device_add_disk(dev, disk, pmem_attribute_groups);
> if (devm_add_action_or_reset(dev, pmem_release_disk, pmem))
> return -ENOMEM;
>
> --
> 2.30.2
>