summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVincent Palatin <vpalatin@chromium.org>2014-12-22 09:36:43 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-01-05 19:10:22 +0000
commit05b0b9774a1c255e6332dc11f644b5e176f4f365 (patch)
treeca5e5badac6bf4bbf2a6df288e4af71b03ab423a
parent9d9fb986f7e3f677d8c491feb55295d413f8e9f1 (diff)
downloadchrome-ec-05b0b9774a1c255e6332dc11f644b5e176f4f365.tar.gz
usb: fix undefined USB endpoints (bis)
Repeat the fix done by the CL https://chromium-review.googlesource.com/226093 as the new function iface_undefined introduced by https://chromium-review.googlesource.com/232368 removed it for the ep_undefined function. When calling the ep_undefined function, the linker was not considering it as a Thumb function and not setting the LSB in the address pointer. This was causing an exception at runtime. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=all BUG=none TEST=inspect assembly build/load the firmware on Twinkie and see we are no longer panicing at startup on the unused endpoint 2. Change-Id: Id97ce43dd699436da7eb32bbe27501a74f0ab932 Reviewed-on: https://chromium-review.googlesource.com/237220 Tested-by: Vincent Palatin <vpalatin@chromium.org> Trybot-Ready: Vincent Palatin <vpalatin@chromium.org> Reviewed-by: Anton Staaf <robotboy@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org>
-rw-r--r--chip/stm32/usb_endpoints.S1
1 files changed, 1 insertions, 0 deletions
diff --git a/chip/stm32/usb_endpoints.S b/chip/stm32/usb_endpoints.S
index cc13cadeb3..25ee68f3b7 100644
--- a/chip/stm32/usb_endpoints.S
+++ b/chip/stm32/usb_endpoints.S
@@ -103,5 +103,6 @@ interface 7
/* Undefined interface callbacks fail by returning non-zero*/
iface_undefined:
mov r0, #1
+.thumb_func
ep_undefined:
bx lr