nfp: move mutex init out of net code
authorJakub Kicinski <jakub.kicinski@netronome.com>
Fri, 26 May 2017 08:03:31 +0000 (01:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 26 May 2017 15:01:48 +0000 (11:01 -0400)
Move mutex init to main file close to structure allocation.
This will allow mutex to be taken before net code runs (e.g.
from devlink callbacks).  While at it remember to destroy
the mutex.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/nfp/nfp_main.c
drivers/net/ethernet/netronome/nfp/nfp_net_main.c

index bb586ce..3a13155 100644 (file)
@@ -41,6 +41,7 @@
 
 #include <linux/kernel.h>
 #include <linux/module.h>
+#include <linux/mutex.h>
 #include <linux/pci.h>
 #include <linux/firmware.h>
 #include <linux/vermagic.h>
@@ -342,6 +343,7 @@ static int nfp_pci_probe(struct pci_dev *pdev,
        }
        INIT_LIST_HEAD(&pf->vnics);
        INIT_LIST_HEAD(&pf->ports);
+       mutex_init(&pf->lock);
        pci_set_drvdata(pdev, pf);
        pf->pdev = pdev;
 
@@ -380,6 +382,7 @@ err_cpp_free:
        nfp_cpp_free(pf->cpp);
 err_disable_msix:
        pci_set_drvdata(pdev, NULL);
+       mutex_destroy(&pf->lock);
        kfree(pf);
 err_rel_regions:
        pci_release_regions(pdev);
@@ -404,6 +407,7 @@ static void nfp_pci_remove(struct pci_dev *pdev)
        nfp_cpp_free(pf->cpp);
 
        kfree(pf->eth_tbl);
+       mutex_destroy(&pf->lock);
        kfree(pf);
        pci_release_regions(pdev);
        pci_disable_device(pdev);
index dd1118c..5139c13 100644 (file)
@@ -641,7 +641,6 @@ int nfp_net_pci_probe(struct nfp_pf *pf)
        int err;
 
        INIT_WORK(&pf->port_refresh_work, nfp_net_refresh_vnics);
-       mutex_init(&pf->lock);
 
        /* Verify that the board has completed initialization */
        if (!nfp_is_ready(pf->cpp)) {