aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/atheros/atl1e
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-04-01 13:36:50 -0400
committerDavid S. Miller <davem@davemloft.net>2013-04-01 13:36:50 -0400
commita210576cf891e9e6d2c238eabcf5c1286b1e7526 (patch)
tree0fa81a901cf628b25e6ee79057700cf39e59818a /drivers/net/ethernet/atheros/atl1e
parent7d4c04fc170087119727119074e72445f2bb192b (diff)
parent3658f3604066d5500ebd73a04084f127dc779441 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: net/mac80211/sta_info.c net/wireless/core.h Two minor conflicts in wireless. Overlapping additions of extern declarations in net/wireless/core.h and a bug fix overlapping with the addition of a boolean parameter to __ieee80211_key_free(). Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/atheros/atl1e')
-rw-r--r--drivers/net/ethernet/atheros/atl1e/atl1e.h1
-rw-r--r--drivers/net/ethernet/atheros/atl1e/atl1e_main.c19
2 files changed, 2 insertions, 18 deletions
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e.h b/drivers/net/ethernet/atheros/atl1e/atl1e.h
index 829b5ad71d0d..edfdf6b950e7 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e.h
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e.h
@@ -438,7 +438,6 @@ struct atl1e_adapter {
438 struct atl1e_hw hw; 438 struct atl1e_hw hw;
439 struct atl1e_hw_stats hw_stats; 439 struct atl1e_hw_stats hw_stats;
440 440
441 bool have_msi;
442 u32 wol; 441 u32 wol;
443 u16 link_speed; 442 u16 link_speed;
444 u16 link_duplex; 443 u16 link_duplex;
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index e1f1b2a0673a..7e0a822289c3 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -1847,34 +1847,19 @@ static void atl1e_free_irq(struct atl1e_adapter *adapter)
1847 struct net_device *netdev = adapter->netdev; 1847 struct net_device *netdev = adapter->netdev;
1848 1848
1849 free_irq(adapter->pdev->irq, netdev); 1849 free_irq(adapter->pdev->irq, netdev);
1850
1851 if (adapter->have_msi)
1852 pci_disable_msi(adapter->pdev);
1853} 1850}
1854 1851
1855static int atl1e_request_irq(struct atl1e_adapter *adapter) 1852static int atl1e_request_irq(struct atl1e_adapter *adapter)
1856{ 1853{
1857 struct pci_dev *pdev = adapter->pdev; 1854 struct pci_dev *pdev = adapter->pdev;
1858 struct net_device *netdev = adapter->netdev; 1855 struct net_device *netdev = adapter->netdev;
1859 int flags = 0;
1860 int err = 0; 1856 int err = 0;
1861 1857
1862 adapter->have_msi = true; 1858 err = request_irq(pdev->irq, atl1e_intr, IRQF_SHARED, netdev->name,
1863 err = pci_enable_msi(pdev); 1859 netdev);
1864 if (err) {
1865 netdev_dbg(netdev,
1866 "Unable to allocate MSI interrupt Error: %d\n", err);
1867 adapter->have_msi = false;
1868 }
1869
1870 if (!adapter->have_msi)
1871 flags |= IRQF_SHARED;
1872 err = request_irq(pdev->irq, atl1e_intr, flags, netdev->name, netdev);
1873 if (err) { 1860 if (err) {
1874 netdev_dbg(adapter->netdev, 1861 netdev_dbg(adapter->netdev,
1875 "Unable to allocate interrupt Error: %d\n", err); 1862 "Unable to allocate interrupt Error: %d\n", err);
1876 if (adapter->have_msi)
1877 pci_disable_msi(pdev);
1878 return err; 1863 return err;
1879 } 1864 }
1880 netdev_dbg(netdev, "atl1e_request_irq OK\n"); 1865 netdev_dbg(netdev, "atl1e_request_irq OK\n");