summaryrefslogtreecommitdiffstats
path: root/firmware/export
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2021-10-02 11:53:20 +0100
committerAidan MacDonald <amachronic@protonmail.com>2021-10-02 15:09:46 +0100
commit3a89fdee96eadda10a6024bd1162fae696654ae6 (patch)
tree2b10f6da1d5575e5ff5831ed173f8daa7069a771 /firmware/export
parentd435bb77b57a2c3ec1f3e447101bb6bbb7d163e1 (diff)
downloadrockbox-3a89fdee96eadda10a6024bd1162fae696654ae6.tar.gz
rockbox-3a89fdee96eadda10a6024bd1162fae696654ae6.zip
x1000: fix hang that may occur in USB mode
Upon getting a USB reset, the USB core will update charging current by calling usb_charging_maxcurrent_change(). On all current X1000 targets this may cause a hang, since changing the charge current involves a blocking I2C transaction. Eg. if the host issues a reset when we're already configured as part of error recovery, the change from 500 mA -> 100 mA will cause a hang. Change-Id: I5b45272c01fa16b179ae3d16bbc50c7fab9a416b
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/config/erosqnative.h1
-rw-r--r--firmware/export/config/fiiom3k.h1
-rw-r--r--firmware/export/config/shanlingq1.h1
3 files changed, 3 insertions, 0 deletions
diff --git a/firmware/export/config/erosqnative.h b/firmware/export/config/erosqnative.h
index e0a668d82d..e326f29b98 100644
--- a/firmware/export/config/erosqnative.h
+++ b/firmware/export/config/erosqnative.h
@@ -114,6 +114,7 @@
#define USB_DEVBSS_ATTR __attribute__((aligned(32)))
#define HAVE_USB_POWER
#define HAVE_USB_CHARGING_ENABLE
+#define HAVE_USB_CHARGING_IN_THREAD
#define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE
#define HAVE_BOOTLOADER_USB_MODE
#endif
diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h
index dc56f0a5cc..5a2fa6c025 100644
--- a/firmware/export/config/fiiom3k.h
+++ b/firmware/export/config/fiiom3k.h
@@ -114,6 +114,7 @@
#define USB_DEVBSS_ATTR __attribute__((aligned(32)))
#define HAVE_USB_POWER
#define HAVE_USB_CHARGING_ENABLE
+#define HAVE_USB_CHARGING_IN_THREAD
#define TARGET_USB_CHARGING_DEFAULT USB_CHARGING_FORCE
#define HAVE_BOOTLOADER_USB_MODE
#endif
diff --git a/firmware/export/config/shanlingq1.h b/firmware/export/config/shanlingq1.h
index 88175b9160..1122b7693c 100644
--- a/firmware/export/config/shanlingq1.h
+++ b/firmware/export/config/shanlingq1.h
@@ -104,6 +104,7 @@
#define USB_DEVBSS_ATTR __attribute__((aligned(32)))
#define HAVE_USB_POWER
#define HAVE_USB_CHARGING_ENABLE
+#define HAVE_USB_CHARGING_IN_THREAD
#define HAVE_BOOTLOADER_USB_MODE
#endif