mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-05 14:31:31 +00:00
usb_updater: close connection when no data is transferred
When usb_updater is invoked with the '-f' option and without specifying the binary file to transmit, the cr50 still enters the data transfer mode, even though the host is not transferring anything. As a result cr50 stays in the 'rx_outside_block' state until timeout expires. Another usb_updater invocation fails if attempted before timeout expiration. The UPGRADE_DONE PDU sent by the host causes the state machine to switch to the idle state immediately. BRANCH=none BUG=none TEST=ran the following commands: usb_updater -f && usb_updater -f the second invocation used to fail before this change, now it succeeds. Change-Id: Iceafeb30de6011975fbf47dabc7c6c494177c0f7 Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/415554 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
This commit is contained in:
committed by
chrome-bot
parent
57d8666fa1
commit
35c5e0fa42
@@ -1280,7 +1280,10 @@ int main(int argc, char *argv[])
|
||||
transferred_sections = transfer_and_reboot(&td, data, data_len);
|
||||
free(data);
|
||||
}
|
||||
|
||||
if (td.ep_type == usb_xfer) {
|
||||
if (!data)
|
||||
send_done(&td.uep);
|
||||
libusb_close(td.uep.devh);
|
||||
libusb_exit(NULL);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user