Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Don't try to process rate section 0 in 5ghz bank. CCK is not used her… #45

Merged
merged 1 commit into from
Jun 1, 2015

Conversation

rhadman
Copy link

@rhadman rhadman commented May 31, 2015

…e, but by processing 0, baseIndex5G is left unset and can cause a kernel OOPS that looks like:

May 31 23:01:08 rpi2 kernel: [ 2045.373494] RTL871X: No power limit table of the specified band 1, bandwidth 0, ratesection 0, group 0, rf path 0
May 31 23:01:08 rpi2 kernel: [ 2045.373505] RTL871X: use other value 63
May 31 23:01:08 rpi2 kernel: [ 2045.373541] Unable to handle kernel paging request at virtual address 65ce6217
May 31 23:01:08 rpi2 kernel: [ 2045.375393] pgd = b2f98000
May 31 23:01:08 rpi2 kernel: [ 2045.375482] [65ce6217] *pgd=00000000
May 31 23:01:08 rpi2 kernel: [ 2045.375611] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
May 31 23:01:08 rpi2 kernel: [ 2045.376276] CPU: 0 PID: 1311 Comm: wpa_supplicant Tainted: G O 3.18.0-23-rpi2 #24-Ubuntu
May 31 23:01:08 rpi2 kernel: [ 2045.376450] task: b2fe5280 ti: a198c000 task.ti: a198c000
May 31 23:01:08 rpi2 kernel: [ 2045.376724] PC is at PHY_ConvertPowerLimitToPowerIndex+0x540/0x9e8 [8812au]
May 31 23:01:08 rpi2 kernel: [ 2045.376984] LR is at PHY_ConvertPowerLimitToPowerIndex+0x528/0x9e8 [8812au]
May 31 23:01:08 rpi2 kernel: [ 2045.377121] pc : [<7f15493c>] lr : [<7f154924>] psr: 600b0013
May 31 23:01:08 rpi2 kernel: [ 2045.377121] sp : a198dd10 ip : 80913bf0 fp : 0000345c
May 31 23:01:08 rpi2 kernel: [ 2045.377330] r10: 00000000 r9 : 00000000 r8 : b2e72872
May 31 23:01:08 rpi2 kernel: [ 2045.377433] r7 : b2e70000 r6 : b2e72872 r5 : 00000000 r4 : 0000003f
May 31 23:01:08 rpi2 kernel: [ 2045.377559] r3 : 65ce6215 r2 : 00000001 r1 : b2e73450 r0 : 0000001b
May 31 23:01:08 rpi2 kernel: [ 2045.377685] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
May 31 23:01:08 rpi2 kernel: [ 2045.377821] Control: 10c5387d Table: 32f9806a DAC: 00000015
May 31 23:01:08 rpi2 kernel: [ 2045.377933] Process wpa_supplicant (pid: 1311, stack limit = 0xa198c238)

…e, but by processing 0, baseIndex5G is left unset and can cause a kernel OOPS that looks like:

May 31 23:01:08 rpi2 kernel: [ 2045.373494] RTL871X: No power limit table of the specified band 1, bandwidth 0, ratesection 0, group 0, rf path 0
May 31 23:01:08 rpi2 kernel: [ 2045.373505] RTL871X: use other value 63
May 31 23:01:08 rpi2 kernel: [ 2045.373541] Unable to handle kernel paging request at virtual address 65ce6217
May 31 23:01:08 rpi2 kernel: [ 2045.375393] pgd = b2f98000
May 31 23:01:08 rpi2 kernel: [ 2045.375482] [65ce6217] *pgd=00000000
May 31 23:01:08 rpi2 kernel: [ 2045.375611] Internal error: Oops: 5 [gnab#1] PREEMPT SMP ARM
May 31 23:01:08 rpi2 kernel: [ 2045.376276] CPU: 0 PID: 1311 Comm: wpa_supplicant Tainted: G           O   3.18.0-23-rpi2 gnab#24-Ubuntu
May 31 23:01:08 rpi2 kernel: [ 2045.376450] task: b2fe5280 ti: a198c000 task.ti: a198c000
May 31 23:01:08 rpi2 kernel: [ 2045.376724] PC is at PHY_ConvertPowerLimitToPowerIndex+0x540/0x9e8 [8812au]
May 31 23:01:08 rpi2 kernel: [ 2045.376984] LR is at PHY_ConvertPowerLimitToPowerIndex+0x528/0x9e8 [8812au]
May 31 23:01:08 rpi2 kernel: [ 2045.377121] pc : [<7f15493c>]    lr : [<7f154924>]    psr: 600b0013
May 31 23:01:08 rpi2 kernel: [ 2045.377121] sp : a198dd10  ip : 80913bf0  fp : 0000345c
May 31 23:01:08 rpi2 kernel: [ 2045.377330] r10: 00000000  r9 : 00000000  r8 : b2e72872
May 31 23:01:08 rpi2 kernel: [ 2045.377433] r7 : b2e70000  r6 : b2e72872  r5 : 00000000  r4 : 0000003f
May 31 23:01:08 rpi2 kernel: [ 2045.377559] r3 : 65ce6215  r2 : 00000001  r1 : b2e73450  r0 : 0000001b
May 31 23:01:08 rpi2 kernel: [ 2045.377685] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
May 31 23:01:08 rpi2 kernel: [ 2045.377821] Control: 10c5387d  Table: 32f9806a  DAC: 00000015
May 31 23:01:08 rpi2 kernel: [ 2045.377933] Process wpa_supplicant (pid: 1311, stack limit = 0xa198c238)
@rhadman
Copy link
Author

rhadman commented May 31, 2015

Ran into a Oops on a raspberry pi 2 using an Edimax 8812au based device (called "AC600 Wireless Dual-Band Mini USB Adapter"). Looking over the code though, I suspect this Oops can happen on any 5ghz 8812a adapter. The actual crash is on line 983: BW40PwrBasedBm5G = pHalData->TxPwrByRateBase5G[rfPath][baseIndex5G]; where baseIndex5G is whatever happens to be sitting in memory before the loop starts.

gnab added a commit that referenced this pull request Jun 1, 2015
Don't try to process rate section 0 in 5ghz bank. CCK is not used her…
@gnab gnab merged commit 8283c82 into gnab:master Jun 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants