On Tue, Aug 24, 2021 at 07:13:13AM +0100, Christoph Hellwig wrote: > On Mon, Aug 23, 2021 at 01:29:26PM -0700, Luis Chamberlain wrote: > > We never checked for errors on add_disk() as this function > > returned void. Now that this is fixed, use the shiny new > > error handling. > > > > The caller cleanups the disk already so all we need to do > > is just pass along the return value. > > > > Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> > > --- > > drivers/mmc/core/block.c | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c > > index 4c11f171e56d..4f12c6d1e1b5 100644 > > --- a/drivers/mmc/core/block.c > > +++ b/drivers/mmc/core/block.c > > @@ -2432,7 +2432,9 @@ static struct mmc_blk_data *mmc_blk_alloc_req(struct mmc_card *card, > > /* used in ->open, must be set before add_disk: */ > > 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? Luis