Commit 911e572
scsi: aacraid: fix PCI error recovery path
During a PCI error recovery, if aac_check_health() is not aware that a
PCI error happened and we have an offline PCI channel, it might trigger
some errors (like NULL pointer dereference) and inhibit the error
recovery process to complete.
This patch makes the health check procedure aware of PCI channel issues,
and in case of error recovery process, the function
aac_adapter_check_health() returns -1 and let the recovery process to
complete successfully. This patch was tested on upstream kernel
v4.11-rc5 in PowerPC ppc64le architecture with adapter 9005:028d
(VID:DID) - the error recovery procedure was able to recover fine.
Fixes: 5c63f7f ("aacraid: Added EEH support")
Cc: [email protected] # v4.6+
Signed-off-by: Guilherme G. Piccoli <[email protected]>
Reviewed-by: Dave Carroll <[email protected]>
Signed-off-by: Martin K. Petersen <[email protected]>1 parent 7c85615 commit 911e572
2 files changed
+10
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1690 | 1690 | | |
1691 | 1691 | | |
1692 | 1692 | | |
1693 | | - | |
1694 | | - | |
1695 | | - | |
1696 | 1693 | | |
1697 | 1694 | | |
1698 | 1695 | | |
| |||
2615 | 2612 | | |
2616 | 2613 | | |
2617 | 2614 | | |
| 2615 | + | |
| 2616 | + | |
| 2617 | + | |
| 2618 | + | |
| 2619 | + | |
| 2620 | + | |
| 2621 | + | |
| 2622 | + | |
2618 | 2623 | | |
2619 | 2624 | | |
2620 | 2625 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1873 | 1873 | | |
1874 | 1874 | | |
1875 | 1875 | | |
1876 | | - | |
| 1876 | + | |
| 1877 | + | |
1877 | 1878 | | |
1878 | 1879 | | |
1879 | 1880 | | |
| |||
0 commit comments