From: Dimitris Michailidis <dm@chelsio.com>
To: netdev@vger.kernel.org
Cc: Dimitris Michailidis <dm@chelsio.com>
Subject: [PATCH net-next 2/5] cxgb4: avoid duplicating some resource freeing code
Date: Sun, 11 Jul 2010 15:01:16 -0700 [thread overview]
Message-ID: <1278885679-3738-3-git-send-email-dm@chelsio.com> (raw)
In-Reply-To: <1278885679-3738-2-git-send-email-dm@chelsio.com>
Currently there are two copies of some resource freeing code, turn it into
a function and call it.
Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
---
drivers/net/cxgb4/cxgb4_main.c | 42 +++++++++++++++++++++++----------------
1 files changed, 25 insertions(+), 17 deletions(-)
diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
index 743dc6f..653bb54 100644
--- a/drivers/net/cxgb4/cxgb4_main.c
+++ b/drivers/net/cxgb4/cxgb4_main.c
@@ -3364,6 +3364,29 @@ static void __devinit print_port_info(struct adapter *adap)
}
}
+/*
+ * Free the following resources:
+ * - memory used for tables
+ * - MSI/MSI-X
+ * - net devices
+ * - resources FW is holding for us
+ */
+static void free_some_resources(struct adapter *adapter)
+{
+ unsigned int i;
+
+ t4_free_mem(adapter->l2t);
+ t4_free_mem(adapter->tids.tid_tab);
+ disable_msi(adapter);
+
+ for_each_port(adapter, i)
+ if (adapter->port[i])
+ free_netdev(adapter->port[i]);
+
+ if (adapter->flags & FW_OK)
+ t4_fw_bye(adapter, 0);
+}
+
#define VLAN_FEAT (NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO | NETIF_F_TSO6 |\
NETIF_F_IPV6_CSUM | NETIF_F_HIGHDMA)
@@ -3564,14 +3587,7 @@ sriov:
return 0;
out_free_dev:
- t4_free_mem(adapter->tids.tid_tab);
- t4_free_mem(adapter->l2t);
- for_each_port(adapter, i)
- if (adapter->port[i])
- free_netdev(adapter->port[i]);
- if (adapter->flags & FW_OK)
- t4_fw_bye(adapter, 0);
- disable_msi(adapter);
+ free_some_resources(adapter);
out_unmap_bar:
iounmap(adapter->regs);
out_free_adapter:
@@ -3606,16 +3622,8 @@ static void __devexit remove_one(struct pci_dev *pdev)
if (adapter->flags & FULL_INIT_DONE)
cxgb_down(adapter);
- t4_free_mem(adapter->l2t);
- t4_free_mem(adapter->tids.tid_tab);
- disable_msi(adapter);
-
- for_each_port(adapter, i)
- if (adapter->port[i])
- free_netdev(adapter->port[i]);
- if (adapter->flags & FW_OK)
- t4_fw_bye(adapter, 0);
+ free_some_resources(adapter);
iounmap(adapter->regs);
kfree(adapter);
pci_disable_pcie_error_reporting(pdev);
--
1.5.4
next prev parent reply other threads:[~2010-07-11 22:01 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-11 22:01 [PATCH net-next 0/5] cxgb4 updates Dimitris Michailidis
2010-07-11 22:01 ` [PATCH net-next 1/5] cxgb4: move the choice of interrupt type before net_device registration Dimitris Michailidis
2010-07-11 22:01 ` Dimitris Michailidis [this message]
2010-07-11 22:01 ` [PATCH net-next 3/5] cxgb4: add user manipulation of the RSS table Dimitris Michailidis
2010-07-11 22:01 ` [PATCH net-next 4/5] cxgb4: implement the ETHTOOL_GRXFH command Dimitris Michailidis
2010-07-11 22:01 ` [PATCH net-next 5/5] cxgb4: exclude registers with read side effects from register dumps Dimitris Michailidis
2010-07-11 22:17 ` Ben Hutchings
2010-07-12 0:03 ` David Miller
2010-07-12 0:08 ` [PATCH net-next 0/5] cxgb4 updates David Miller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1278885679-3738-3-git-send-email-dm@chelsio.com \
--to=dm@chelsio.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).