OSDN Git Service

scsi: lpfc: Fix nvmet issues when link bounce under IO load
authorJames Smart <jsmart2021@gmail.com>
Mon, 28 Jan 2019 19:14:40 +0000 (11:14 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 6 Feb 2019 03:29:50 +0000 (22:29 -0500)
commitc160c0f8063e4225c069ac904a3f2cf89dcb3a81
treed28b86a5a9cf5caafdfc227975e762d28297b0a4
parent472e146d1cf3410a898b49834500fa9e33ac41a2
scsi: lpfc: Fix nvmet issues when link bounce under IO load

Various null pointer dereference and general protection fault panics occur
when there is a link bounce under load. There are a large number of "error"
message 6413 indicating "bad release".

The issues resolve to list corruptions due to missing or inconsistent lock
protection. Lockups are due to nested locks in the unsolicited abort
path. The unsolicited abort path calls the wrong abort processing
routine. There was also duplicate context release while aborts were still
active in the hardware.

Removed duplicate locks and added lock protection around list item
removal. Commonized lock handling around the abort processing routines.
Prevent context release while still in ABTS list.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_nvmet.c