lkml.org 
[lkml]   [2021]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 08/14] block/sunvdc: add error handling support for add_disk()
    Date
    We never checked for errors on add_disk() as this function
    returned void. Now that this is fixed, use the shiny new
    error handling.

    We re-use the same free tag call, so we also add a label for
    that as well.

    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
    ---
    drivers/block/sunvdc.c | 14 +++++++++++---
    1 file changed, 11 insertions(+), 3 deletions(-)

    diff --git a/drivers/block/sunvdc.c b/drivers/block/sunvdc.c
    index 4d4bb810c2ae..6f45a53f7cbf 100644
    --- a/drivers/block/sunvdc.c
    +++ b/drivers/block/sunvdc.c
    @@ -826,8 +826,8 @@ static int probe_disk(struct vdc_port *port)
    if (IS_ERR(g)) {
    printk(KERN_ERR PFX "%s: Could not allocate gendisk.\n",
    port->vio.name);
    - blk_mq_free_tag_set(&port->tag_set);
    - return PTR_ERR(g);
    + err = PTR_ERR(g);
    + goto out_free_tag;
    }

    port->disk = g;
    @@ -879,9 +879,17 @@ static int probe_disk(struct vdc_port *port)
    port->vdisk_size, (port->vdisk_size >> (20 - 9)),
    port->vio.ver.major, port->vio.ver.minor);

    - device_add_disk(&port->vio.vdev->dev, g, NULL);
    + err = device_add_disk(&port->vio.vdev->dev, g, NULL);
    + if (err)
    + goto out_cleanup_disk;

    return 0;
    +
    +out_cleanup_disk:
    + blk_cleanup_disk(g);
    +out_free_tag:
    + blk_mq_free_tag_set(&port->tag_set);
    + return err;
    }

    static struct ldc_channel_config vdc_ldc_cfg = {
    --
    2.33.0
    \
     
     \ /
      Last update: 2021-11-04 00:06    [W:3.235 / U:0.812 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site