lkml.org 
[lkml]   [2010]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5/5] staging: slicoss: error handling with goto
    Date
    This patch makes error handling more readable due to 'goto err' pattern.

    Signed-off-by: Kulikov Vasiliy <segooon@gmail.com>
    ---
    drivers/staging/slicoss/slicoss.c | 28 +++++++++++++++-------------
    1 files changed, 15 insertions(+), 13 deletions(-)

    diff --git a/drivers/staging/slicoss/slicoss.c b/drivers/staging/slicoss/slicoss.c
    index d8c952e..478ba3b 100644
    --- a/drivers/staging/slicoss/slicoss.c
    +++ b/drivers/staging/slicoss/slicoss.c
    @@ -1451,7 +1451,7 @@ static int slic_if_init(struct adapter *adapter)
    struct net_device *dev = adapter->netdev;
    __iomem struct slic_regs *slic_regs = adapter->slic_regs;
    struct slic_shmem *pshmem;
    - int status = 0;
    + int rc;

    ASSERT(card);

    @@ -1459,7 +1459,8 @@ static int slic_if_init(struct adapter *adapter)
    if (adapter->state != ADAPT_DOWN) {
    dev_err(&dev->dev, "%s: adapter->state != ADAPT_DOWN\n",
    __func__);
    - return -EIO;
    + rc = -EIO;
    + goto err;
    }
    ASSERT(adapter->linkstate == LINK_DOWN);

    @@ -1475,22 +1476,22 @@ static int slic_if_init(struct adapter *adapter)
    if (dev->flags & IFF_MULTICAST)
    adapter->macopts |= MAC_MCAST;
    }
    - status = slic_adapter_allocresources(adapter);
    - if (status != 0) {
    + rc = slic_adapter_allocresources(adapter);
    + if (rc) {
    dev_err(&dev->dev,
    "%s: slic_adapter_allocresources FAILED %x\n",
    - __func__, status);
    + __func__, rc);
    slic_adapter_freeresources(adapter);
    - return status;
    + goto err;
    }

    if (!adapter->queues_initialized) {
    - if (slic_rspqueue_init(adapter))
    - return -ENOMEM;
    - if (slic_cmdq_init(adapter))
    - return -ENOMEM;
    - if (slic_rcvqueue_init(adapter))
    - return -ENOMEM;
    + if ((rc = slic_rspqueue_init(adapter)))
    + goto err;
    + if ((rc = slic_cmdq_init(adapter)))
    + goto err;
    + if ((rc = slic_rcvqueue_init(adapter)))
    + goto err;
    adapter->queues_initialized = 1;
    }

    @@ -1553,7 +1554,8 @@ static int slic_if_init(struct adapter *adapter)
    slic_link_config(adapter, LINK_AUTOSPEED, LINK_AUTOD);
    slic_link_event_handler(adapter);

    - return 0;
    +err:
    + return rc;
    }

    static void slic_unmap_mmio_space(struct adapter *adapter)
    --
    1.7.0.4


    \
     
     \ /
      Last update: 2010-06-27 15:25    [W:0.022 / U:0.620 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site