diff options
author | Scott Lobdell <slobdell@google.com> | 2021-04-07 05:35:55 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2021-04-07 05:35:55 +0000 |
commit | ec6cfacad7283c60a33cfefacf5031247a2f81dc (patch) | |
tree | 5b473e86fc8ab0afc2241b6ac25875b25fa354bd /fastboot/device/fastboot_device.cpp | |
parent | 79aff2b0a0653fcafaf9099ad60075f2903e8de1 (diff) | |
parent | 268fff7088f0ab311c2de902178054ce40a42243 (diff) |
Merge "Merge SP1A.210329.001" into s-keystone-qcom-dev
Diffstat (limited to 'fastboot/device/fastboot_device.cpp')
-rw-r--r-- | fastboot/device/fastboot_device.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/fastboot/device/fastboot_device.cpp b/fastboot/device/fastboot_device.cpp index 35f3de020..64a934ddb 100644 --- a/fastboot/device/fastboot_device.cpp +++ b/fastboot/device/fastboot_device.cpp @@ -61,6 +61,7 @@ FastbootDevice::FastbootDevice() {FB_CMD_OEM, OemCmdHandler}, {FB_CMD_GSI, GsiHandler}, {FB_CMD_SNAPSHOT_UPDATE, SnapshotUpdateHandler}, + {FB_CMD_FETCH, FetchHandler}, }), boot_control_hal_(IBootControl::getService()), health_hal_(get_health_service()), @@ -137,14 +138,18 @@ bool FastbootDevice::WriteStatus(FastbootResult result, const std::string& messa } bool FastbootDevice::HandleData(bool read, std::vector<char>* data) { - auto read_write_data_size = read ? this->get_transport()->Read(data->data(), data->size()) - : this->get_transport()->Write(data->data(), data->size()); + return HandleData(read, data->data(), data->size()); +} + +bool FastbootDevice::HandleData(bool read, char* data, uint64_t size) { + auto read_write_data_size = read ? this->get_transport()->Read(data, size) + : this->get_transport()->Write(data, size); if (read_write_data_size == -1) { LOG(ERROR) << (read ? "read from" : "write to") << " transport failed"; return false; } - if (static_cast<size_t>(read_write_data_size) != data->size()) { - LOG(ERROR) << (read ? "read" : "write") << " expected " << data->size() << " bytes, got " + if (static_cast<size_t>(read_write_data_size) != size) { + LOG(ERROR) << (read ? "read" : "write") << " expected " << size << " bytes, got " << read_write_data_size; return false; } |