]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: qla2xxx: set UNLOADING before waiting for session deletion
authorMartin Wilck <mwilck@suse.com>
Tue, 21 Apr 2020 20:46:20 +0000 (22:46 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 22 Apr 2020 03:53:33 +0000 (23:53 -0400)
commitc4c93969c253aaacca16a6ffdb2f0286aa7d9259
tree1133975ab563abbc46f983cbbfbec4584faa7ae3
parent99d3960f668f6de3b56ba188c4eb482124713634
scsi: qla2xxx: set UNLOADING before waiting for session deletion

The purpose of the UNLOADING flag is to avoid port login procedures to
continue when a controller is in the process of shutting down.  It makes
sense to set this flag before starting session teardown.

Furthermore, use atomic test_and_set_bit() to avoid the shutdown being run
multiple times in parallel. In qla2x00_disable_board_on_pci_error(), the
test for UNLOADING is postponed until after the check for an already
disabled PCI board.

Link: https://lore.kernel.org/r/20200421204621.19228-2-mwilck@suse.com
Fixes: 53925c151d15 ("scsi: qla2xxx: Fix driver unload by shutting down chip")
Reviewed-by: Arun Easi <aeasi@marvell.com>
Reviewed-by: Daniel Wagner <dwagner@suse.de>
Reviewed-by: Roman Bolshakov <r.bolshakov@yadro.com>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_os.c