projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
03b67e9
)
iwlwifi: mvm: check iwl_nvm_init return value
author
Eliad Peller
<eliad@wizery.com>
Mon, 9 Dec 2013 11:15:02 +0000
(13:15 +0200)
committer
Emmanuel Grumbach
<emmanuel.grumbach@intel.com>
Tue, 17 Dec 2013 17:39:50 +0000
(19:39 +0200)
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>
drivers/net/wireless/iwlwifi/mvm/ops.c
patch
|
blob
|
history
diff --git
a/drivers/net/wireless/iwlwifi/mvm/ops.c
b/drivers/net/wireless/iwlwifi/mvm/ops.c
index ef3fdcf48831720d23a76d8088b72c7bf212cd71..a362430477a006c01d69ade2ecbc7d916fc9c2ef 100644
(file)
--- a/
drivers/net/wireless/iwlwifi/mvm/ops.c
+++ b/
drivers/net/wireless/iwlwifi/mvm/ops.c
@@
-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
*/
if (iwlwifi_mod_params.nvm_file) {
- iwl_nvm_init(mvm);
+ err = iwl_nvm_init(mvm);
+ if (err)
+ goto out_free;
} else {
err = iwl_trans_start_hw(mvm->trans);
if (err)