diff options
author | Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com> | 2017-11-17 22:14:53 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2017-11-21 04:29:10 +0100 |
commit | bd257b2f3bc68514fad19763f540fea581c12d22 (patch) | |
tree | 6d4e7049ec9eab1dcef11a41572795a89fc462b2 /drivers/scsi/aacraid/rx.c | |
parent | scsi: Use 'blist_flags_t' for scsi_devinfo flags (diff) | |
download | linux-bd257b2f3bc68514fad19763f540fea581c12d22.tar.xz linux-bd257b2f3bc68514fad19763f540fea581c12d22.zip |
scsi: aacraid: Check for PCI state of device in a generic way
Commit 16ae9dd35d37 ("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: 16ae9dd35d37 ("scsi: aacraid: Fix for excessive prints on EEH")
Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Reviewed-by: Dave Carroll <david.carroll@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/aacraid/rx.c')
0 files changed, 0 insertions, 0 deletions