usb_master: Empty read buffer before reading new data from chip

For every readn() call, data which exists in the read buffer must be placed
before any new data from the chip.

Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com>