On Thu, Aug 3, 2017 at 2:25 PM, Simon Glass <s...@chromium.org> wrote: > Hi Rob, > > On 3 August 2017 at 07:17, Rob Clark <robdcl...@gmail.com> wrote: >> 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. >> > > Is this intended to fix a bug? What board do you see this on, and > under what circumstances?
yes, db410c w/ distro-bootcmd + usb keyboard.. stdin is not set. >> Signed-off-by: Rob Clark <robdcl...@gmail.com> >> --- >> v2: address Bin Meng's comments >> common/usb_kbd.c | 14 ++++++++++++++ >> 1 file changed, 14 insertions(+) >> >> diff --git a/common/usb_kbd.c b/common/usb_kbd.c >> index d2d29cc98f..72cf78abd4 100644 >> --- a/common/usb_kbd.c >> +++ b/common/usb_kbd.c >> @@ -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 > > /* > * stdin might not be hmm, somehow I screwed up and re-sent the wrong patch, rather than the one that *actually* addressed Bin's comments (this was one of them) BR, -R >> + * 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 >> -- >> 2.13.0 >> > > Regards, > Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot