diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2019-10-24 02:38:04 -0400 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-10-28 21:58:01 -0400 |
commit | d3566abb1a1e7772116e4d50fb6a58d19c9802e5 (patch) | |
tree | 37ce31c6bb14a10508a7c51d130d0b77739ce039 | |
parent | 0cf9f4e547cebb5f5d2d046437c71ddcc8ea4a39 (diff) |
scsi: qla2xxx: stop timer in shutdown path
In shutdown/reboot paths, the timer is not stopped:
qla2x00_shutdown
pci_device_shutdown
device_shutdown
kernel_restart_prepare
kernel_restart
sys_reboot
This causes lockups (on powerpc) when firmware config space access calls
are interrupted by smp_send_stop later in reboot.
Fixes: e30d1756480dc ("[SCSI] qla2xxx: Addition of shutdown callback handler.")
Link: https://lore.kernel.org/r/20191024063804.14538-1-npiggin@gmail.com
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Acked-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index e4d765fc03ea..39f7782a133b 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -3529,6 +3529,10 @@ qla2x00_shutdown(struct pci_dev *pdev) | |||
3529 | qla2x00_try_to_stop_firmware(vha); | 3529 | qla2x00_try_to_stop_firmware(vha); |
3530 | } | 3530 | } |
3531 | 3531 | ||
3532 | /* Disable timer */ | ||
3533 | if (vha->timer_active) | ||
3534 | qla2x00_stop_timer(vha); | ||
3535 | |||
3532 | /* Turn adapter off line */ | 3536 | /* Turn adapter off line */ |
3533 | vha->flags.online = 0; | 3537 | vha->flags.online = 0; |
3534 | 3538 | ||