The register USB_SIE_EP1_CR0 could be used to STALL the end point and clear the end point. If the 7th bit of the register is set, this STALL the end point. If the 7th bit is cleared, this could clear the STALL. Could you please refer the below link, page no 744, to get more information about this register:
Thanks, but I mentioned trying that in my original post.
if the device does not want the data, it has to NACK the packets... the host will keep on attempting to send the packets.. device will keep on nacking.
Device has only options of ACK, Nack or Stall to send as response to Host according to USB2.0 spec. Thus I think your requirement cannot be met according to USB2.0 spec.
Stall should be used only in an error condition .
Sadly I'm using libusb for my client, and sending a NAK just causes it to block and retry --- eventually it times out. So my choices are either to time out or to stall, both of which produce client-side error conditions rather than a clean short transfer.