From: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> --- drivers/staging/unisys/visorbus/visorchannel.c | 6 +++++- drivers/staging/unisys/visorutil/memregion.h | 1 - drivers/staging/unisys/visorutil/memregion_direct.c | 9 --------- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/staging/unisys/visorbus/visorchannel.c b/drivers/staging/unisys/visorbus/visorchannel.c index f278739..42fabea 100644 --- a/drivers/staging/unisys/visorbus/visorchannel.c +++ b/drivers/staging/unisys/visorbus/visorchannel.c @@ -124,7 +124,11 @@ visorchannel_destroy(struct visorchannel *channel) { if (!channel) return; - visor_memregion_destroy(&channel->memregion); + if (channel->memregion.mapped) { + iounmap(channel->memregion.mapped); + release_mem_region(channel->memregion.physaddr, + channel->memregion.nbytes); + } kfree(channel); } EXPORT_SYMBOL_GPL(visorchannel_destroy); diff --git a/drivers/staging/unisys/visorutil/memregion.h b/drivers/staging/unisys/visorutil/memregion.h index cb3dbc5..60d0dc9 100644 --- a/drivers/staging/unisys/visorutil/memregion.h +++ b/drivers/staging/unisys/visorutil/memregion.h @@ -34,7 +34,6 @@ int visor_memregion_read(struct memregion *memregion, ulong offset, void *dest, ulong nbytes); int visor_memregion_write(struct memregion *memregion, ulong offset, void *src, ulong nbytes); -void visor_memregion_destroy(struct memregion *memregion); HOSTADDRESS visor_memregion_get_physaddr(struct memregion *memregion); ulong visor_memregion_get_nbytes(struct memregion *memregion); void memregion_dump(struct memregion *memregion, char *s, diff --git a/drivers/staging/unisys/visorutil/memregion_direct.c b/drivers/staging/unisys/visorutil/memregion_direct.c index 0c7bed0..79ef4c5 100644 --- a/drivers/staging/unisys/visorutil/memregion_direct.c +++ b/drivers/staging/unisys/visorutil/memregion_direct.c @@ -115,12 +115,3 @@ visor_memregion_write(struct memregion *memregion, ulong offset, void *src, return 0; } EXPORT_SYMBOL_GPL(visor_memregion_write); - -void -visor_memregion_destroy(struct memregion *memregion) -{ - if (!memregion) - return; - unmapit(memregion); -} -EXPORT_SYMBOL_GPL(visor_memregion_destroy); -- 2.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel