igb: Add switch case for supported hardware to igb_ptp_remove.
authorCarolyn Wyborny <[email protected]>
Wed, 16 May 2012 01:46:00 +0000 (01:46 +0000)
committerJeff Kirsher <[email protected]>
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 <[email protected]>
Tested-by: Jeff Pieper <[email protected]>
Signed-off-by: Jeff Kirsher <[email protected]>
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);