wimax/i2400m: decide properly if using signed vs non-signed firmware loading
authorInaky Perez-Gonzalez <inaky@linux.intel.com>
Thu, 3 Sep 2009 22:56:40 +0000 (15:56 -0700)
committerInaky Perez-Gonzalez <inaky@linux.intel.com>
Mon, 19 Oct 2009 06:55:52 +0000 (15:55 +0900)
commit32742e6158657f19ad31653705bef56d983508e7
tree05a13b990dac551c18e1fd468ca1383b86f40e0c
parent59bdc4be0b819173a8f840fc11ccb82d6f2ca64b
wimax/i2400m: decide properly if using signed vs non-signed firmware loading

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: Inaky Perez-Gonzalez <inaky@linux.intel.com>
drivers/net/wimax/i2400m/fw.c
include/linux/wimax/i2400m.h