mirror of https://gitee.com/openkylin/linux.git
iwlwifi: mvm: check iwl_nvm_init return value
iwl_nvm_init() return value wasn't checked in some path, which resulted in the following panic (if there was some issue with the nvm): Unable to handle kernel NULL pointer dereference at virtual address 00000004 pgd = d0460000 [00000004] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP Modules linked in: iwlmvm(+) iwlwifi mac80211 cfg80211 compat [last unloaded: compat] PC is at iwl_mvm_mac_setup_register+0x12c/0x460 [iwlmvm] LR is at 0x2710 pc : [<bf50dd4c>] lr : [<00002710>] psr: 20800013 sp : d00cfe18 ip : 0000081e fp : d006b908 r10: d0711408 r9 : bf532e64 r8 : d006b5bc r7 : d01af000 r6 : bf39cefc r5 : d006ab00 r4 : d006b5a4 r3 : 00000001 r2 : 00000000 r1 : d006a120 r0 : d006b860 Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
03b67e982c
commit
8c678ed466
|
@ -427,7 +427,9 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
||||||
* there is no need to unnecessarily power up the NIC at driver load
|
* there is no need to unnecessarily power up the NIC at driver load
|
||||||
*/
|
*/
|
||||||
if (iwlwifi_mod_params.nvm_file) {
|
if (iwlwifi_mod_params.nvm_file) {
|
||||||
iwl_nvm_init(mvm);
|
err = iwl_nvm_init(mvm);
|
||||||
|
if (err)
|
||||||
|
goto out_free;
|
||||||
} else {
|
} else {
|
||||||
err = iwl_trans_start_hw(mvm->trans);
|
err = iwl_trans_start_hw(mvm->trans);
|
||||||
if (err)
|
if (err)
|
||||||
|
|
Loading…
Reference in New Issue