From: Hans de Goede Date: Sun, 11 Jan 2015 19:34:44 +0000 (+0100) Subject: usb: Fix usb_kbd_deregister when console-muxing is used X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=3cbcb2892809b59d59bf62cb8e49705227ee382a;p=u-boot.git usb: Fix usb_kbd_deregister when console-muxing is used When iomuxing is used we must not only deregister the device with stdio.c, but also remove the reference to the device in the console_devices array used by console-muxing. Add a call to iomux_doenv to usb_kbd_deregister to update console_devices, which will drop the reference. This fixes the console filling with "Failed to enqueue URB to controller" messages after a "usb stop force", or when the USB keyboard is gone after a "usb reset". Signed-off-by: Hans de Goede --- diff --git a/common/usb_kbd.c b/common/usb_kbd.c index 0d47743907..ecc3085cc0 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -544,6 +544,10 @@ int usb_kbd_deregister(int force) data = usb_kbd_dev->privptr; if (stdio_deregister_dev(dev, force) != 0) return 1; +#ifdef CONFIG_CONSOLE_MUX + if (iomux_doenv(stdin, getenv("stdin")) != 0) + return 1; +#endif #ifdef CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE destroy_int_queue(usb_kbd_dev, data->intq); #endif