I am sending lots of data to the host on bulk IN endpoint. I noticed that after few seconds, the usb stops sending data. When I debugged it, I found out that the last three packets sent by USB are on DATA0 only. But in my code, all packets are being toggled before I sent them. Even my last packet I sent was on DATA1 which is still OWN by usb.
I read on the forum that I need to reset the Data toggling after certain amount of time. Is that right?
Here is the link. It is mentioned in point #2
In the usb specification, they say that we timeout and STALL the endpoint. Then the host driver will send CLEAR FEATURE for the stalled endpoint.
I just want to know is this the right way to do it. If yes, what should be the timeout period I should set.