aboutsummaryrefslogtreecommitdiff
path: root/lib/usb/usb_standard.c
diff options
context:
space:
mode:
authorGareth McMullin2011-03-14 20:31:32 +1300
committerGareth McMullin2011-03-14 20:31:32 +1300
commitbf0d1a7b4114ca35a2000bd47d9c6d73c6e92ce2 (patch)
tree7439f4f362c9da0b11ee5d9a24876941ebfe13d9 /lib/usb/usb_standard.c
parent7faea389e8ba002e1c3c7604eaaa916fad583179 (diff)
Connectivity line USB driver now enumerating correctly.
Diffstat (limited to 'lib/usb/usb_standard.c')
-rw-r--r--lib/usb/usb_standard.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/usb/usb_standard.c b/lib/usb/usb_standard.c
index 5995387..7bac216 100644
--- a/lib/usb/usb_standard.c
+++ b/lib/usb/usb_standard.c
@@ -131,6 +131,12 @@ static int usb_standard_set_address(struct usb_setup_data *req, u8 **buf,
_usbd_device.current_address = req->wValue;
+ /* Special workaround for STM32F10[57] that require the address
+ * to be set here. This is undocumented!
+ */
+ if(_usbd_device.driver == &stm32f107_usb_driver)
+ _usbd_device.driver->set_address(req->wValue);
+
return 1;
}