Please note: This project is no longer active. The website is kept online for historic purposes only.
If you´re looking for a Linux driver for your Atheros WLAN device, you should continue here .

Ticket #1769 (closed defect: fixed)

Opened 11 years ago

Last modified 11 years ago

Kernel panic with maxvaps > 32

Reported by: krieger@rz.uni-wuerzburg.de Assigned to: mtaylor
Priority: major Milestone: version 0.9.4
Component: madwifi: driver Version: trunk
Keywords: Cc:
Patch is attached: 0 Pending:

Description

When using maxvaps > 33, the following command sequence produces a kernel panic:

modprobe ath_hal
modprobe wlan
modprobe ath_rate_sample
modprobe wlan_scan_sta
modprobe wlan_scan_ap
modprobe wlan_tkip
modprobe wlan_ccmp
modprobe wlan_wep
modprobe wlan_xauth
modprobe wlan_acl
modprobe ath_pci countrycode=276 autocreate=none maxvaps=64
for i in `seq 1 64`; do wlanconfig ath$i create wlandev wifi0 wlanmode ap; done
iwconfig ath1 chan 1
ifconfig ath1 up
ifconfig ath33 up

This works (or rather isn't working) with:

- maxvaps=34 to maxvaps=64
- "(iwconfig athx chan 1; ifconfig athx up)", where 1 <= x <= 32 followed by "ifconfig athy up", where 33 <= y <= 64

The resulting kernelpanic looks like:

BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000
 printing eip:
c882c183
*pde = 00000000
Oops: 0000 [#1]
Modules linked in: ath_pci wlan_acl wlan_xauth wlan_wep wlan_ccmp wlan_tkip wlan_scan_ap wlan_scan_sta ath_rate_sample wlan ath_hal(P) scx200_wdt 8021q bridge llc scx200_gpio nsc_gpio
CPU:    0
EIP:    0060:[<c882c183>]    Tainted: P        VLI
EFLAGS: 00010282   (2.6.23.9 #29)
EIP is at ieee80211_beacon_update+0x13/0xb00 [wlan]
eax: 00000000   ebx: 00000000   ecx: 00000000   edx: c712bafc
esi: 00000000   edi: c712b380   ebp: c77c8380   esp: c0301d1c
ds: 007b   es: 007b   fs: 0000  gs: 0000  ss: 0068
Process swapper (pid: 0, ti=c0300000 task=c02e12c0 task.ti=c0300000)
Stack: 00000000 00000000 00000000 c882bfaa c7192000 c75851e0 c775c380 00000000
       c712bafc 00000000 c77c8380 00000000 00000282 c7269c43 000011ec c884d6bb
       00000000 00000000 c712b380 c77c8380 c88e9320 00000000 c701ecc0 00000074
Call Trace:
 [<c882bfaa>] ieee80211_beacon_alloc+0xba/0x280 [wlan]
 [<c88e9320>] ath_beacon_generate+0x3c0/0xe50 [ath_pci]
 [<c881ca90>] br_handle_frame_finish+0x0/0x140 [bridge]
 [<c88f6987>] ath_intr+0xf17/0x1490 [ath_pci]
 [<c8820ce0>] br_nf_pre_routing_finish+0x0/0x3a0 [bridge]
 [<c01292f0>] update_wall_time+0x210/0x740
 [<c0242c99>] nf_hook_slow+0x59/0xe0
 [<c0111662>] __update_rq_clock+0x22/0x130
 [<c01126a0>] scheduler_tick+0x30/0x1d0
 [<c01292f0>] update_wall_time+0x210/0x740
 [<c0111662>] __update_rq_clock+0x22/0x130
 [<c012829b>] hrtimer_run_queues+0x1b/0x140
 [<c011c922>] run_timer_softirq+0x12/0x150
 [<c012baef>] tick_handle_periodic+0xf/0x70
 [<c01323f5>] handle_IRQ_event+0x25/0x60
 [<c0133974>] handle_level_irq+0x44/0xa0
 [<c0104792>] do_IRQ+0x42/0x80
 [<c0111097>] update_stats_wait_end+0xa7/0xe0
 [<c0102bb3>] common_interrupt+0x23/0x30
 [<c0101630>] default_idle+0x0/0x40
 [<c031007b>] init_clocksource_sysfs+0xb/0x40
 [<c010165a>] default_idle+0x2a/0x40
 [<c0100cfc>] cpu_idle+0x1c/0x60
 [<c0302abf>] start_kernel+0x1ef/0x270
 [<c0302380>] unknown_bootoption+0x0/0x1f0
 =======================
Code: 9b 8e f7 e8 20 7b 8d f7 e9 5a fe ff ff 8d 74 26 00 8d bc 27 00 00 00 00 55 57 56 53 83 ec 40 89 44 24 24 89 54 24 20 89 4c 24 1c <8b> 28 8b 40 04 89 44 24 28 9c 8f 44 24 30 fa f6 40 4f 40 74 0e
EIP: [<c882c183>] ieee80211_beacon_update+0x13/0xb00 [wlan] SS:ESP 0068:c0301d1c
Kernel panic - not syncing: Fatal exception in interrupt

The Hardware used is PCEngines/WRAP with Wistron CM9 mini-PCI card. I've used Kernels 2.6.17.14 and 2.6.23.9 with matching results...

HRZT01 / # modprobe ath_pci countrycode=276 autocreate=none maxvaps=64
ath_pci: svn r3314
MadWifi: ath_getchannels: HAL returned 46 channels.
MadWifi: ath_getchannels: Channel   1 (2412 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   1 (2412 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   2 (2417 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   2 (2417 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   3 (2422 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   3 (2422 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   4 (2427 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   4 (2427 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   5 (2432 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   5 (2432 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   6 (2437 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   6 (2437 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   6 (2437 MHz) Max Tx Power 15 dBm (hw limited) [15 hw 20 reg] Flags CF_TURBO CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   7 (2442 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   7 (2442 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   8 (2447 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   8 (2447 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel   9 (2452 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel   9 (2452 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel  10 (2457 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel  10 (2457 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel  11 (2462 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel  11 (2462 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel  12 (2467 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel  12 (2467 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel  13 (2472 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_CCK CF_2GHZ
MadWifi: ath_getchannels: Channel  13 (2472 MHz) Max Tx Power 16 dBm (hw limited) [16 hw 20 reg] Flags CF_OFDM CF_2GHZ
MadWifi: ath_getchannels: Channel  36 (5180 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 30 reg] Flags CF_OFDM CF_5GHZ
MadWifi: ath_getchannels: Channel  40 (5200 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 30 reg] Flags CF_OFDM CF_5GHZ
MadWifi: ath_getchannels: Channel  44 (5220 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 30 reg] Flags CF_OFDM CF_5GHZ
MadWifi: ath_getchannels: Channel  48 (5240 MHz) Max Tx Power 19 dBm (hw limited) [19 hw 30 reg] Flags CF_OFDM CF_5GHZ
MadWifi: ath_getchannels: Channel  52 (5260 MHz) Max Tx Power 19 dBm (hw limited) [19 hw 20 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel  56 (5280 MHz) Max Tx Power 19 dBm (hw limited) [19 hw 20 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel  60 (5300 MHz) Max Tx Power 19 dBm (hw limited) [19 hw 20 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel  64 (5320 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 20 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 100 (5500 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 104 (5520 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 108 (5540 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 112 (5560 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 116 (5580 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 120 (5600 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 124 (5620 MHz) Max Tx Power 18 dBm (hw limited) [18 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 128 (5640 MHz) Max Tx Power 17 dBm (hw limited) [17 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 132 (5660 MHz) Max Tx Power 17 dBm (hw limited) [17 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 136 (5680 MHz) Max Tx Power 17 dBm (hw limited) [17 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_getchannels: Channel 140 (5700 MHz) Max Tx Power 17 dBm (hw limited) [17 hw 27 reg] Flags CF_OFDM CF_5GHZ CF_PASSIVE_SCAN_ONLY PF_DFS_REQUIRED
MadWifi: ath_attach: Switching rfkill capability off
MadWifi: ath_attach: Switching per-packet transmit power control off
wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: turboG rates: 6Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wifi0: H/W encryption support: WEP AES AES_CCM TKIP
wifi0: ath_announce: Use hw queue 1 for WME_AC_BE traffic
wifi0: ath_announce: Use hw queue 0 for WME_AC_BK traffic
wifi0: ath_announce: Use hw queue 2 for WME_AC_VI traffic
wifi0: ath_announce: Use hw queue 3 for WME_AC_VO traffic
wifi0: ath_announce: Use hw queue 8 for CAB traffic
wifi0: ath_announce: Use hw queue 9 for beacons
ath_pci: wifi0: Atheros 5212: mem=0x80000000, irq=12

If required, i can produce more output

Regards, Markus

Change History

02/06/08 19:06:20 changed by mtaylor

  • status changed from new to assigned.
  • owner set to mtaylor.

I'll take a look.

02/07/08 21:34:16 changed by mentor

  • summary changed from kerlenpanic with maxvaps > 32 to Kernel panic with maxvaps > 32.

02/08/08 22:13:06 changed by mtaylor

  • status changed from assigned to closed.
  • resolution set to fixed.

Fixed in r3347. The problem is a bit set that was 32-bits large but now needs to be 64 bits large with the larger configurable maximum vaps (of 64).

02/12/08 07:08:43 changed by mrenzmann

  • milestone set to version 0.9.4.