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