wimax/i2400m: drop support for deprecated major fw interface, add for new minor

Firmware interface version 8.x.x has long been deprecated and is no
longer supported (nor available, as it is a preproduction firmware),
so it can be safely dropped.

Add support for firmware interface v9.2.x (current is 9.1.x). Firmware
version 9.2.x is backwards compatible with 9.1.x; new features are
enabled if switches are pressed to turn them on. Forthcoming commits
to the driver will start pressing those switches when the firmware
interface supports it.

Signed-off-by: Inaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Inaky Perez-Gonzalez 2009-02-28 23:42:48 +00:00 committed by David S. Miller
parent 1039abbc5b
commit efa05d0f0a

View File

@ -942,8 +942,8 @@ error_cmd_failed:
/* Firmware interface versions we support */
enum {
I2400M_HDIv_MAJOR = 9,
I2400M_HDIv_MAJOR_2 = 8,
I2400M_HDIv_MINOR = 1,
I2400M_HDIv_MINOR_2 = 2,
};
@ -1009,18 +1009,14 @@ int i2400m_firmware_check(struct i2400m *i2400m)
minor = le16_to_cpu(l4mv->minor);
branch = le16_to_cpu(l4mv->branch);
result = -EINVAL;
if (major != I2400M_HDIv_MAJOR
&& major != I2400M_HDIv_MAJOR_2) {
dev_err(dev, "unsupported major fw interface version "
if (major != I2400M_HDIv_MAJOR) {
dev_err(dev, "unsupported major fw version "
"%u.%u.%u\n", major, minor, branch);
goto error_bad_major;
}
if (major == I2400M_HDIv_MAJOR_2)
dev_err(dev, "deprecated major fw interface version "
"%u.%u.%u\n", major, minor, branch);
result = 0;
if (minor != I2400M_HDIv_MINOR)
dev_warn(dev, "untested minor fw firmware version %u.%u.%u\n",
if (minor < I2400M_HDIv_MINOR_2 && minor > I2400M_HDIv_MINOR)
dev_warn(dev, "untested minor fw version %u.%u.%u\n",
major, minor, branch);
error_bad_major:
dev_info(dev, "firmware interface version %u.%u.%u\n",