提交 fabce1a4 编写于 作者: I Inaky Perez-Gonzalez

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: NInaky Perez-Gonzalez <inaky@linux.intel.com>
上级 923d708f
......@@ -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)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册