Hi
A USB device cannot send data without the host allowing it to, by sending an IN packet which it either responds to or sends a NAK back to.
The host defines the bandwidth available and so will normally be sending IN packets on bulk endpoints whenever there is nothing else to send - the device will therefore be able to return data almost all the time in such an arrangement and the host's DATA reception interrupt will inform of its arrival.
If your host is however not sending IN packets when it is not actually expecting to read data the device will not be able to send anything.
Regards
Mark