• Michael Chan's avatar
    bnxt_en: Fix error recovery for 5760X (P7) chips · 41e54045
    Michael Chan authored
    During error recovery, such as AER fatal error slot reset, we call
    bnxt_try_map_fw_health_reg() to try to get access to the health
    register to determine the firmware state.  Fix
    bnxt_try_map_fw_health_reg() to recognize the P7 chip correctly
    and set up the health register.
    
    This fixes this type of AER slot reset failure:
    
    bnxt_en 0000:04:00.0: AER: PCIe Bus Error: severity=Uncorrectable (Fatal), type=Inaccessible, (Unregistered Agent ID)
    bnxt_en 0000:04:00.0 enp4s0f0np0: PCI I/O error detected
    bnxt_en 0000:04:00.0 bnxt_re0: Handle device suspend call
    bnxt_en 0000:04:00.1 enp4s0f1np1: PCI I/O error detected
    bnxt_en 0000:04:00.1 bnxt_re1: Handle device suspend call
    pcieport 0000:00:02.0: AER: Root Port link has been reset (0)
    bnxt_en 0000:04:00.0 enp4s0f0np0: PCI Slot Reset
    bnxt_en 0000:04:00.0: enabling device (0000 -> 0002)
    bnxt_en 0000:04:00.0: Firmware not ready
    bnxt_en 0000:04:00.1 enp4s0f1np1: PCI Slot Reset
    bnxt_en 0000:04:00.1: enabling device (0000 -> 0002)
    bnxt_en 0000:04:00.1: Firmware not ready
    pcieport 0000:00:02.0: AER: device recovery failed
    
    Fixes: a432a45b ("bnxt_en: Define basic P7 macros")
    Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    41e54045
bnxt.c 408 KB