summaryrefslogtreecommitdiff
path: root/components/drivers
diff options
context:
space:
mode:
authorweety <[email protected]>2014-04-06 21:02:23 +0800
committerweety <[email protected]>2014-04-06 21:02:23 +0800
commitd5b0c945520d68d24b5af7598e9b4ead9b3d288e (patch)
tree509893b92315a5c5dd9c9e770cbe74a0cb5d40f0 /components/drivers
parent16eb9bbed5dde151dabba2b9bc9cb13753873940 (diff)
[USB]fix rt_usbd_set_config() BUG which set the USB device to configuration state before enumerating the device.
Diffstat (limited to 'components/drivers')
-rw-r--r--components/drivers/usb/usbdevice/core/core.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/components/drivers/usb/usbdevice/core/core.c b/components/drivers/usb/usbdevice/core/core.c
index 14deb316aa..dadd81352b 100644
--- a/components/drivers/usb/usbdevice/core/core.c
+++ b/components/drivers/usb/usbdevice/core/core.c
@@ -372,6 +372,7 @@ static rt_err_t _set_config(struct udevice* device, ureq_t setup)
/* set current configuration */
rt_usbd_set_config(device, setup->value);
+ dcd_set_config(device->dcd, setup->value);
cfg = device->curr_cfg;
for (i=cfg->func_list.next; i!=&cfg->func_list; i=i->next)
@@ -1598,8 +1599,6 @@ rt_err_t rt_usbd_set_config(udevice_t device, rt_uint8_t value)
/* set as current configuration */
device->curr_cfg = cfg;
-
- dcd_set_config(device->dcd, value);
return RT_TRUE;
}