From adbb185f7b96ab3e303af483a9a685c6acd09884 Mon Sep 17 00:00:00 2001 From: Michael McAllister Date: Thu, 2 Jul 2026 20:56:29 +0100 Subject: [PATCH] hibyr1: fix USB gadget UDC unbind (empty write is a no-op) usb_enable(false) wrote "" to the gadget UDC attribute to unbind it, but sysfs_set_string("") doesn't do a write syscall. This meant that live USB-mode switches did nothing and required a reboot to take effect. Change-Id: I0fc9f54fdb2f529bfe24d5c1ed472c873401080e --- firmware/target/hosted/hiby/usb-hiby-gadget.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/firmware/target/hosted/hiby/usb-hiby-gadget.c b/firmware/target/hosted/hiby/usb-hiby-gadget.c index 91e178dd03..651b25bb70 100644 --- a/firmware/target/hosted/hiby/usb-hiby-gadget.c +++ b/firmware/target/hosted/hiby/usb-hiby-gadget.c @@ -95,12 +95,8 @@ void usb_enable(bool on) logf(">>>>>>>>>>>>>>>>> usb_enable(%d)\n", on); logf("usb enable %d %d\n", on, _usb_mode); - /* Ignore usb enable/disable when ADB is enabled so we can fireup adb shell - * without entering ums mode - */ - //if (_usb_mode != USB_MODE_ADB) { - sysfs_set_string("/sys/kernel/config/usb_gadget/adb_demo/UDC", on ? "13500000.otg_new" : ""); - //} + sysfs_set_string("/sys/kernel/config/usb_gadget/adb_demo/UDC", + on ? "13500000.otg_new" : "\n"); } /* This is called by usb thread after usb extract in order to return