lkml.org 
[lkml]   [2019]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.2 010/131] soc: imx: soc-imx8: Correct return value of error handle
    Date
    [ Upstream commit 4c396a604a57da8f883a8b3368d83181680d6907 ]

    Current implementation of i.MX8 SoC driver returns -ENODEV
    for all cases of error during initialization, this is incorrect.
    This patch fixes them using correct return value according
    to different errors.

    Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
    Reviewed-by: Leonard Crestez <leonard.crestez@nxp.com>
    Signed-off-by: Shawn Guo <shawnguo@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/soc/imx/soc-imx8.c | 16 +++++++++++-----
    1 file changed, 11 insertions(+), 5 deletions(-)

    diff --git a/drivers/soc/imx/soc-imx8.c b/drivers/soc/imx/soc-imx8.c
    index fc6429f9170a6..e567d866a9d31 100644
    --- a/drivers/soc/imx/soc-imx8.c
    +++ b/drivers/soc/imx/soc-imx8.c
    @@ -73,7 +73,7 @@ static int __init imx8_soc_init(void)

    soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
    if (!soc_dev_attr)
    - return -ENODEV;
    + return -ENOMEM;

    soc_dev_attr->family = "Freescale i.MX";

    @@ -83,8 +83,10 @@ static int __init imx8_soc_init(void)
    goto free_soc;

    id = of_match_node(imx8_soc_match, root);
    - if (!id)
    + if (!id) {
    + ret = -ENODEV;
    goto free_soc;
    + }

    of_node_put(root);

    @@ -96,12 +98,16 @@ static int __init imx8_soc_init(void)
    }

    soc_dev_attr->revision = imx8_revision(soc_rev);
    - if (!soc_dev_attr->revision)
    + if (!soc_dev_attr->revision) {
    + ret = -ENOMEM;
    goto free_soc;
    + }

    soc_dev = soc_device_register(soc_dev_attr);
    - if (IS_ERR(soc_dev))
    + if (IS_ERR(soc_dev)) {
    + ret = PTR_ERR(soc_dev);
    goto free_rev;
    + }

    return 0;

    @@ -110,6 +116,6 @@ free_rev:
    free_soc:
    kfree(soc_dev_attr);
    of_node_put(root);
    - return -ENODEV;
    + return ret;
    }
    device_initcall(imx8_soc_init);
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-08-05 15:56    [W:4.077 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site