Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 88e8f61a authored by jp abgrall's avatar jp abgrall
Browse files

Revert "fastboot: add preflash command to help with large downloads+flash"

This reverts commit 6f1cd0b2.

It causes some devices to fail (b/9581613). Revert for now.

Change-Id: I076158c704c2b4f0459322aa157c19ebd0c4615f
parent 6f1cd0b2
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -76,7 +76,6 @@ char *mkmsg(const char *fmt, ...)
#define OP_NOTICE     4
#define OP_FORMAT     5
#define OP_DOWNLOAD_SPARSE 6
#define OP_COMMAND_IGNORE_FAIL 7

typedef struct Action Action;

@@ -375,8 +374,6 @@ int fb_format(Action *a, usb_handle *usb, int skip_if_not_supported)

    // Following piece of code is similar to fb_queue_flash() but executes
    // actions directly without queuing
    snprintf(cmd, sizeof(cmd), "preflash:%s", partition);
    fb_command(usb, cmd);  /* Ignore status */
    fprintf(stderr, "sending '%s' (%lli KB)...\n", partition, image.image_size/1024);
    status = fb_download_data(usb, image.buffer, image.image_size);
    if (status) goto cleanup;
@@ -405,8 +402,6 @@ void fb_queue_flash(const char *ptn, void *data, unsigned sz)
{
    Action *a;

    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
    a->msg = mkmsg("prep for '%s' (%d KB)", ptn, sz / 1024);
    a = queue_action(OP_DOWNLOAD, "");
    a->data = data;
    a->size = sz;
@@ -420,8 +415,6 @@ void fb_queue_flash_sparse(const char *ptn, struct sparse_file *s, unsigned sz)
{
    Action *a;

    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:%s", ptn);
    a->msg = mkmsg("prep for sparse '%s' (%d KB)", ptn, sz / 1024);
    a = queue_action(OP_DOWNLOAD_SPARSE, "");
    a->data = s;
    a->size = 0;
@@ -582,9 +575,7 @@ void fb_queue_command(const char *cmd, const char *msg)

void fb_queue_download(const char *name, void *data, unsigned size)
{
    Action *a;
    a = queue_action(OP_COMMAND_IGNORE_FAIL, "preflash:");
    a = queue_action(OP_DOWNLOAD, "");
    Action *a = queue_action(OP_DOWNLOAD, "");
    a->data = data;
    a->size = size;
    a->msg = mkmsg("downloading '%s'", name);
@@ -623,8 +614,6 @@ int fb_execute_queue(usb_handle *usb)
            status = fb_command(usb, a->cmd);
            status = a->func(a, status, status ? fb_get_error() : "");
            if (status) break;
        } else if (a->op == OP_COMMAND_IGNORE_FAIL) {
            fb_command(usb, a->cmd);   /* Ignore status */
        } else if (a->op == OP_QUERY) {
            status = fb_command_response(usb, a->cmd, resp);
            status = a->func(a, status, status ? fb_get_error() : resp);
+9 −9
Original line number Diff line number Diff line

FastBoot  Version  0.4++
FastBoot  Version  0.4
----------------------

The fastboot protocol is a mechanism for communicating with bootloaders
@@ -67,6 +67,10 @@ Transport and Framing
Example Session
---------------

Host:    "getvar:version"        request version variable

Client:  "OKAY0.4"               return version "0.4"

Host:    "getvar:nonexistant"    request some undefined variable

Client:  "OKAY"                  return value ""
@@ -119,11 +123,6 @@ Command Reference
  "flash:%s"           Write the previously downloaded image to the
                       named partition (if possible).

  "preflash:%s"        Optionally prepare for a download + flash.
                       E.g. flash directly during download. To deal with a
                       failed "flash" followed by a "boot", we send
                       "preflash:".

  "erase:%s"           Erase the indicated partition (clear to 0xFFs)

  "boot"               The previously downloaded data is a boot.img
@@ -141,9 +140,7 @@ Command Reference

  "powerdown"          Power off the device.

* Note about sparse files
  Large files can be split up using libsparse, and sent to the bootloader
  as repeated chunks of "download:%08x" + "flash:%s".


Client Variables
----------------
@@ -154,6 +151,9 @@ on it.

The various currently defined names are:

  version             Version of FastBoot protocol supported.
                      It should be "0.3" for this document.

  version-bootloader  Version string for the Bootloader.

  version-baseband    Version string of the Baseband Software