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: e30d175648 ("[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>
This commit is contained in:
Nicholas Piggin 2019-10-24 16:38:04 +10:00 committed by Martin K. Petersen
parent 0cf9f4e547
commit d3566abb1a
1 changed files with 4 additions and 0 deletions

View File

@ -3529,6 +3529,10 @@ qla2x00_shutdown(struct pci_dev *pdev)
qla2x00_try_to_stop_firmware(vha); qla2x00_try_to_stop_firmware(vha);
} }
/* Disable timer */
if (vha->timer_active)
qla2x00_stop_timer(vha);
/* Turn adapter off line */ /* Turn adapter off line */
vha->flags.online = 0; vha->flags.online = 0;