staging: dgap: use gotos for handling error in dgap_remap()
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
7f703fae17
Коммит
aa9895da3e
|
@ -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)
|
||||
|
|
Загрузка…
Ссылка в новой задаче