d2878b36ad
commit f4f9edcf9b5289ed96113e79fa65a7bf27ecb096 upstream. As the function documentation for tty_ldisc_ref_wait() notes, it is only callable from a tty file_operations routine; otherwise there is no guarantee the ref won't be NULL. The key difference with the VT's paste_selection() is that is an ioctl, where __speakup_paste_selection() is completely async kworker, kicked off from interrupt context. Fixes: 28a821c30688 ("Staging: speakup: Update __speakup_paste_selection() tty (ab)usage to match vt") Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
||
---|---|---|
.. | ||
DefaultKeyAssignments | ||
Kconfig | ||
Makefile | ||
TODO | ||
buffers.c | ||
devsynth.c | ||
fakekey.c | ||
i18n.c | ||
i18n.h | ||
keyhelp.c | ||
kobjects.c | ||
main.c | ||
selection.c | ||
serialio.c | ||
serialio.h | ||
speakup.h | ||
speakup_acnt.h | ||
speakup_acntpc.c | ||
speakup_acntsa.c | ||
speakup_apollo.c | ||
speakup_audptr.c | ||
speakup_bns.c | ||
speakup_decext.c | ||
speakup_decpc.c | ||
speakup_dectlk.c | ||
speakup_dtlk.c | ||
speakup_dtlk.h | ||
speakup_dummy.c | ||
speakup_keypc.c | ||
speakup_ltlk.c | ||
speakup_soft.c | ||
speakup_spkout.c | ||
speakup_txprt.c | ||
speakupmap.h | ||
speakupmap.map | ||
spk_priv.h | ||
spk_priv_keyinfo.h | ||
spk_types.h | ||
spkguide.txt | ||
synth.c | ||
thread.c | ||
varhandlers.c |