ncr5380: Add missing lock in eh_abort_handler
The host spin lock needs to be acquired by NCR5380_abort() before it calls
NCR5380_select(). This patch doesn't actually fix the EH issues in this
driver but it does avoid this:
BUG: spinlock already unlocked on CPU#0, kworker/u4:1/14
lock: 0xc0c0f834, .magic:
dead4ead, .owner: <none>/-1, .owner_cpu: -1
CPU: 0 PID: 14 Comm: kworker/u4:1 Not tainted 3.15.5 #5
Workqueue: scsi_tmf_4 scmd_eh_abort_handler
Call Trace:
[
ef885d70] [
c0008acc] show_stack+0x70/0x1bc (unreliable)
[
ef885db0] [
c0492a00] dump_stack+0x84/0x684
[
ef885dc0] [
c006f314] spin_dump+0xd0/0xe8
[
ef885dd0] [
c006f460] do_raw_spin_unlock+0xd4/0xd8
[
ef885df0] [
c0491c8c] _raw_spin_unlock_irq+0x10/0x3c
[
ef885e00] [
f381fe3c] NCR5380_select+0x3e4/0x6e8 [dmx3191d]
[
ef885e40] [
f382026c] NCR5380_abort+0x12c/0x190 [dmx3191d]
[
ef885e60] [
c02fec9c] scmd_eh_abort_handler+0x100/0x460
[
ef885e80] [
c0046470] process_one_work+0x16c/0x420
[
ef885ea0] [
c0046870] worker_thread+0x14c/0x430
[
ef885ed0] [
c004e4f4] kthread+0xd8/0xec
[
ef885f40] [
c00124d4] ret_from_kernel_thread+0x5c/0x64
Signed-off-by: Finn Thain <fthain@telegraphics.com.au>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Tested-by: Ondrej Zary <linux@rainbow-software.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>