e1000: clean up the checking logic
authorJean Sacren <sakiwit@gmail.com>
Sat, 19 Sep 2015 11:08:40 +0000 (05:08 -0600)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sun, 13 Dec 2015 07:10:22 +0000 (23:10 -0800)
The checking logic needed some clean-up work, so we rewrite it by
checking for break first. With that change in place, we can even move
the second check for goto statement outside of the loop.

As this is merely a cleanup, no functional change is involved. The
questionable 'tmp != 0xFF' is intentionally left alone.

Mark Rustad and Alexander Duyck contributed to this patch.

CC: Mark Rustad <mark.d.rustad@intel.com>
CC: Alex Duyck <aduyck@mirantis.com>
Signed-off-by: Jean Sacren <sakiwit@gmail.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/e1000/e1000_main.c

index 12d59a464240efb42de0f12d7a091d2b0db3009d..a0f3a313e9e73dbcfc5ad922d0fae30811672ac4 100644 (file)
@@ -1199,13 +1199,13 @@ static int e1000_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
                for (i = 0; i < 32; i++) {
                        hw->phy_addr = i;
                        e1000_read_phy_reg(hw, PHY_ID2, &tmp);
-                       if (tmp == 0 || tmp == 0xFF) {
-                               if (i == 31)
-                                       goto err_eeprom;
-                               continue;
-                       } else
+
+                       if (tmp != 0 && tmp != 0xFF)
                                break;
                }
+
+               if (i >= 32)
+                       goto err_eeprom;
        }
 
        /* reset the hardware with the new settings */