On Tue, 22 Mar 2011, Julia Lawall wrote: > Request_mem_region should be used with release_mem_region, not > release_resource. > > A semantic patch that partially fixes this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @b@ > expression x,E; > @@ > > x = request_mem_region(x->start,...) > ... when != release_mem_region(x->start,...) > when != x = E > ( > - release_resource(x); > - kfree(x); > + release_mem_region(x->start,resource_size(x)); > | > ?- release_resource(x); > + release_mem_region(x->start,resource_size(x)); > ) > // </smpl> > > Signed-off-by: Julia Lawall <julia@xxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxxx> > --- > drivers/mmc/host/mvsdio.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c > index a5bf60e..4606087 100644 > --- a/drivers/mmc/host/mvsdio.c > +++ b/drivers/mmc/host/mvsdio.c > @@ -825,7 +825,7 @@ out: > iounmap(host->base); > } > if (r) > - release_resource(r); > + release_mem_region(r->start, resource_size(r)); > if (mmc) > mmc_free_host(mmc); > > @@ -850,7 +850,7 @@ static int __exit mvsd_remove(struct platform_device *pdev) > del_timer_sync(&host->timer); > mvsd_power_down(host); > iounmap(host->base); > - release_resource(host->res); > + release_mem_region(host->res->start, resource_size(host->res)); > mmc_free_host(mmc); > } > platform_set_drvdata(pdev, NULL); > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html