Commit d844752e authored by Raghava Aditya Renukunta's avatar Raghava Aditya Renukunta Committed by Martin K. Petersen

scsi: aacraid: Fix a potential spinlock double unlock bug

The driver does not unlock the reply  queue spin lock after handling SMART
adapter events. Instead it might attempt to unlock an already unlocked
spin lock.

Fixed by making sure the driver locks the spin lock before freeing it.

Thank you dan for finding this issue out.

Fixes: 6223a39f (scsi: aacraid: Added support for hotplug)
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Reviewed-by: default avatarDavid Carroll <David.Carroll@microsemi.com>
Reviewed-by: default avatarJohannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 09624645
...@@ -2215,7 +2215,7 @@ static void aac_process_events(struct aac_dev *dev) ...@@ -2215,7 +2215,7 @@ static void aac_process_events(struct aac_dev *dev)
/* Thor AIF */ /* Thor AIF */
aac_handle_sa_aif(dev, fib); aac_handle_sa_aif(dev, fib);
aac_fib_adapter_complete(fib, (u16)sizeof(u32)); aac_fib_adapter_complete(fib, (u16)sizeof(u32));
continue; goto free_fib;
} }
/* /*
* We will process the FIB here or pass it to a * We will process the FIB here or pass it to a
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment