hwrng: amd - Fix return value check in mod_init()
authorWei Yongjun <weiyongjun1@huawei.com>
Fri, 16 Sep 2016 01:49:41 +0000 (01:49 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 22 Sep 2016 10:27:48 +0000 (18:27 +0800)
In case of error, the function devm_kzalloc() or devm_ioport_map()
return NULL pointer not ERR_PTR(). The IS_ERR() test in the return
value check should be replaced with NULL test.

Fixes: 31b2a73c9c5f ("hwrng: amd - Migrate to managed API")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/amd-rng.c

index 4dbc5aa233396e35c0cdc05f1bdb4d1afed39f65..4a99ac756f0815a890665f1433b1038a98069be9 100644 (file)
@@ -149,8 +149,8 @@ found:
                return -EIO;
 
        priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
-       if (IS_ERR(priv))
-               return PTR_ERR(priv);
+       if (!priv)
+               return -ENOMEM;
 
        if (!devm_request_region(&pdev->dev, pmbase + PMBASE_OFFSET,
                                PMBASE_SIZE, DRV_NAME)) {
@@ -161,9 +161,9 @@ found:
 
        priv->iobase = devm_ioport_map(&pdev->dev, pmbase + PMBASE_OFFSET,
                        PMBASE_SIZE);
-       if (IS_ERR(priv->iobase)) {
+       if (!priv->iobase) {
                pr_err(DRV_NAME "Cannot map ioport\n");
-               return PTR_ERR(priv->iobase);
+               return -ENOMEM;
        }
 
        amd_rng.priv = (unsigned long)priv;