speakup-r lockup analysis so far

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

 



Hi,

This is my analysis of speakup-r empty line lockup so far.

The call chain that leads is:

cursor on an empty line --> user hits speakup-r --> (everthing from here
on will be in interrupt context) --> keyboard_notifier_call(code == 4
== KBD_KEYSYM) --> speakup_key() --> do_spkup() --> spkup_handler(value
==47==index of read_all_doc) --> read_all_doc --> kbd_fakekey2()

Now, inside kbd_fakekey2(), speakup_fake_down_arrow() causes the lockup.
And inside speakup_fake_down_arrow(), input_sync() causes the lockup.

I'm pretty sure keyboard_notifier_call is not invoked again, after
input_sync() when the lockup happens. So either lockup happens inside
input_sync() or some callback that is invoked as a result of
input_sync's execution.

>From tests that John ran, we can say that speakup_fake_down_arrow itself
is correct. It's only when it is called as a result of above call chain
that the lockup happens. Also worth noting is the fact that above
sequence is all inside interrupt context.

Any ideas or suggestions about line of investigation will be helpful.
Until then, I'll continue to explore this.

Thanks,
Okash
_______________________________________________
Speakup mailing list
Speakup@xxxxxxxxxxxxxxxxx
http://linux-speakup.org/cgi-bin/mailman/listinfo/speakup




[Index of Archives]     [Linux for the Blind]     [Fedora Discussioin]     [Linux Kernel]     [Yosemite News]     [Big List of Linux Books]
  Powered by Linux