Commit b23a0524 authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville
Browse files

iwlwifi: checking unknown HW type



When deciding NVM type, if the HW type is unknown, report error and exit
with -ENOENT. This check should prevent incorrect behavior by assuming
the wrong NVM type.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e5108d07
...@@ -159,6 +159,9 @@ static int iwlcore_get_nvm_type(struct iwl_priv *priv) ...@@ -159,6 +159,9 @@ static int iwlcore_get_nvm_type(struct iwl_priv *priv)
/* OTP only valid for CP/PP and after */ /* OTP only valid for CP/PP and after */
switch (priv->hw_rev & CSR_HW_REV_TYPE_MSK) { switch (priv->hw_rev & CSR_HW_REV_TYPE_MSK) {
case CSR_HW_REV_TYPE_NONE:
IWL_ERR(priv, "Unknown hardware type\n");
return -ENOENT;
case CSR_HW_REV_TYPE_3945: case CSR_HW_REV_TYPE_3945:
case CSR_HW_REV_TYPE_4965: case CSR_HW_REV_TYPE_4965:
case CSR_HW_REV_TYPE_5300: case CSR_HW_REV_TYPE_5300:
...@@ -266,7 +269,8 @@ int iwl_eeprom_init(struct iwl_priv *priv) ...@@ -266,7 +269,8 @@ int iwl_eeprom_init(struct iwl_priv *priv)
u32 otpgp; u32 otpgp;
priv->nvm_device_type = iwlcore_get_nvm_type(priv); priv->nvm_device_type = iwlcore_get_nvm_type(priv);
if (priv->nvm_device_type == -ENOENT)
return -ENOENT;
/* allocate eeprom */ /* allocate eeprom */
if (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP) if (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP)
priv->cfg->eeprom_size = priv->cfg->eeprom_size =
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment