Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit efa05d0f authored by Inaky Perez-Gonzalez's avatar Inaky Perez-Gonzalez Committed by David S. Miller
Browse files

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: default avatarInaky Perez-Gonzalez <inaky@linux.intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1039abbc
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -942,8 +942,8 @@ struct sk_buff *i2400m_get_device_info(struct i2400m *i2400m)
/* 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",