Re: linux-3.4-rc5: Oops in klist_del()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 30, 2012 at 2:58 PM, Martin Mokrejs
<mmokrejs@xxxxxxxxxxxxxxxxxx> wrote:
> Martin Mokrejs wrote:
>> Hi,
>>   I was removing an ExpressCard with a NEC chipset used by xhci_hcd and the kernel crashed
>> on my Dell Vostro 3550 laptop. Its express slot chipset somehow does not report properly
>> that a card was unplugged, as discussed earlier here on linux-pci under Subject
>> "Re: 3.2.11: PCI Express card cannot be re-detected withing cca 60sec timeframe".
>>
>>   Maybe this helps somebody to find the cause? Here is a bit of the attached Oops snapshot
>> stacktrace:
>>
>> klist_del
>> fdevice_del
>> device_unregister
>> pci_stop_bus_device
>> pci_stop_and_remove_bus_device
>> devehp_unconfigure_device
>> pciehp_disable_slot
>> ? pciehp_disable_slot
>> pciehp_power_thread
>> process_one_work
>> worker_thriad
>> ? manage_workers.clone
>> ? manage_workers.clone
>> kthrerd
>> ...
>
> This is 100% reproducible. It happens with 3.4-rc5 and 3.3.4 kernels while not with 3.2.14.
> I did not have the external enclosure earlier but repeated unplugs/re-plugs of the NEC-based
> expresscard were/are just not enough to trigger the Oops. One needs the ASMedia2105 in addition.
>
> To hit the Ooops, the disk has to be *RE-detected* and unplugged (so not its very first plugin).
> Express card removal after the very first plugin says usually something about the surprise
> removal. When I re-plug the disk, it gets detected, and it removal hits the Ooops. I am attaching
> dmesg from 3.2.14 kernel which does not have the problem. You can see how many times I did remove
> and re-plug the card. If I waited long ebough for xhci_hcd to timeout waiting for the unplugged
> device, it says
>
> xhci_hcd 0000:11:00.0: Timeout while waiting for configure endpoint command
> xHCI xhci_drop_endpoint called for root hub
> xHCI xhci_check_bandwidth called for root hub
> xhci_hcd 0000:11:00.0: USB bus 5 deregistered
> xhci_hcd 0000:11:00.0: PCI INT A disabled
>
> and then, subsequent re-plug of the card with the disk attached results in detected SCSI device.
> In contrast, if I re-plug the express card earlier express card slot change is reported but the
> disc is not detected (something is blocked in xhci_hcd I think).
>
> The above stacktrace (of actually the camera snapshot is not the first stacktrace, unfortunately).
> I see there are 2-3 screen scrolled away. Hmm, but I do not have anything what could be used as
> a remote console ...

So if you use "echo 1 > /sys/.../0000:11.00.0/remove" before surprise
remove the card,

the oops would not happen?

Yinghai
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux