From 17e12aea1dd797846f679a4f157c9d954b530874 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Tue, 17 Jul 2012 17:28:14 +0200 Subject: dfu: Send a ZLP after sending iBEC data possibly fixing some mode switch hangs --- src/dfu.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/dfu.c') diff --git a/src/dfu.c b/src/dfu.c index 13c715a..085485c 100644 --- a/src/dfu.c +++ b/src/dfu.c @@ -134,6 +134,7 @@ int dfu_send_component(struct idevicerestore_client_t* client, plist_t build_ide char* path = NULL; char* blob = NULL; irecv_error_t error = 0; + int flag = 1; if (client->tss) { if (tss_get_entry_path(client->tss, component, &path) < 0) { @@ -177,12 +178,13 @@ int dfu_send_component(struct idevicerestore_client_t* client, plist_t build_ide free(data); data = newdata; size += fillsize; + flag = 2; } info("Sending %s (%d bytes)...\n", component, size); // FIXME: Did I do this right???? - error = irecv_send_buffer(client->dfu->client, data, size, 1); + error = irecv_send_buffer(client->dfu->client, data, size, flag); free(path); if (error != IRECV_E_SUCCESS) { error("ERROR: Unable to send %s component: %s\n", component, irecv_strerror(error)); -- cgit v1.1-32-gdbae