Re: [PATCH v3 27/77] ncr5380: Add missing lock in eh_abort_handler

From: Hannes Reinecke
Date: Tue Dec 22 2015 - 02:23:49 EST


On 12/22/2015 02:18 AM, Finn Thain wrote:
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@xxxxxxxxxxxxxxxxxxx>

---
drivers/scsi/NCR5380.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

Reviewed-by: Hannes Reinecke <hare@xxxxxxxx>

Cheers,

Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@xxxxxxx +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/