• Marcus Sundberg's avatar
    r8169: avoid thrashing PCI conf space above RTL_GIGA_MAC_VER_06 · 77332894
    Marcus Sundberg authored
    The magic write to register 0x82 will often cause PCI config space on
    my 8168 (PCI ID 10ec:8168, revision 2. mounted in an LG P300 laptop)
    to be filled with ones during driver load, and thus breaking NIC
    operation until reboot. If it does not happen on first driver load it
    can easily be reproduced by unloading and loading the driver a few
    times.
    
    The magic write was added long ago by this commit:
    
    Author: François Romieu <romieu@fr.zoreil.com>
    Date:   Sat Jan 10 06:00:46 2004 -0500
    
         [netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one():
         - phy capability settings allows lower or equal capability as suggested
           in Realtek's changes;
         - I/O voodoo;
         - no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
         - s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
         - rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
           of code (yep, the u16 -> int conversions should work as expected);
         - variable renames and whitepace changes ignored.
    
    As the 8168 wasn't supported by that version this patch simply removes
    the bogus write from mac versions <= RTL_GIGA_MAC_VER_06.
    
    [The change above makes sense for the 8101/8102 too -- Ueimor]
    Signed-off-by: default avatarMarcus Sundberg <marcus@ingate.com>
    Signed-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
    77332894
r8169.c 78.3 KB