On Tue, Apr 12, 2016 at 06:24:10AM +0000, Miod Vallat wrote: > > wskbd_enable (calls pckbd_enable) does not appear to be called from > > wskbd_activate, perhaps just calling wskbd_enable from there would be > > better? (as a matter of fact, wskbd_activate doesn't really do much at > > all except set sc_dying=1, and I'm not sure where that gets reset.) > > Nooooooo! wskbd_enable() is not used in the physical device activation > path, but in the logical path, so that keyboard input gets ignored > unless its device is actually opened. If you are running with serial > console and no getty listening to /dev/ttyC*, for example, then > wskbd_enable() should not get invoked at all! > > Now, some of the work done in wskbd_enable() might be worth doing in > wskbd_activate(), but be very careful when changing this. >
That is the same conclusion I came to after reading it more. I think the best idea is to proceed with the diff as posted, with the added check to make sure the keyboard is enabled, and to always call config_activate_children on all paths through pckbd_activate? In other words, no changes to wskbd_enable or wskbd_activate. Sound right?
