greybus: firmware: Fix incorrect firmware file's name

All the id-fields are 32 bit long instead of 16 bits and so we will need
8 characters per field instead of four. Also the stage field is only one
byte long and so needs just two characters to represent it.

Reported-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Viresh Kumar 2015-09-09 21:08:31 +05:30 committed by Greg Kroah-Hartman
parent 8bcc2d80dd
commit c9733b78ca

View File

@ -27,7 +27,7 @@ static int download_firmware(struct gb_firmware *firmware, u8 stage)
{
struct gb_connection *connection = firmware->connection;
struct gb_interface *intf = connection->bundle->intf;
char firmware_name[32];
char firmware_name[46];
/* Already have a firmware, free it */
if (firmware->fw)
@ -39,7 +39,7 @@ static int download_firmware(struct gb_firmware *firmware, u8 stage)
* XXX Name it properly..
*/
snprintf(firmware_name, sizeof(firmware_name),
"ara:%04x:%04x:%04x:%04x:%04x.fw",
"ara:%08x:%08x:%08x:%08x:%02x.fw",
intf->unipro_mfg_id, intf->unipro_prod_id,
intf->ara_vend_id, intf->ara_prod_id, stage);