From c74920124750e5270c689d8c892a1c4263e5a547 Mon Sep 17 00:00:00 2001 From: Daeseok Youn Date: Tue, 23 Sep 2014 09:22:36 +0900 Subject: [PATCH] staging: dgap: use dgap_release_remap() in dgap_cleanup_board() Just simply use dgap_release_remap() in dgap_cleanup_board() for releasing map memory. Signed-off-by: Daeseok Youn Signed-off-by: Greg Kroah-Hartman --- drivers/staging/dgap/dgap.c | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c index 637ea8af661f..d0be1cebf5a9 100644 --- a/drivers/staging/dgap/dgap.c +++ b/drivers/staging/dgap/dgap.c @@ -683,17 +683,7 @@ static void dgap_cleanup_board(struct board_t *brd) tasklet_kill(&brd->helper_tasklet); - if (brd->re_map_port) { - release_mem_region(brd->membase + 0x200000, 0x200000); - iounmap(brd->re_map_port); - brd->re_map_port = NULL; - } - - if (brd->re_map_membase) { - release_mem_region(brd->membase, 0x200000); - iounmap(brd->re_map_membase); - brd->re_map_membase = NULL; - } + dgap_release_remap(brd); /* Free all allocated channels structs */ for (i = 0; i < MAXPORTS ; i++) @@ -1023,10 +1013,15 @@ static int dgap_do_remap(struct board_t *brd) static void dgap_release_remap(struct board_t *brd) { - release_mem_region(brd->membase, 0x200000); - release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000); - iounmap(brd->re_map_membase); - iounmap(brd->re_map_port); + if (brd->re_map_membase) { + release_mem_region(brd->membase, 0x200000); + iounmap(brd->re_map_membase); + } + + if (brd->re_map_port) { + release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000); + iounmap(brd->re_map_port); + } } /***************************************************************************** * -- 2.39.5