Thread (36 messages) 36 messages, 4 authors, 2012-05-03

Re: [PATCH v3 0/6] hid: Introduce device groups

From: Jiri Kosina <hidden>
Date: 2012-04-30 11:55:53
Also in: lkml

On Mon, 30 Apr 2012, Henrik Rydberg wrote:
quoted
quoted
Just got the stacktrace on [1] though when running kernel with this 
patchset. The trace popped during shutdown, and the machine froze 
completely; I didn't have any kind of external console connected, so 
unfortunately I don't have the beginning of the whole thing.

I haven't been able to reproduce it so far. This was after several 
"parallel" plug/remove cycles of multiple HID devices driven by multiple 
different drivers.

I haven't performed any analysis what this might be yet.

[1] http://www.jikos.cz/jikos/junk/autoloading-trace.jpg
It actually seems to be spinlock lockup (due to the NMI trigger being 
apparent at the very first line) on kbd_event_lock ...
Ah, yes. I take it you are talking about tty/vt/keyboard.c. So some
random keypress during shutdown triggers the event, which eventually
reaches input_pass_event(). From there on, the trace stays in the
mentioned driver. First kbd_event() gets called, which takes the lock
and goes on to, in turn, call kbd_keycode(), k_handler[2]() ==
k_spec(), fn_handler[9]() == fn_hold(), which goes on to call
stop_tty(). This function comes back to the driver, via con_stop(), as
vt_kbd_con_stop(), which in turn takes the same lock. So unless the
teardown of something in hid affects the choices made in the tty
driver, it appears this is a different problem. Or?
I just came to the same conclusion a few minutes ago ... i.e. this is 
likely unrelated to the patchset and I just triggered it by pure 
coincidence on the patched kernel.

I will keep looking into it a little bit more. Dmitry, any immediate ideas 
by any chance?

Otherwise the series seems indeed fine and if I don't come across anything 
substantial once I am done with the review, I am considering pushing it 
for -next (I still have to look at quirks propagation Nikolai pointed 
out).

Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help