summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorAmitkumar Karwar <akarwar@marvell.com>2014-08-19 08:24:26 -0400
committerJohn W. Linville <linville@tuxdriver.com>2014-08-28 14:41:56 -0400
commit89be7ceb80835238f04c09cb6efc2c70aabd02e8 (patch)
tree4cd60be16d347a682e6cac238347a760dd4bee38 /drivers/net
parent4b9fede594f05550a5b3e061784781aa13540d09 (diff)
downloadlinux-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.c8
-rw-r--r--drivers/net/wireless/mwifiex/fw.h1
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 {