Messages in this thread | | | From | "Henrik Rydberg" <> | Date | Mon, 30 Apr 2012 13:53:02 +0200 | Subject | Re: [PATCH v3 0/6] hid: Introduce device groups |
| |
Hi Jiri,
> > 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?
Henrik
| |