[PATCH] Fix kfree usage in various mtd map remove functions
Phil Endecott
spam_from_linux_mtd at chezphil.org
Mon May 21 13:09:46 EDT 2007
The other issue that I noticed was the use of release_resource()
instead of release_mem_region(). I'm not at all sure what should be
going on here, but as far as I can see from kernel/resource.c these
functions are not equivalent, and the "Linux Device Drivers" book shows
release_mem_region() used to reverse the effect of
request_mem_region(). I think that release_resource() should be called
when (for example) a hotpluggable device is unplugged and the resource
goes away, whereas release_mem_region() should be called when a driver
no longer needs use of that area of memory. It's complex to understand
the source because the same 'struct resource' is used to describe a
physical resource and also a reservation/allocation of a portion of a
physical resource to a driver.
I could submit a patch that replaces the release_resource() calls with
release_mem_region(), but I would not be happy doing so unless someone
with a bit more of a clue than me said it was the right thing to do.
Does anyone know of any documentation for any of these 'resource' functions?
See for example:
drivers/mtd/maps/ixp4xx.c function int ixp4xx_flash_remove
Phil.
More information about the linux-mtd
mailing list