[Prism54-devel] Bug? in islpci_mgt.c, row 320
Ari Vähä-Erkkilä
ari.vaha-erkkila@iki.fi
Sun, 18 Jan 2004 14:11:35 +0200
Hi!
I have a come across a bug that occurs quite often on my system.
First my HW:
Dual Celeron 466 (Yes, SMP), SMC 2804W PCI card, RH 7.3, Linux 2.6.1
Prism54: snapshot tarball 2004-01-18
Master mode, no WEP, no MAC filtering (but coming)
Wireless_tools.26
The error always is "invalid operand 0000", in islpci_mgt.c row 320.
Sometimes is occurs just after "ifconfig eth1 up", sometimes after
channel is chosen and sometimes it just goes through and an AP is
created ;) If it works, it works just fine.
The error occurs 9/10 when I try to bring the card up using shell script
(with plenty of sleep's, see below). If I configure the card manually,
the successrate is something like 5/10. (Btw, the sync's in the shell
script increased the success rate to 1/10, it was something like 1/30
without them)
Also, I have more OOPSes with different call stacks.
Anyway, here is the OOPS (that occurred during channel setting in my
script) via ksymoops -K (sorry about the formatting):
------ ksymoops begin ------
ksymoops 2.4.4 on i686 2.6.1. Options used
-V (default)
-K (specified)
-l /proc/modules (default)
-o /lib/modules/2.6.1/ (default)
-m /boot/System.map-2.6.1 (default)
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
kernel BUG at /usr/src/isl/prism54-cvs20040118/ksrc/islpci_mgt.c:320!
invalid operand: 0000 [#1]
CPU: 0
EIP: 0060:[<d08eaf6b>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010002
eax: c6980220 ebx: 00000001 ecx: c6980220 edx: c6b80008
esi: c6980220 edi: d08f1dc1 ebp: 00000000 esp: c031ff10
ds: 007b es: 007b ss: 0068
Stack: 00000004 00000246 c6b80000 00000000 00000004 00000004 c6980220
00000002
00000012 d08f0047 c6980220 c6980220 00000000 c97717c0 04000001
00000000
c010b33e 00000012 c>>EIP; d08eaf6b <_end+1057c127/3fc8f1bc> <=====
Code; d08eaf6b <_end+1057c127/3fc8f1bc>
00000000 <_EIP>:
Code; d08eaf6b <_end+1057c127/3fc8f1bc> <=====
0: 0f 0b ud2a <=====
Code; d08eaf6d <_end+1057c129/3fc8f1bc>
2: 40 inc %eax
Code; d08eaf6e <_end+1057c12a/3fc8f1bc>
3: 01 40 2e add %eax,0x2e(%eax)
Code; d08eaf71 <_end+1057c12d/3fc8f1bc>
6: 8f d0 pop %eax
Code; d08eaf73 <_end+1057c12f/3fc8f1bc>
8: 8b 4c 24 28 mov 0x28(%esp,1),%ecx
Code; d08eaf77 <_end+1057c133/3fc8f1bc>
c: 8b 44 24 28 mov 0x28(%esp,1),%eax
Code; d08eaf7b <_end+1057c137/3fc8f1bc>
10: 8b 91 a8 06 00 00 mov 0x6a8(%ecx),%edx
<0>Kernel panic: Fatal exception in interrupt
6980220 c031ff98 c0315500 c0315518 c97717c0 00000012
[<d08f0047>] gcc2_compiled.+0x1a7/0x3f0 [prism54]
[<c010b33e>] handle_IRQ_event+0x3e/0x70
[<c010b795>] do_IRQ+0x125/0x210
[<c0106ea0>] default_idle+0x0/0x40
[<c0109cf0>] common_interrupt+0x18/0x20
[<c0106ea0>] default_idle+0x0/0x40
[<c0106ea0>] default_idle+0x0/0x40
[<c0106eca>] default_idle+0x2a/0x40
[<c0106f5d>] cpu_idle+0x3d/0x50
[<c0105000>] _stext+0x0/0x70
[<c0320853>] start_kernel+0x173/0x180
Code: 0f 0b 40 01 40 2e 8f d0 8b 4c 24 28 8b 44 24 28 8b 91 a8 06
----- ksymoops end -----
----- shell script begin -----
#!/bin/bash
# Load SMC WLAN driver
echo Loading module
modprobe prism54;sync
echo Sleeping for 15 sec ...
sleep 15
# Configure the network interface
echo Configuring eth1
ifconfig eth1 up; sync
sleep 8
# Configuring WLAN
echo Configuring eth1 essid
/usr/local/sbin/iwconfig eth1 essid "myessidishere"; sync
sleep 2
echo Configuring eth1 mode
/usr/local/sbin/iwconfig eth1 mode Master; sync
sleep 2
echo Configuring eth1 channel
/usr/local/sbin/iwconfig eth1 channel 6; sync
sleep 2
echo Configuring eth1 txpower
/usr/local/sbin/iwconfig eth1 txpower 32; sync
sleep 2
echo Configuring TCP/IP
ifconfig eth1 192.168.xx.xx netmask 255.255.255.0 up; sync
----- shell script end ----
Any help?
Ari
--
*******************************************************
Ari Vähä-Erkkilä +358-(0)40-500 7336
ari.vaha-erkkila@iki.fi http://www.iki.fi/vake/
*********************** @ home ************************