aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarolyn Wyborny <carolyn.wyborny@intel.com>2012-05-15 21:46:00 -0400
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-06-20 04:14:34 -0400
commitd3eef8c8a033a5ee56ab5d923068eb8cd5d53887 (patch)
treecf592a3c156bc12eb10f77a22b05ca54ce348fb6
parentf00b0da776fda1abc481578e3932a668f603d72d (diff)
igb: Add switch case for supported hardware to igb_ptp_remove.
PTP initialization is only done on supported parts, so remove needs same checks or it will cause crashes on systems with igb devices that don't support PTP. This patch adds those checks to the exit function. Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
-rw-r--r--drivers/net/ethernet/intel/igb/igb_ptp.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/igb/igb_ptp.c b/drivers/net/ethernet/intel/igb/igb_ptp.c
index d5ee7fa50723..c846ea9131a3 100644
--- a/drivers/net/ethernet/intel/igb/igb_ptp.c
+++ b/drivers/net/ethernet/intel/igb/igb_ptp.c
@@ -330,7 +330,17 @@ void igb_ptp_init(struct igb_adapter *adapter)
330 330
331void igb_ptp_remove(struct igb_adapter *adapter) 331void igb_ptp_remove(struct igb_adapter *adapter)
332{ 332{
333 cancel_delayed_work_sync(&adapter->overflow_work); 333 switch (adapter->hw.mac.type) {
334 case e1000_i211:
335 case e1000_i210:
336 case e1000_i350:
337 case e1000_82580:
338 case e1000_82576:
339 cancel_delayed_work_sync(&adapter->overflow_work);
340 break;
341 default:
342 return;
343 }
334 344
335 if (adapter->ptp_clock) { 345 if (adapter->ptp_clock) {
336 ptp_clock_unregister(adapter->ptp_clock); 346 ptp_clock_unregister(adapter->ptp_clock);