Index: firmware/target/arm/usb-s3c6400x.c =================================================================== --- firmware/target/arm/usb-s3c6400x.c (Revision 24322) +++ firmware/target/arm/usb-s3c6400x.c (Arbeitskopie) @@ -279,13 +279,15 @@ if (!length) { DIEPTSIZ(ep) = 1 << 19; /* one empty packet */ - DIEPDMA(ep) = 0x10000000; /* dummy address */ } else { DIEPTSIZ(ep) = length | (packets << 19); - DIEPDMA(ep) = (uint32_t)ptr; } + + if(ptr==NULL) DIEPDMA(ep) = 0x10000000; + else DIEPDMA(ep) = (uint32_t)ptr; + clean_dcache(); DIEPCTL(ep) |= 0x84000000; /* EPx OUT ENABLE CLEARNAK */ } @@ -301,13 +303,15 @@ if (!length) { DOEPTSIZ(ep) = 1 << 19; /* one empty packet */ - DOEPDMA(ep) = 0x10000000; /* dummy address */ } else { DOEPTSIZ(ep) = length | (packets << 19); - DOEPDMA(ep) = (uint32_t)ptr; } + + if(ptr==NULL) DOEPDMA(ep) = 0x10000000; + else DOEPDMA(ep) = (uint32_t)ptr; + clean_dcache(); DOEPCTL(ep) |= 0x84000000; /* EPx OUT ENABLE CLEARNAK */ }