OSDN Git Service

igb: simplify and clean up igb_enable_mas()
authorTodd Fujinaka <todd.fujinaka@intel.com>
Sat, 2 May 2015 07:39:03 +0000 (00:39 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 4 May 2015 08:17:47 +0000 (01:17 -0700)
igb_enable_mas() should only be called for the 82575 and has no clear
return so changing it to void. Also simplify the odd conditional
expression.

Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/igb/igb_main.c

index 8457d03..e636646 100644 (file)
@@ -1834,31 +1834,19 @@ void igb_reinit_locked(struct igb_adapter *adapter)
  *
  * @adapter: adapter struct
  **/
-static s32 igb_enable_mas(struct igb_adapter *adapter)
+static void igb_enable_mas(struct igb_adapter *adapter)
 {
        struct e1000_hw *hw = &adapter->hw;
-       u32 connsw;
-       s32 ret_val = 0;
-
-       connsw = rd32(E1000_CONNSW);
-       if (!(hw->phy.media_type == e1000_media_type_copper))
-               return ret_val;
+       u32 connsw = rd32(E1000_CONNSW);
 
        /* configure for SerDes media detect */
-       if (!(connsw & E1000_CONNSW_SERDESD)) {
+       if ((hw->phy.media_type == e1000_media_type_copper) &&
+           (!(connsw & E1000_CONNSW_SERDESD))) {
                connsw |= E1000_CONNSW_ENRGSRC;
                connsw |= E1000_CONNSW_AUTOSENSE_EN;
                wr32(E1000_CONNSW, connsw);
                wrfl();
-       } else if (connsw & E1000_CONNSW_SERDESD) {
-               /* already SerDes, no need to enable anything */
-               return ret_val;
-       } else {
-               netdev_info(adapter->netdev,
-                       "MAS: Unable to configure feature, disabling..\n");
-               adapter->flags &= ~IGB_FLAG_MAS_ENABLE;
        }
-       return ret_val;
 }
 
 void igb_reset(struct igb_adapter *adapter)
@@ -1978,10 +1966,9 @@ void igb_reset(struct igb_adapter *adapter)
                adapter->ei.get_invariants(hw);
                adapter->flags &= ~IGB_FLAG_MEDIA_RESET;
        }
-       if (adapter->flags & IGB_FLAG_MAS_ENABLE) {
-               if (igb_enable_mas(adapter))
-                       dev_err(&pdev->dev,
-                               "Error enabling Media Auto Sense\n");
+       if ((mac->type == e1000_82575) &&
+           (adapter->flags & IGB_FLAG_MAS_ENABLE)) {
+               igb_enable_mas(adapter);
        }
        if (hw->mac.ops.init_hw(hw))
                dev_err(&pdev->dev, "Hardware Error\n");