Re: [PATCH 06/10] mmc/core/block: add error handling support for add_disk()

From: Luis Chamberlain
Date: Mon Aug 30 2021 - 16:42:46 EST


On Sat, Aug 28, 2021 at 08:32:11AM +0100, Christoph Hellwig wrote:
> On Fri, Aug 27, 2021 at 11:42:36AM -0700, Luis Chamberlain wrote:
> > > > if (area_type == MMC_BLK_DATA_AREA_MAIN)
> > > > dev_set_drvdata(&card->dev, md);
> > > > - device_add_disk(md->parent, md->disk, mmc_disk_attr_groups);
> > > > + ret = device_add_disk(md->parent, md->disk, mmc_disk_attr_groups);
> > > > + if (ret)
> > > > + goto out;
> > >
> > > This needs to do a blk_cleanup_queue and also te kfree of md.
> >
> > If mmc_blk_alloc_parts() fails mmc_blk_remove_req() is called which
> > does both for us?
>
> Yes, but only for the main gendisk, and those parts already added to
> the list which happens after device_add_disk succeeded.

Ah yes I see that now. Will fix up. The tag also needs to be cleaned up.

Luis