igb: Add switch case for supported hardware to igb_ptp_remove.
authorCarolyn Wyborny <carolyn.wyborny@intel.com>
Wed, 16 May 2012 01:46:00 +0000 (01:46 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 20 Jun 2012 08:14:34 +0000 (01:14 -0700)
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>
drivers/net/ethernet/intel/igb/igb_ptp.c

index d5ee7fa50723c329330199caa9a29dbfa6f9eb15..c846ea9131a3ab514a410165de0e15e8ff1697b4 100644 (file)
@@ -330,7 +330,17 @@ void igb_ptp_init(struct igb_adapter *adapter)
 
 void igb_ptp_remove(struct igb_adapter *adapter)
 {
-       cancel_delayed_work_sync(&adapter->overflow_work);
+       switch (adapter->hw.mac.type) {
+       case e1000_i211:
+       case e1000_i210:
+       case e1000_i350:
+       case e1000_82580:
+       case e1000_82576:
+               cancel_delayed_work_sync(&adapter->overflow_work);
+               break;
+       default:
+               return;
+       }
 
        if (adapter->ptp_clock) {
                ptp_clock_unregister(adapter->ptp_clock);