• Aaron Sierra's avatar
    igb: reset the PHY before reading the PHY ID · 18278533
    Aaron Sierra authored
    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 2a3cdead
        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: default avatarAaron Sierra <asierra@xes-inc.com>
    Tested-by: default avatarMatwey V. Kornilov <matwey@sai.msu.ru>
    Tested-by: default avatarChris J Arges <christopherarges@gmail.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    18278533
e1000_82575.c 78.7 KB