| From 1458d160de3f1862aeaac57447ba96e7857ac52b Mon Sep 17 00:00:00 2001 |
| From: Shubhrajyoti D <shubhrajyoti@ti.com> |
| Date: Mon, 24 Oct 2011 15:54:24 +0530 |
| Subject: OMAP: SPI: Fix the trying to free nonexistent resource error |
| |
| From: Shubhrajyoti D <shubhrajyoti@ti.com> |
| |
| commit 1458d160de3f1862aeaac57447ba96e7857ac52b upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/spi/spi-omap2-mcspi.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/spi/spi-omap2-mcspi.c |
| +++ b/drivers/spi/spi-omap2-mcspi.c |
| @@ -1116,15 +1116,16 @@ static int __init omap2_mcspi_probe(stru |
| 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"); |