diff options
-rw-r--r-- | extra/usb_updater/gsctool.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/extra/usb_updater/gsctool.c b/extra/usb_updater/gsctool.c index e24306cbc2..996ac42749 100644 --- a/extra/usb_updater/gsctool.c +++ b/extra/usb_updater/gsctool.c @@ -720,6 +720,12 @@ static void transfer_section(struct transfer_descriptor *td, while (data_len && (data_ptr[data_len - 1] == 0xff)) data_len--; + /* + * Make sure total size is 4 bytes aligned, this is required for + * successful flashing. + */ + data_len = (data_len + 3) & ~3; + printf("sending 0x%zx bytes to %#x\n", data_len, section_addr); while (data_len) { size_t payload_size; |