Skip to contentSkip to conversation

scsi/mpt2sas: setpci reset results in kernel oops

Bug 95101 [email protected] 1 participant 3 messages Mar 19, 2015 – Apr 2, 2015 1 message not in the archive SCSI

lore
Share & tools
lore
#2 lore raw
In reply to a message not in the archive

https://bugzilla.kernel.org/show_bug.cgi?id=95101

Joe Lawrence <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #1 from Joe Lawrence <[email protected]> ---

Quoted 1 line

From the /var/log/messages attachment:

Mar 16 01:13:10 RHEL63 kernel: mpt2sas1: _base_fault_reset_work: Running
mpt2sas_dead_ioc thread success !!!!
...
Mar 16 01:13:20 RHEL63 kernel: mpt2sas1: _scsih_ir_shutdown: timeout
Mar 16 01:13:20 RHEL63 kernel: mpt2sas1: removing handle(0x0024),

wwid(0x0c4e8a1c03a9b742)

indicates that _scsih_remove was called when the driver's watchdog detected that the device was misbehaving. Driver device removal invokes:

mpt2sas_base_detach
mpt2sas_base_free_resources

    iounmap(ioc->chip)

setting the stage for the crash:

Mar 16 01:13:37 RHEL63 kernel: BUG: unable to handle kernel paging request at
ffffc900171e0000                             
Mar 16 01:13:37 RHEL63 kernel: IP: [<ffffffffa00502e0>]
mpt2sas_base_get_iocstate+0x10/0x30 [mpt2sas]
...
Mar 16 01:13:37 RHEL63 kernel: RAX: ffffc900171e0000 RBX: ffff88105a0aa788 RCX:

0000000000004fdc

where mpt2sas_base_get_iocstate was probably calling readl(&ioc->chip->Doorbell)

So it would seem that the mpt2sas ioctl code (step 5, I think) isn't synchronized against device removal.

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.
#3 lore raw
In reply to a message not in the archive

https://bugzilla.kernel.org/show_bug.cgi?id=95101

--- Comment #2 from Nagarajkumar N <[email protected]> --- Created attachment 172971
--> https://bugzilla.kernel.org/attachment.cgi?id=172971&action=edit
mpt2sas pci resource removal synchronization patch

The attached patch need to applied on latest linux main git branch on scsi/mpt2sas
The patch provides syncrhonization between cli, brm status show and pci resource removal path through mutex lock and spinlock protection on linked list of controllers (multiple warpdrive cards are used) on controller resource removal and addition

Signature · 2 lines
You are receiving this mail because:
You are on the CC list for the bug.