summaryrefslogtreecommitdiff
path: root/firmware/usbstack/usb_serial.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/usbstack/usb_serial.c')
-rw-r--r--firmware/usbstack/usb_serial.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/firmware/usbstack/usb_serial.c b/firmware/usbstack/usb_serial.c
index b7d5062237..514df0dc2b 100644
--- a/firmware/usbstack/usb_serial.c
+++ b/firmware/usbstack/usb_serial.c
@@ -24,7 +24,7 @@
24#include "usb_drv.h" 24#include "usb_drv.h"
25#include "kernel.h" 25#include "kernel.h"
26#include "usb_serial.h" 26#include "usb_serial.h"
27 27#include "usb_class_driver.h"
28//#define LOGF_ENABLE 28//#define LOGF_ENABLE
29#include "logf.h" 29#include "logf.h"
30 30
@@ -102,19 +102,16 @@ int usb_serial_get_config_descriptor(unsigned char *dest,int max_packet_size)
102{ 102{
103 unsigned char *orig_dest = dest; 103 unsigned char *orig_dest = dest;
104 104
105 endpoint_descriptor.wMaxPacketSize=max_packet_size; 105 interface_descriptor.bInterfaceNumber = usb_interface;
106 interface_descriptor.bInterfaceNumber=usb_interface; 106 PACK_DESCRIPTOR(dest, interface_descriptor);
107 107
108 memcpy(dest,&interface_descriptor,sizeof(struct usb_interface_descriptor)); 108 endpoint_descriptor.wMaxPacketSize = max_packet_size;
109 dest+=sizeof(struct usb_interface_descriptor);
110 109
111 endpoint_descriptor.bEndpointAddress = ep_in; 110 endpoint_descriptor.bEndpointAddress = ep_in;
112 memcpy(dest,&endpoint_descriptor,sizeof(struct usb_endpoint_descriptor)); 111 PACK_DESCRIPTOR(dest, endpoint_descriptor);
113 dest+=sizeof(struct usb_endpoint_descriptor);
114 112
115 endpoint_descriptor.bEndpointAddress = ep_out; 113 endpoint_descriptor.bEndpointAddress = ep_out;
116 memcpy(dest,&endpoint_descriptor,sizeof(struct usb_endpoint_descriptor)); 114 PACK_DESCRIPTOR(dest, endpoint_descriptor);
117 dest+=sizeof(struct usb_endpoint_descriptor);
118 115
119 return (dest - orig_dest); 116 return (dest - orig_dest);
120} 117}