Merge "Handle failed usb/reads and writes correctly"

am: 6e28863442

Change-Id: I505676fe1a12f21cf9b006d1d417410616ba5053
This commit is contained in:
Hridya Valsaraju 2019-04-16 16:11:44 -07:00 committed by android-build-merger
commit fc5c5f2b27

View file

@ -257,7 +257,7 @@ ssize_t ClientUsbTransport::Read(void* data, size_t len) {
auto bytes_to_read = std::min(len - bytes_read_total, kFbFfsNumBufs * kFbFfsBufSize);
auto bytes_read_now = handle_->read(handle_.get(), char_data, bytes_to_read);
if (bytes_read_now < 0) {
return bytes_read_total;
return bytes_read_total == 0 ? -1 : bytes_read_total;
}
bytes_read_total += bytes_read_now;
char_data += bytes_read_now;
@ -278,7 +278,7 @@ ssize_t ClientUsbTransport::Write(const void* data, size_t len) {
auto bytes_to_write = std::min(len - bytes_written_total, kFbFfsNumBufs * kFbFfsBufSize);
auto bytes_written_now = handle_->write(handle_.get(), data, bytes_to_write);
if (bytes_written_now < 0) {
return bytes_written_total;
return bytes_written_total == 0 ? -1 : bytes_written_total;
}
bytes_written_total += bytes_written_now;
char_data += bytes_written_now;