Re: [3.4-rt] backport of completion-use-simple-wait-queues.patch

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

 



* Paul Gortmaker | 2013-11-28 15:10:29 [-0500]:

>Hi Steve,
Hi Paul,

>Someone tripped over this with usb console:
>
>    in_atomic(): 0, irqs_disabled(): 1, pid: 36, name: kworker/1:1
>    Pid: 36, comm: kworker/1:1 Tainted: G           O 3.4.34-rt40_preempt-rt #1
>    Call Trace:
>     [<c105461e>] __might_sleep+0xce/0xf0
>     [<c14fe24c>] rt_spin_lock+0x1c/0x40
>     [<c1056f65>] complete+0x25/0x60
>     [<c14fde10>] ? rt_mutex_lock+0x20/0x50
>     [<c135e1b0>] usb_stor_blocking_completion+0x10/0x20
>     [<c13317b7>] usb_poll_irq_flush_helper+0x67/0xf0
>     [<c1056ad4>] ? migrate_enable+0x74/0x170
>     [<c10427f7>] process_one_work+0x107/0x410

 git grep usb_poll_irq_flush_helper
shows no results in 3.4.61-rt77 and 3.6.11.9-rt42. 
The function seems to disable interrups and it completes a usb-storage
request. This would works on mainline but in -RT those things run in thread
context (usb-hcd-use-local-irq-nort.patch).

Depending on what urbs you complete via usb_poll_irq_flush_helper() you
could deadlock if the urb-complete handler grabs a lock.

>Thanks,
>Paul.

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




[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux