]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
OMAP: SPI: Fix the trying to free nonexistent resource error
authorShubhrajyoti D <shubhrajyoti@ti.com>
Mon, 24 Oct 2011 10:24:24 +0000 (15:54 +0530)
committerGrant Likely <grant.likely@secretlab.ca>
Mon, 24 Oct 2011 11:44:30 +0000 (13:44 +0200)
Currently there is a request_mem_region(r->start, ..
followed by r->start += pdata->regs_offset;

And then in remove

   r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
   release_mem_region(r->start, resource_size(r));

Here the offset addition is not taken care. Fix the code for the
same.

Signed-off-by: Shubhrajyoti D <shubhrajyoti@ti.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/spi/spi-omap2-mcspi.c

index fde3a2d4f120deffdae739058622ae7c527a5529..322be7aea8b429d24e78c1de6986dbf5b91efcb3 100644 (file)
@@ -1116,15 +1116,16 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev)
                status = -ENODEV;
                goto err1;
        }
+
+       r->start += pdata->regs_offset;
+       r->end += pdata->regs_offset;
+       mcspi->phys = r->start;
        if (!request_mem_region(r->start, resource_size(r),
                                dev_name(&pdev->dev))) {
                status = -EBUSY;
                goto err1;
        }
 
-       r->start += pdata->regs_offset;
-       r->end += pdata->regs_offset;
-       mcspi->phys = r->start;
        mcspi->base = ioremap(r->start, resource_size(r));
        if (!mcspi->base) {
                dev_dbg(&pdev->dev, "can't ioremap MCSPI\n");