Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/16146/?format=api
http://patches.dpdk.org/api/patches/16146/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20160926161852.GA28159@C02PT1RBG8WP.aus.broadcom.com/", "project": { "id": 1, "url": "http://patches.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20160926161852.GA28159@C02PT1RBG8WP.aus.broadcom.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20160926161852.GA28159@C02PT1RBG8WP.aus.broadcom.com", "date": "2016-09-26T16:18:52", "name": "[dpdk-dev,v2,06/15] bnxt: Add support for port hotplug", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "a19867f6561b86c757896db60cc28f579c8e7c7a", "submitter": { "id": 501, "url": "http://patches.dpdk.org/api/people/501/?format=api", "name": "Ajit Khaparde", "email": "ajit.khaparde@broadcom.com" }, "delegate": { "id": 10, "url": "http://patches.dpdk.org/api/users/10/?format=api", "username": "bruce", "first_name": "Bruce", "last_name": "Richardson", "email": "bruce.richardson@intel.com" }, "mbox": "http://patches.dpdk.org/project/dpdk/patch/20160926161852.GA28159@C02PT1RBG8WP.aus.broadcom.com/mbox/", "series": [], "comments": "http://patches.dpdk.org/api/patches/16146/comments/", "check": "pending", "checks": "http://patches.dpdk.org/api/patches/16146/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@dpdk.org", "Delivered-To": "patchwork@dpdk.org", "Received": [ "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 5516272FB;\n\tMon, 26 Sep 2016 18:18:56 +0200 (CEST)", "from mail-gw3-out.broadcom.com (mail-gw3-out.broadcom.com\n\t[216.31.210.64]) by dpdk.org (Postfix) with ESMTP id 8488372FB\n\tfor <dev@dpdk.org>; Mon, 26 Sep 2016 18:18:54 +0200 (CEST)", "from mail-irv-18.broadcom.com ([10.15.198.37])\n\tby mail-gw3-out.broadcom.com with ESMTP; 26 Sep 2016 09:53:07 -0700", "from mail-irva-12.broadcom.com (mail-irva-12.broadcom.com\n\t[10.11.16.101])\n\tby mail-irv-18.broadcom.com (Postfix) with ESMTP id DDF61850C2\n\tfor <dev@dpdk.org>; Mon, 26 Sep 2016 09:18:59 -0700 (PDT)", "from C02PT1RBG8WP.aus.broadcom.com\n\t(dhcp-10-46-50-80.aus.broadcom.com [10.46.50.80])\n\tby mail-irva-12.broadcom.com (Postfix) with ESMTP id 5B9D0A6280\n\tfor <dev@dpdk.org>; Mon, 26 Sep 2016 09:18:53 -0700 (PDT)" ], "X-IronPort-AV": "E=Sophos;i=\"5.30,400,1470726000\"; d=\"scan'208\";a=\"105165748\"", "Date": "Mon, 26 Sep 2016 11:18:52 -0500", "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>", "To": "dev@dpdk.org", "Message-ID": "<20160926161852.GA28159@C02PT1RBG8WP.aus.broadcom.com>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=us-ascii", "Content-Disposition": "inline", "User-Agent": "Mutt/1.5.23 (2014-03-12)", "Subject": "[dpdk-dev] [v2 06/15] bnxt: Add support for port hotplug", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.15", "Precedence": "list", "List-Id": "patches and discussions about DPDK <dev.dpdk.org>", "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://dpdk.org/ml/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org", "Sender": "\"dev\" <dev-bounces@dpdk.org>" }, "content": "This patch adds support for port hotplug framework.\n\nSigned-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt_cpr.c | 3 +++\n drivers/net/bnxt/bnxt_ethdev.c | 24 ++++++++++++++++++++----\n drivers/net/bnxt/bnxt_filter.c | 3 +++\n drivers/net/bnxt/bnxt_vnic.c | 3 +++\n 4 files changed, 29 insertions(+), 4 deletions(-)", "diff": "diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c\nindex 60c277a..e9f9741 100644\n--- a/drivers/net/bnxt/bnxt_cpr.c\n+++ b/drivers/net/bnxt/bnxt_cpr.c\n@@ -124,6 +124,9 @@ void bnxt_free_def_cp_ring(struct bnxt *bp)\n {\n \tstruct bnxt_cp_ring_info *cpr = bp->def_cp_ring;\n \n+\tif (cpr == NULL)\n+\t\treturn;\n+\n \tbnxt_free_ring(cpr->cp_ring_struct);\n \trte_free(cpr->cp_ring_struct);\n \trte_free(cpr);\ndiff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 110ec2a..bd1ffc0 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -478,7 +478,14 @@ static void bnxt_dev_close_op(struct rte_eth_dev *eth_dev)\n \tbnxt_free_tx_mbufs(bp);\n \tbnxt_free_rx_mbufs(bp);\n \tbnxt_free_mem(bp);\n-\trte_free(eth_dev->data->mac_addrs);\n+\tif (eth_dev->data->mac_addrs != NULL) {\n+\t\trte_free(eth_dev->data->mac_addrs);\n+\t\teth_dev->data->mac_addrs = NULL;\n+\t}\n+\tif (bp->grp_info != NULL) {\n+\t\trte_free(bp->grp_info);\n+\t\tbp->grp_info = NULL;\n+\t}\n }\n \n /* Unload the driver, release resources */\n@@ -1084,12 +1091,20 @@ bnxt_dev_uninit(struct rte_eth_dev *eth_dev) {\n \tstruct bnxt *bp = eth_dev->data->dev_private;\n \tint rc;\n \n-\tif (eth_dev->data->mac_addrs)\n+\tif (eth_dev->data->mac_addrs != NULL) {\n \t\trte_free(eth_dev->data->mac_addrs);\n-\tif (bp->grp_info)\n+\t\teth_dev->data->mac_addrs = NULL;\n+\t}\n+\tif (bp->grp_info != NULL) {\n \t\trte_free(bp->grp_info);\n+\t\tbp->grp_info = NULL;\n+\t}\n \trc = bnxt_hwrm_func_driver_unregister(bp, 0);\n \tbnxt_free_hwrm_resources(bp);\n+\teth_dev->dev_ops = NULL;\n+\teth_dev->rx_pkt_burst = NULL;\n+\teth_dev->tx_pkt_burst = NULL;\n+\n \treturn rc;\n }\n \n@@ -1097,7 +1112,8 @@ static struct eth_driver bnxt_rte_pmd = {\n \t.pci_drv = {\n \t\t .name = \"rte_\" DRV_MODULE_NAME \"_pmd\",\n \t\t .id_table = bnxt_pci_id_map,\n-\t\t .drv_flags = RTE_PCI_DRV_NEED_MAPPING,\n+\t\t .drv_flags = RTE_PCI_DRV_NEED_MAPPING |\n+\t\t\t RTE_PCI_DRV_DETACHABLE,\n \t\t },\n \t.eth_dev_init = bnxt_dev_init,\n \t.eth_dev_uninit = bnxt_dev_uninit,\ndiff --git a/drivers/net/bnxt/bnxt_filter.c b/drivers/net/bnxt/bnxt_filter.c\nindex f03a1dc..df1042c 100644\n--- a/drivers/net/bnxt/bnxt_filter.c\n+++ b/drivers/net/bnxt/bnxt_filter.c\n@@ -118,6 +118,9 @@ void bnxt_free_filter_mem(struct bnxt *bp)\n \tuint16_t max_filters, i;\n \tint rc = 0;\n \n+\tif (bp->filter_info == NULL)\n+\t\treturn;\n+\n \t/* Ensure that all filters are freed */\n \tif (BNXT_PF(bp)) {\n \t\tstruct bnxt_pf_info *pf = &bp->pf;\ndiff --git a/drivers/net/bnxt/bnxt_vnic.c b/drivers/net/bnxt/bnxt_vnic.c\nindex c04c4c7..6297e87 100644\n--- a/drivers/net/bnxt/bnxt_vnic.c\n+++ b/drivers/net/bnxt/bnxt_vnic.c\n@@ -229,6 +229,9 @@ void bnxt_free_vnic_mem(struct bnxt *bp)\n \tstruct bnxt_vnic_info *vnic;\n \tuint16_t max_vnics, i;\n \n+\tif (bp->vnic_info == NULL)\n+\t\treturn;\n+\n \tif (BNXT_PF(bp)) {\n \t\tstruct bnxt_pf_info *pf = &bp->pf;\n \n", "prefixes": [ "dpdk-dev", "v2", "06/15" ] }{ "id": 16146, "url": "