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 */