Commit 4fa7553a authored by Jesse Brandeburg's avatar Jesse Brandeburg Committed by Linus Torvalds

e1000e: drop stats lock

the stats lock is left over from e1000, e1000e no longer
has the adjust tbi stats function that required the addition
of the stats lock to begin with.

adding a mutex to acquire_swflag helped catch this one too.
Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 23033fad
...@@ -257,7 +257,6 @@ struct e1000_adapter { ...@@ -257,7 +257,6 @@ struct e1000_adapter {
struct net_device *netdev; struct net_device *netdev;
struct pci_dev *pdev; struct pci_dev *pdev;
struct net_device_stats net_stats; struct net_device_stats net_stats;
spinlock_t stats_lock; /* prevent concurrent stats updates */
/* structs defined in e1000_hw.h */ /* structs defined in e1000_hw.h */
struct e1000_hw hw; struct e1000_hw hw;
......
...@@ -2600,8 +2600,6 @@ static int __devinit e1000_sw_init(struct e1000_adapter *adapter) ...@@ -2600,8 +2600,6 @@ static int __devinit e1000_sw_init(struct e1000_adapter *adapter)
/* Explicitly disable IRQ since the NIC can be in any state. */ /* Explicitly disable IRQ since the NIC can be in any state. */
e1000_irq_disable(adapter); e1000_irq_disable(adapter);
spin_lock_init(&adapter->stats_lock);
set_bit(__E1000_DOWN, &adapter->state); set_bit(__E1000_DOWN, &adapter->state);
return 0; return 0;
...@@ -2953,7 +2951,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter) ...@@ -2953,7 +2951,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
{ {
struct e1000_hw *hw = &adapter->hw; struct e1000_hw *hw = &adapter->hw;
struct pci_dev *pdev = adapter->pdev; struct pci_dev *pdev = adapter->pdev;
unsigned long irq_flags;
/* /*
* Prevent stats update while adapter is being reset, or if the pci * Prevent stats update while adapter is being reset, or if the pci
...@@ -2964,14 +2961,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter) ...@@ -2964,14 +2961,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
if (pci_channel_offline(pdev)) if (pci_channel_offline(pdev))
return; return;
spin_lock_irqsave(&adapter->stats_lock, irq_flags);
/*
* these counters are modified from e1000_adjust_tbi_stats,
* called from the interrupt context, so they must only
* be written while holding adapter->stats_lock
*/
adapter->stats.crcerrs += er32(CRCERRS); adapter->stats.crcerrs += er32(CRCERRS);
adapter->stats.gprc += er32(GPRC); adapter->stats.gprc += er32(GPRC);
adapter->stats.gorc += er32(GORCL); adapter->stats.gorc += er32(GORCL);
...@@ -3046,8 +3035,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter) ...@@ -3046,8 +3035,6 @@ void e1000e_update_stats(struct e1000_adapter *adapter)
adapter->stats.mgptc += er32(MGTPTC); adapter->stats.mgptc += er32(MGTPTC);
adapter->stats.mgprc += er32(MGTPRC); adapter->stats.mgprc += er32(MGTPRC);
adapter->stats.mgpdc += er32(MGTPDC); adapter->stats.mgpdc += er32(MGTPDC);
spin_unlock_irqrestore(&adapter->stats_lock, irq_flags);
} }
/** /**
...@@ -3059,9 +3046,6 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter) ...@@ -3059,9 +3046,6 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter)
struct e1000_hw *hw = &adapter->hw; struct e1000_hw *hw = &adapter->hw;
struct e1000_phy_regs *phy = &adapter->phy_regs; struct e1000_phy_regs *phy = &adapter->phy_regs;
int ret_val; int ret_val;
unsigned long irq_flags;
spin_lock_irqsave(&adapter->stats_lock, irq_flags);
if ((er32(STATUS) & E1000_STATUS_LU) && if ((er32(STATUS) & E1000_STATUS_LU) &&
(adapter->hw.phy.media_type == e1000_media_type_copper)) { (adapter->hw.phy.media_type == e1000_media_type_copper)) {
...@@ -3092,8 +3076,6 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter) ...@@ -3092,8 +3076,6 @@ static void e1000_phy_read_status(struct e1000_adapter *adapter)
phy->stat1000 = 0; phy->stat1000 = 0;
phy->estatus = (ESTATUS_1000_TFULL | ESTATUS_1000_THALF); phy->estatus = (ESTATUS_1000_TFULL | ESTATUS_1000_THALF);
} }
spin_unlock_irqrestore(&adapter->stats_lock, irq_flags);
} }
static void e1000_print_link_info(struct e1000_adapter *adapter) static void e1000_print_link_info(struct e1000_adapter *adapter)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment