diff options
author | Alberto Panizzo <alberto@amarulasolutions.com> | 2018-07-12 13:05:41 +0200 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2018-08-08 22:22:07 +0200 |
commit | cad66e324d31e14d1f9eb19b52c4fe81bdad6951 (patch) | |
tree | ff6b0035fffcf47d5a7eacfbec19b7202c51fe4a /board/egnite | |
parent | c194bdf226030e45bcb2db3dcbb2d72e5052820a (diff) |
usb: rockchip: fix command failed on host side due to missing data
Two consecutive rockusb_tx_write without waiting for request complete
do results in transfer reset of first request and thus no or incomplete
data transfer. This because rockusb_tx_write do use just one USB request
to keep serialization.
So calls like:
rockusb_tx_write_str(emmc_id);
rockusb_tx_write_csw(cbw->tag, cbw->data_transfer_length, CSW_GOOD);
was succeeding only when DEBUG was defined because the time spent
printing debug info was enough for transfer to complete.
This patch fixes the issue adding a simple request complete handler
called rockusb_tx_write_csw to be set as complete handler of in_req
when sending back simple payload + CSW replies to commands.
This new handler will always send CSW_GOOD replies because in case
of error the command callback itself must send back an error CSW as
unique reply to command.
This patch fixes execution of:
$ rkdeveloptool rfi
when DEBUG is not defined.
Signed-off-by: Alberto Panizzo <alberto@amarulasolutions.com>
Diffstat (limited to 'board/egnite')
0 files changed, 0 insertions, 0 deletions