• Gavin Shan's avatar
    powerpc/eeh: Enable IO path on permanent error · 6e315b2b
    Gavin Shan authored
    
    [ Upstream commit 387bbc97 ]
    
    We give up recovery on permanent error, simply shutdown the affected
    devices and remove them. If the devices can't be put into quiet state,
    they spew more traffic that is likely to cause another unexpected EEH
    error. This was observed on "p8dtu2u" machine:
    
       0002:00:00.0 PCI bridge: IBM Device 03dc
       0002:01:00.0 Ethernet controller: Intel Corporation \
                    Ethernet Controller X710/X557-AT 10GBASE-T (rev 02)
       0002:01:00.1 Ethernet controller: Intel Corporation \
                    Ethernet Controller X710/X557-AT 10GBASE-T (rev 02)
       0002:01:00.2 Ethernet controller: Intel Corporation \
                    Ethernet Controller X710/X557-AT 10GBASE-T (rev 02)
       0002:01:00.3 Ethernet controller: Intel Corporation \
                    Ethernet Controller X710/X557-AT 10GBASE-T (rev 02)
    
    On P8 PowerNV platform, the IO path is frozen when shutdowning the
    devices, meaning the memory registers are inaccessible. It is why
    the devices can't be put into quiet state before removing them.
    This fixes the issue by enabling IO path prior to putting the devices
    into quiet state.
    Reported-by: default avatarPridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com>
    Signed-off-by: default avatarGavin Shan <gwshan@linux.vnet.ibm.com>
    Acked-by: default avatarRussell Currey <ruscur@russell.cc>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarSasha Levin <alexander.levin@verizon.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    6e315b2b
eeh.c 46.8 KB