OSDN Git Service

ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host...
authorSuman Tripathi <stripathi@apm.com>
Mon, 22 Sep 2014 13:01:33 +0000 (18:31 +0530)
committerTejun Heo <tj@kernel.org>
Tue, 23 Sep 2014 14:07:11 +0000 (10:07 -0400)
This patch fixes the error print invalid resource for the APM X-Gene
SoC AHCI SATA Host Controller driver. This print was due to the fact
that the controller 3 don't have a mux resource. This didn't result
in any errors but the print seems like meaningless.

Signed-off-by: Loc Ho <lho@apm.com>
Signed-off-by: Suman Tripathi <stripathi@apm.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci_xgene.c

index bc28111..7822c8e 100644 (file)
@@ -406,7 +406,7 @@ static int xgene_ahci_mux_select(struct xgene_ahci_context *ctx)
        u32 val;
 
        /* Check for optional MUX resource */
-       if (IS_ERR(ctx->csr_mux))
+       if (!ctx->csr_mux)
                return 0;
 
        val = readl(ctx->csr_mux + SATA_ENET_CONFIG_REG);
@@ -456,7 +456,13 @@ static int xgene_ahci_probe(struct platform_device *pdev)
 
        /* Retrieve the optional IP mux resource */
        res = platform_get_resource(pdev, IORESOURCE_MEM, 4);
-       ctx->csr_mux = devm_ioremap_resource(dev, res);
+       if (res) {
+               void __iomem *csr = devm_ioremap_resource(dev, res);
+               if (IS_ERR(csr))
+                       return PTR_ERR(csr);
+
+               ctx->csr_mux = csr;
+       }
 
        dev_dbg(dev, "VAddr 0x%p Mmio VAddr 0x%p\n", ctx->csr_core,
                hpriv->mmio);