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;
|
return -ENOMEM;
|
||||||
|
|
||||||
if (!request_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000,
|
if (!request_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000,
|
||||||
"dgap")) {
|
"dgap"))
|
||||||
release_mem_region(brd->membase, 0x200000);
|
goto err_req_mem;
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
brd->re_map_membase = ioremap(brd->membase, 0x200000);
|
brd->re_map_membase = ioremap(brd->membase, 0x200000);
|
||||||
if (!brd->re_map_membase) {
|
if (!brd->re_map_membase)
|
||||||
release_mem_region(brd->membase, 0x200000);
|
goto err_remap_mem;
|
||||||
release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000);
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
brd->re_map_port = ioremap((brd->membase + PCI_IO_OFFSET), 0x200000);
|
brd->re_map_port = ioremap((brd->membase + PCI_IO_OFFSET), 0x200000);
|
||||||
if (!brd->re_map_port) {
|
if (!brd->re_map_port)
|
||||||
release_mem_region(brd->membase, 0x200000);
|
goto err_remap_port;
|
||||||
release_mem_region(brd->membase + PCI_IO_OFFSET, 0x200000);
|
|
||||||
iounmap(brd->re_map_membase);
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
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)
|
static void dgap_unmap(struct board_t *brd)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче