usb: kbd: don't fail with iomux
PATCH 1/1 usb: kbd: don't fail with iomux
stdin might not be set, which would cause iomux_doenv() to fail therefore causing probe_usb_keyboard() to fail. Furthermore if we do have iomux enabled, the sensible thing (in terms of user experience) would be to simply add ourselves to the list of stdin devices.
Signed-off-by Rob Clark <[email protected]>
--- common/usb_kbd.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
common/usb_kbd.c +14 -0
@@ -517,7 +517,21 @@ static int probe_usb_keyboard(struct usb_device *dev) stdinname =getenv ("stdin" );#if CONFIG_IS_ENABLED (CONSOLE_MUX ) +char *devname =DEVNAME ; +/* stdin might not be set yet.. either way, with console-mux the +* sensible thing to do is add ourselves to the list of stdio +* devices: +*/ +if (stdinname) { +char *newstdin =malloc (strlen (stdinname) +strlen ("," DEVNAME ) +1 ); +sprintf (newstdin,"%s," DEVNAME , stdinname); + stdinname = newstdin; + }else { + stdinname = devname; + } error =iomux_doenv (stdin, stdinname); +if (stdinname != devname) +free (stdinname);if (error)return error;#else
Signature · 1 line
2.9.4