]> git.baikalelectronics.ru Git - kernel.git/commit
igb: reset the PHY before reading the PHY ID
authorAaron Sierra <asierra@xes-inc.com>
Tue, 29 Nov 2016 16:03:56 +0000 (10:03 -0600)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 6 Jan 2017 10:18:51 +0000 (02:18 -0800)
commitbf41e406ba98fa167df99868bbf0cc67f90dad35
treec04643da1b3e8ac8e2d702105abcb007493c9174
parentaa8515b9f227c01a28f2d99298a553a993d6816c
igb: reset the PHY before reading the PHY ID

Several people have reported firmware leaving the I210/I211 PHY's page
select register set to something other than the default of zero. This
causes the first accesses, PHY_IDx register reads, to access something
else, resulting in device probe failure:

    igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
    igb: Copyright (c) 2007-2014 Intel Corporation.
    igb: probe of 0000:01:00.0 failed with error -2

This problem began for them after a previous patch I submitted was
applied:

    commit 8458eacc7ed5421dd568ec6f338beb1aed2af659
    Author: Aaron Sierra <asierra@xes-inc.com>
    Date:   Tue Nov 3 12:37:09 2015 -0600

        igb: Remove GS40G specific defines/functions

I personally experienced this problem after attempting to PXE boot from
I210 devices using this firmware:

    Intel(R) Boot Agent GE v1.5.78
    Copyright (C) 1997-2014, Intel Corporation

Resetting the PHY before reading from it, ensures the page select
register is in its default state and doesn't make assumptions about
the PHY's register set before the PHY has been probed.

Cc: Matwey V. Kornilov <matwey@sai.msu.ru>
Cc: Chris Arges <carges@vectranetworks.com>
Cc: Jochen Henneberg <jh@henneberg-systemdesign.com>
Signed-off-by: Aaron Sierra <asierra@xes-inc.com>
Tested-by: Matwey V. Kornilov <matwey@sai.msu.ru>
Tested-by: Chris J Arges <christopherarges@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/igb/e1000_82575.c