Check the return values of dgap_tty_register and
dgap_finalize_board_init. If they fail for a
particular board we should not be able to try
to use that board. IE. no device entries shall
be created for that board.

Signed-off-by: Mark Hounschell <ma...@compro.net>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/staging/dgap/dgap.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/dgap/dgap.c b/drivers/staging/dgap/dgap.c
index 3b73238..2c7acee 100644
--- a/drivers/staging/dgap/dgap.c
+++ b/drivers/staging/dgap/dgap.c
@@ -882,8 +882,13 @@ static int dgap_firmware_load(struct pci_dev *pdev, int 
card_type)
                return -EINVAL;
        }
 
-       dgap_tty_register(brd);
-       dgap_finalize_board_init(brd);
+       ret = dgap_tty_register(brd);
+       if (ret)
+               return ret;
+
+       ret = dgap_finalize_board_init(brd);
+       if (ret)
+               return ret;
 
        if (fw_info[card_type].bios_name) {
                ret = request_firmware(&fw, fw_info[card_type].bios_name,
-- 
1.8.4.5

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to