staging: dgap: use gotos for handling error in dgap_remap()
PATCH 1/1 staging: dgap: use gotos for handling error in dgap_remap()
Signed-off-by Daeseok Youn <[email protected]>
--- drivers/staging/dgap/dgap.c | 30 +++++++++++++++--------------- 1 files changed, 15 insertions(+), 15 deletions(-)
drivers/staging/dgap/dgap.c +15 -15
@@ -1400,27 +1400,27 @@ static int dgap_remap(struct board_t *brd)return -ENOMEM ;if (!request_mem_region (brd->membase +PCI_IO_OFFSET ,0x200000 , -"dgap" )) { -release_mem_region (brd->membase,0x200000 ); -return -ENOMEM ; - } +"dgap" )) + goto err_req_mem; brd->re_map_membase =ioremap (brd->membase,0x200000 ); -if (!brd->re_map_membase) { -release_mem_region (brd->membase,0x200000 ); -release_mem_region (brd->membase +PCI_IO_OFFSET ,0x200000 ); -return -ENOMEM ; - } +if (!brd->re_map_membase) + goto err_remap_mem; brd->re_map_port =ioremap ((brd->membase +PCI_IO_OFFSET ),0x200000 ); -if (!brd->re_map_port) { -release_mem_region (brd->membase,0x200000 ); -release_mem_region (brd->membase +PCI_IO_OFFSET ,0x200000 ); -iounmap (brd->re_map_membase); -return -ENOMEM ; - } +if (!brd->re_map_port) + goto err_remap_port;return 0 ; + +err_remap_port: +iounmap (brd->re_map_membase); +err_remap_mem: +release_mem_region (brd->membase +PCI_IO_OFFSET ,0x200000 ); +err_req_mem: +release_mem_region (brd->membase,0x200000 ); + +return -ENOMEM ; }static void dgap_unmap (struct board_t *brd)
Signature · 1 line
1.7.1