diff options
author | Tobin C. Harding <me@tobin.cc> | 2017-03-07 20:57:01 +1100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-03-12 14:46:34 +0100 |
commit | c8863b3ff7749c22c1745b7358d15456f86044f7 (patch) | |
tree | 594d573ce11fe1ef3eb9a2cf6c2b1f2f3caff939 /drivers/staging/dgnc/dgnc_driver.c | |
parent | 82c41a994c1f4313ec595387a60d2360e42fdf3b (diff) |
staging: dgnc: audit goto's in dgnc_driver
TODO file requests fix up of error handling.
Audit dgnc_driver.c and fix all return paths to be uniform and inline
with kernel coding style.
Signed-off-by: Tobin C. Harding <me@tobin.cc>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/dgnc/dgnc_driver.c')
-rw-r--r-- | drivers/staging/dgnc/dgnc_driver.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/staging/dgnc/dgnc_driver.c b/drivers/staging/dgnc/dgnc_driver.c index 5381dbddd8bb..e970d2dbf659 100644 --- a/drivers/staging/dgnc/dgnc_driver.c +++ b/drivers/staging/dgnc/dgnc_driver.c @@ -98,13 +98,11 @@ static const struct board_id dgnc_ids[] = { static int dgnc_do_remap(struct dgnc_board *brd) { - int rc = 0; - brd->re_map_membase = ioremap(brd->membase, 0x1000); if (!brd->re_map_membase) - rc = -ENOMEM; + return -ENOMEM; - return rc; + return 0; } /* @@ -198,7 +196,6 @@ static struct dgnc_board *dgnc_found_board(struct pci_dev *pdev, int id) brd->bd_dividend = 921600; rc = dgnc_do_remap(brd); - if (rc < 0) goto failed; @@ -283,27 +280,23 @@ static struct dgnc_board *dgnc_found_board(struct pci_dev *pdev, int id) failed: kfree(brd); - return ERR_PTR(rc); } static int dgnc_request_irq(struct dgnc_board *brd) { - int rc = 0; - if (brd->irq) { - rc = request_irq(brd->irq, brd->bd_ops->intr, + int rc = request_irq(brd->irq, brd->bd_ops->intr, IRQF_SHARED, "DGNC", brd); - if (rc) { dev_err(&brd->pdev->dev, "Failed to hook IRQ %d\n", brd->irq); brd->state = BOARD_FAILED; brd->dpastatus = BD_NOFEP; - rc = -ENODEV; + return -ENODEV; } } - return rc; + return 0; } static void dgnc_free_irq(struct dgnc_board *brd) @@ -387,7 +380,6 @@ static int dgnc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) /* wake up and enable device */ rc = pci_enable_device(pdev); - if (rc) return -EIO; @@ -419,17 +411,14 @@ static int dgnc_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) brd->dpastatus = BD_RUNNING; dgnc_board[dgnc_num_boards++] = brd; - return 0; free_irq: dgnc_free_irq(brd); unregister_tty: dgnc_tty_unregister(brd); - failed: kfree(brd); - return rc; } @@ -488,7 +477,6 @@ static int dgnc_start(void) spin_unlock_irqrestore(&dgnc_poll_lock, flags); add_timer(&dgnc_poll_timer); - return 0; failed_device: @@ -597,7 +585,6 @@ static int __init dgnc_init_module(void) /* Initialize global stuff */ rc = dgnc_start(); - if (rc < 0) return rc; |