[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1277644847-16292-5-git-send-email-segooon@gmail.com>
Date: Sun, 27 Jun 2010 17:20:47 +0400
From: Kulikov Vasiliy <segooon@...il.com>
To: Greg Kroah-Hartman <gregkh@...e.de>
Cc: Lior Dotan <liodot@...il.com>, <charrer@...critech.com>,
Denis Kirjanov <kirjanov@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Jiri Pirko <jpirko@...hat.com>, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org
Subject: [PATCH 5/5] staging: slicoss: error handling with goto
This patch makes error handling more readable due to 'goto err' pattern.
Signed-off-by: Kulikov Vasiliy <segooon@...il.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists