This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: AT91SAM7S USB corruption


I have just tried Olivers patches to the AT91 USB driver, and my problems have been fixed!
I still had to patch the patches, but only a minor fix was needed:

CLEAR_BITS (pCSR, AT91_UDP_CSR_TXCOMP | AT91_UDP_CSR_RXSETUP | AT91_UDP_CSR_ISOERROR); in usbs_at91_endpoint_isr_rx shouldn't clear the TXCOMP flag. And thus should become:

CLEAR_BITS (pCSR, AT91_UDP_CSR_RXSETUP | AT91_UDP_CSR_ISOERROR);

With this minor fix to the patches, I've managed to leave my code running for well over 8 hours without any crashes or issues!

Thanks,

-- Erant

On Feb 11, 2010, at 2:54 PM, oliver munz @ s p e a g wrote:

> There is an error in the rx-endpoint-interrupt-handling:
> 
> Sorry it should be:
> 
> pep->buffer_size = (cyg_uint32) * ppbegin - (cyg_uint32) pep->buffer;
> if (!pep->halted && pep->buffer_size) {
> 	(*pep->complete_fn) (pep->complete_data, pep->buffer_size);
> } else {
> 	(*pep->complete_fn) (pep->complete_data, -EAGAIN);
> }
> usbs_at91_endpoint_interrupt_enable (epn, false);
> 
> 
> 
> Regards
> Oliver
> 
> 


--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]