diff options
author | Amitkumar Karwar <akarwar@marvell.com> | 2014-08-19 08:24:26 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-08-28 14:41:56 -0400 |
commit | 89be7ceb80835238f04c09cb6efc2c70aabd02e8 (patch) | |
tree | 4cd60be16d347a682e6cac238347a760dd4bee38 /drivers/net | |
parent | 4b9fede594f05550a5b3e061784781aa13540d09 (diff) | |
download | linux-89be7ceb80835238f04c09cb6efc2c70aabd02e8.tar.gz linux-89be7ceb80835238f04c09cb6efc2c70aabd02e8.tar.bz2 linux-89be7ceb80835238f04c09cb6efc2c70aabd02e8.zip |
mwifiex: use firmware API revision from GET_HW_SPEC response
Newer firmware returns API revision in GET_HW_SPEC command
response. We will make use of it instead of parsing this
information from FW release number.
Signed-off-by: Amitkumar Karwar <akarwar@marvell.com>
Signed-off-by: Avinash Patil <patila@marvell.com>
Signed-off-by: Cathy Luo <cluo@marvell.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/mwifiex/cmdevt.c | 8 | ||||
-rw-r--r-- | drivers/net/wireless/mwifiex/fw.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/wireless/mwifiex/cmdevt.c b/drivers/net/wireless/mwifiex/cmdevt.c index 720e5198b437..985f6c2654fb 100644 --- a/drivers/net/wireless/mwifiex/cmdevt.c +++ b/drivers/net/wireless/mwifiex/cmdevt.c @@ -1508,7 +1508,6 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv, } adapter->fw_release_number = le32_to_cpu(hw_spec->fw_release_number); - adapter->fw_api_ver = (adapter->fw_release_number >> 16) & 0xff; adapter->number_of_antenna = le16_to_cpu(hw_spec->number_of_antenna); if (le32_to_cpu(hw_spec->dot_11ac_dev_cap)) { @@ -1552,6 +1551,13 @@ int mwifiex_ret_get_hw_spec(struct mwifiex_private *priv, adapter->key_api_major_ver, adapter->key_api_minor_ver); break; + case FW_API_VER_ID: + adapter->fw_api_ver = + api_rev->major_ver; + dev_dbg(adapter->dev, + "Firmware api version %d\n", + adapter->fw_api_ver); + break; default: dev_warn(adapter->dev, "Unknown api_id: %d\n", diff --git a/drivers/net/wireless/mwifiex/fw.h b/drivers/net/wireless/mwifiex/fw.h index adc47f3ea122..6a703ea18800 100644 --- a/drivers/net/wireless/mwifiex/fw.h +++ b/drivers/net/wireless/mwifiex/fw.h @@ -846,6 +846,7 @@ struct host_cmd_ds_802_11_ps_mode_enh { enum API_VER_ID { KEY_API_VER_ID = 1, + FW_API_VER_ID = 2, }; struct hw_spec_api_rev { |