diff options
author | Shubhrajyoti D <shubhrajyoti@ti.com> | 2011-10-24 06:24:24 -0400 |
---|---|---|
committer | Grant Likely <grant.likely@secretlab.ca> | 2011-10-24 07:44:30 -0400 |
commit | 1458d160de3f1862aeaac57447ba96e7857ac52b (patch) | |
tree | 98565db94ae3af17c6ac4a645f557818ff2e9ef3 /drivers | |
parent | a853ba8d6d5d76bcbc5bf35b945b5727b5e5a36d (diff) |
OMAP: SPI: Fix the trying to free nonexistent resource error
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/spi/spi-omap2-mcspi.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/spi/spi-omap2-mcspi.c b/drivers/spi/spi-omap2-mcspi.c index fde3a2d4f120..322be7aea8b4 100644 --- a/drivers/spi/spi-omap2-mcspi.c +++ b/drivers/spi/spi-omap2-mcspi.c | |||
@@ -1116,15 +1116,16 @@ static int __init omap2_mcspi_probe(struct platform_device *pdev) | |||
1116 | status = -ENODEV; | 1116 | status = -ENODEV; |
1117 | goto err1; | 1117 | goto err1; |
1118 | } | 1118 | } |
1119 | |||
1120 | r->start += pdata->regs_offset; | ||
1121 | r->end += pdata->regs_offset; | ||
1122 | mcspi->phys = r->start; | ||
1119 | if (!request_mem_region(r->start, resource_size(r), | 1123 | if (!request_mem_region(r->start, resource_size(r), |
1120 | dev_name(&pdev->dev))) { | 1124 | dev_name(&pdev->dev))) { |
1121 | status = -EBUSY; | 1125 | status = -EBUSY; |
1122 | goto err1; | 1126 | goto err1; |
1123 | } | 1127 | } |
1124 | 1128 | ||
1125 | r->start += pdata->regs_offset; | ||
1126 | r->end += pdata->regs_offset; | ||
1127 | mcspi->phys = r->start; | ||
1128 | mcspi->base = ioremap(r->start, resource_size(r)); | 1129 | mcspi->base = ioremap(r->start, resource_size(r)); |
1129 | if (!mcspi->base) { | 1130 | if (!mcspi->base) { |
1130 | dev_dbg(&pdev->dev, "can't ioremap MCSPI\n"); | 1131 | dev_dbg(&pdev->dev, "can't ioremap MCSPI\n"); |