Martin Wilck 856e152a3c 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: 45235022da99 ("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>
2020-04-21 23:53:33 -04:00
..
2020-04-10 12:21:11 -07:00
2020-04-10 12:21:11 -07:00
2020-04-02 17:03:53 -07:00
2019-09-30 23:59:53 -04:00
2020-01-29 18:16:16 -08:00
2019-12-27 17:28:41 -08:00
2019-12-02 13:37:02 -08:00
2019-11-07 06:43:18 -07:00
2020-03-11 23:07:59 -04:00
2019-09-21 10:50:15 -07:00
2020-04-02 17:03:53 -07:00
2020-04-10 12:21:11 -07:00
2020-04-10 12:21:11 -07:00
2020-04-02 17:03:53 -07:00
2020-03-05 17:36:24 -08:00
2020-04-10 12:21:11 -07:00
2019-11-12 22:21:35 -05:00
2020-04-02 17:03:53 -07:00
2020-02-24 14:54:25 -05:00
2020-03-11 23:07:59 -04:00
2020-03-11 23:07:59 -04:00
2020-02-28 20:54:52 -05:00
2019-07-11 15:14:01 -07:00
2019-06-18 19:46:18 -04:00
2019-07-11 15:17:41 -07:00
2020-04-02 17:03:53 -07:00
2020-04-02 17:03:53 -07:00
2019-07-11 15:14:01 -07:00
2020-03-24 07:57:07 -06:00
2019-07-11 15:17:41 -07:00
2019-07-11 15:14:01 -07:00
2020-03-30 11:20:13 -07:00
2019-12-08 12:23:42 -08:00
2019-07-11 15:14:01 -07:00
2020-04-10 12:21:11 -07:00
2020-02-24 15:01:57 -05:00
2020-02-10 22:46:55 -05:00
2019-07-11 15:14:01 -07:00