• Inaky Perez-Gonzalez's avatar
    wimax/i2400m: decide properly if using signed vs non-signed firmware loading · 32742e61
    Inaky Perez-Gonzalez authored
    The i2400m based devices can boot two main types of firmware images:
    signed and non-signed. Signed images have signature data included that
    must match that of a certificate stored in the device.
    
    Currently the code is making the decission on what type of firmware
    load (signed vs non-signed) is going to be loaded based on a hardcoded
    decission in __i2400m_ack_verify(), based on the barker the device
    sent upon boot.
    
    This is not flexible enough as future hardware will emit more barkers;
    thus the bit has to be set in a place where there is better knowledge
    of what is going on. This will be done in follow-up commits -- however
    this patch paves the way for it.
    
    So the querying of the mode is packed into i2400m_boot_is_signed();
    the main changes are just using i2400m_boot_is_signed() to determine
    the method to follow and setting i2400m->sboot in
    i2400m_is_boot_barker(). The modifications in i2400m_dnload_init() and
    i2400m_dnload_finalize() are just reorganizing the order of the if
    blocks and thus look larger than they really are.
    Signed-off-by: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
    32742e61
fw.c 34.5 KB