mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 16:29:05 +00:00
wimax/i2400m: verify firmware format version is known
Make sure the bootloading code checks that the format of the file is understood (major version match). This also fixes a dumb typo in extracting the major version field. Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
This commit is contained in:
parent
923d708fed
commit
fabce1a485
@ -1179,7 +1179,7 @@ int i2400m_fw_check(struct i2400m *i2400m,
|
||||
|
||||
module_type = bcf->module_type;
|
||||
header_len = sizeof(u32) * le32_to_cpu(bcf->header_len);
|
||||
major_version = le32_to_cpu(bcf->header_version) & 0xffff0000 >> 16;
|
||||
major_version = (le32_to_cpu(bcf->header_version) & 0xffff0000) >> 16;
|
||||
minor_version = le32_to_cpu(bcf->header_version) & 0x0000ffff;
|
||||
module_id = le32_to_cpu(bcf->module_id);
|
||||
module_vendor = le32_to_cpu(bcf->module_vendor);
|
||||
@ -1205,6 +1205,12 @@ int i2400m_fw_check(struct i2400m *i2400m,
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (major_version != 1) {
|
||||
dev_err(dev, "%s: major header version v%u.%u not supported\n",
|
||||
i2400m->fw_name, major_version, minor_version);
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Check soft-er errors */
|
||||
result = 0;
|
||||
if (module_vendor != 0x8086)
|
||||
|
Loading…
x
Reference in New Issue
Block a user