diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 05:01:12 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-01-12 05:01:12 -0500 |
commit | 1f16f116b01c110db20ab808562c8b8bc3ee3d6e (patch) | |
tree | 44db563f64cf5f8d62af8f99a61e2b248c44ea3a /drivers/net/ethernet/intel/i40evf/i40evf_main.c | |
parent | 03724ac3d48f8f0e3caf1d30fa134f8fd96c94e2 (diff) | |
parent | f9eccf24615672896dc13251410c3f2f33a14f95 (diff) |
Merge branches 'clockevents/4.4-fixes' and 'clockevents/4.5-fixes' of http://git.linaro.org/people/daniel.lezcano/linux into timers/urgent
Pull in fixes from Daniel Lezcano:
- Fix the vt8500 timer leading to a system lock up when dealing with too
small delta (Roman Volkov)
- Select the CLKSRC_MMIO when the fsl_ftm_timer is enabled with COMPILE_TEST
(Daniel Lezcano)
- Prevent to compile timers using the 'iomem' API when the architecture has
not HAS_IOMEM set (Richard Weinberger)
Diffstat (limited to 'drivers/net/ethernet/intel/i40evf/i40evf_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/i40evf/i40evf_main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c index d962164dfb0f..99d2cffae0cd 100644 --- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c +++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c | |||
@@ -2476,6 +2476,12 @@ static int i40evf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
2476 | hw->bus.device = PCI_SLOT(pdev->devfn); | 2476 | hw->bus.device = PCI_SLOT(pdev->devfn); |
2477 | hw->bus.func = PCI_FUNC(pdev->devfn); | 2477 | hw->bus.func = PCI_FUNC(pdev->devfn); |
2478 | 2478 | ||
2479 | /* set up the locks for the AQ, do this only once in probe | ||
2480 | * and destroy them only once in remove | ||
2481 | */ | ||
2482 | mutex_init(&hw->aq.asq_mutex); | ||
2483 | mutex_init(&hw->aq.arq_mutex); | ||
2484 | |||
2479 | INIT_LIST_HEAD(&adapter->mac_filter_list); | 2485 | INIT_LIST_HEAD(&adapter->mac_filter_list); |
2480 | INIT_LIST_HEAD(&adapter->vlan_filter_list); | 2486 | INIT_LIST_HEAD(&adapter->vlan_filter_list); |
2481 | 2487 | ||
@@ -2629,6 +2635,10 @@ static void i40evf_remove(struct pci_dev *pdev) | |||
2629 | if (hw->aq.asq.count) | 2635 | if (hw->aq.asq.count) |
2630 | i40evf_shutdown_adminq(hw); | 2636 | i40evf_shutdown_adminq(hw); |
2631 | 2637 | ||
2638 | /* destroy the locks only once, here */ | ||
2639 | mutex_destroy(&hw->aq.arq_mutex); | ||
2640 | mutex_destroy(&hw->aq.asq_mutex); | ||
2641 | |||
2632 | iounmap(hw->hw_addr); | 2642 | iounmap(hw->hw_addr); |
2633 | pci_release_regions(pdev); | 2643 | pci_release_regions(pdev); |
2634 | 2644 | ||