• Guilherme G. Piccoli's avatar
    scsi: aacraid: Check for PCI state of device in a generic way · bd257b2f
    Guilherme G. Piccoli authored
    Commit 16ae9dd3 ("scsi: aacraid: Fix for excessive prints on EEH")
    introduced checks about the state of device before any PCI operations in
    the driver. Basically, this prevents it to perform PCI accesses when
    device is in the process of recover from a PCI error. In PowerPC, such
    mechanism is called EEH, and the aforementioned commit introduced checks
    that are based on EEH-specific primitives for that.
    
    The potential problems with this approach are three: first, these checks
    are "locked" to powerpc only - another archs could have error recovery
    methods too, like AER in Intel. Also, the powerpc primitives perform
    expensive FW accesses to validate the precise PCI state of a device.
    Finally, code becomes more complicated and needs ifdef validation based
    on arch config being set.
    
    So, this patch makes use of generic PCI state checks, which are
    lightweight and non-dependent of arch configs - also, it makes the code
    cleaner.
    
    Fixes: 16ae9dd3
    
     ("scsi: aacraid: Fix for excessive prints on EEH")
    Signed-off-by: default avatarGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
    Reviewed-by: default avatarDave Carroll <david.carroll@microsemi.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    bd257b2f
commsup.c 68.3 KB