Index: firmware/target/arm/usb-s3c6400x.c =================================================================== --- firmware/target/arm/usb-s3c6400x.c (revision 24144) +++ firmware/target/arm/usb-s3c6400x.c (working copy) @@ -51,6 +51,9 @@ static struct ep_type endpoints[5]; static struct usb_ctrlrequest ctrlreq USB_DEVBSS_ATTR; +static unsigned char dummy_data[32] USB_DEVBSS_ATTR; + + int usb_drv_port_speed(void) { return (DSTS & 2) == 0 ? 1 : 0; @@ -271,6 +274,7 @@ void ep_send(int ep, void *ptr, int length) { + if(ptr==NULL) ptr = dummy_data; endpoints[ep].busy = true; endpoints[ep].size = length; DIEPCTL(ep) |= 0x8000; /* EPx OUT ACTIVE */ @@ -285,6 +289,7 @@ void ep_recv(int ep, void *ptr, int length) { + if(ptr==NULL) ptr = dummy_data; endpoints[ep].busy = true; endpoints[ep].size = length; DOEPCTL(ep) &= ~0x20000; /* EPx UNSTALL */