diff --git a/nic3com.c b/nic3com.c index dd3d0cb18..2af0a52df 100644 --- a/nic3com.c +++ b/nic3com.c @@ -99,6 +99,7 @@ static const struct par_master par_master_nic3com = { .chip_writew = fallback_chip_writew, .chip_writel = fallback_chip_writel, .chip_writen = fallback_chip_writen, + .shutdown = nic3com_shutdown, }; static int nic3com_init(void) @@ -150,13 +151,7 @@ static int nic3com_init(void) max_rom_decode.parallel = 128 * 1024; - if (register_shutdown(nic3com_shutdown, data)) { - free(data); - goto init_err_cleanup_exit; - } - register_par_master(&par_master_nic3com, BUS_PARALLEL, data); - - return 0; + return register_par_master(&par_master_nic3com, BUS_PARALLEL, data); init_err_cleanup_exit: /* 3COM 3C90xB cards need a special fixup. */ diff --git a/nicrealtek.c b/nicrealtek.c index b8125f410..ec821b4f8 100644 --- a/nicrealtek.c +++ b/nicrealtek.c @@ -95,6 +95,7 @@ static const struct par_master par_master_nicrealtek = { .chip_writew = fallback_chip_writew, .chip_writel = fallback_chip_writel, .chip_writen = fallback_chip_writen, + .shutdown = nicrealtek_shutdown, }; static int nicrealtek_init(void) @@ -138,14 +139,7 @@ static int nicrealtek_init(void) data->bios_rom_addr = bios_rom_addr; data->bios_rom_data = bios_rom_data; - if (register_shutdown(nicrealtek_shutdown, data)) { - free(data); - return 1; - } - - register_par_master(&par_master_nicrealtek, BUS_PARALLEL, data); - - return 0; + return register_par_master(&par_master_nicrealtek, BUS_PARALLEL, data); } const struct programmer_entry programmer_nicrealtek = {