Skip to contentSkip to conversation

airo_cs problem - kernel 2.6.1

DISCUSSION Angelo Dell'Aera 2 participants 3 messages Jan 27, 2004 Networking drivers (wireless)

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Today I experienced this problem with a Cisco Aironet 350. I just want to point out it's the first time it happens. In fact, I still used this NIC on this kernel (2.6.1) without any kind of problem. Attached is an extract from my log.

airo: Probing for PCI adapters

Unable to handle kernel paging request at virtual address e0b397b8
 printing eip:
c01b524f
*pde = 1ed80067
*pte = 00000000
Oops: 0002 [#1]
CPU:    0
EIP:    0060:[<c01b524f>]    Not tainted
EFLAGS: 00010296

EIP is at kobject_add+0x6f/0x120
eax: c0350460 ebx: e0bd379c ecx: e0b397b8 edx: e0bd37b8
esi: c0350468 edi: 00000000 ebp: e0bd3784 esp: d90b5f0c
ds: 007b es: 007b ss: 0068
Process modprobe (pid: 3780, threadinfo=d90b4000 task=ca604080)

Stack: c0350468 e0bd37a0 e0bd379c e0bd379c e0bd379c 00000000 c01b5323 e0bd379c
       e0bd379c c0350400 e0bd379c c0350400 c0217a5a e0bd379c e0bd01e0 e0bd3760
       00000000 e0bd37f8 d90b4000 c0217f1f e0bd3784 e0bd10a3 d90b5f8c c017d388
Call Trace:
 [<c01b5323>] kobject_register+0x23/0x60
 [<c0217a5a>] bus_add_driver+0x4a/0xa0
 [<c0217f1f>] driver_register+0x2f/0x40
 [<c017d388>] create_proc_entry+0x88/0xd0
 [<c01bcecc>] pci_register_driver+0x5c/0x90
 [<e0b2d0d1>] airo_init_module+0xd1/0xf8 [airo]
 [<c01319bc>] sys_init_module+0x12c/0x250
 [<c01091a7>] syscall_call+0x7/0xb

Code: 89 11 89 4a 04 8b 43 28 8b 38 8d 4f 48 89 c8 ba ff ff 00 00
 <4>airo_cs: Unknown symbol init_airo_card

airo_cs: Unknown symbol stop_airo_card
airo_cs: Unknown symbol reset_airo_card
airo_cs: Unknown symbol init_airo_card
airo_cs: Unknown symbol stop_airo_card
airo_cs: Unknown symbol reset_airo_card

Regards.

- --

Angelo Dell'Aera 'buffer'
Antifork Research, Inc. http://buffer.antifork.org

PGP information in e-mail header

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAFlRtpONIzxnBXKIRAuhkAJ4xsLc4IBE65CPW+2tMG7g0XKbpGwCgixVY nES3gWlgWnWlD3KGqM4wv8Q=
=PN9/
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 4 lines · Angelo Dell'Aera

Today I experienced this problem with a Cisco Aironet 350. I just want to point out it's the first time it happens. In fact, I still used this NIC on this kernel (2.6.1) without any kind of problem. Attached is an extract from my log.

AAARRRGGGHHH.

Whatever, it's a known problem with a history of at about three months. The last message seems to be the maintainer saying that he has a patch ready and will send to Jeff. I've no idea if that actually happened or not.

I'm going to suggest that it gets marked as a broken and unmaintained driver, or I'm going to bypass the maintainers and submit an _untested_ fix directly to Andrew/Linus. I don't want to do either, but...

Signature · 4 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core
#2 lore raw
Quoted 6 lines · Russell King
Quoted 4 lines · Angelo Dell'Aera

Today I experienced this problem with a Cisco Aironet 350. I just want to point out it's the first time it happens. In fact, I still used this NIC on this kernel (2.6.1) without any kind of problem. Attached is an extract from my log.

Ok, actually the bug has been fixed in 2.6.2-rc, so this problem can finally be laid to rest. Here's the as-merged fix:

===== drivers/net/wireless/airo.c 1.80 vs 1.81 =====

drivers/net/wireless/airo.c +2 -11
@@ -1027,7 +1027,6 @@
 #define FLAG_802_11	7
 #define FLAG_PENDING_XMIT 9
 #define FLAG_PENDING_XMIT11 10
-#define FLAG_PCI	11
 #define JOB_MASK	0x1ff0000
 #define JOB_DIE		16
 #define JOB_XMIT	17
@@ -4623,7 +4622,6 @@
 		return -ENODEV;
 
 	pci_set_drvdata(pdev, dev);
-	set_bit (FLAG_PCI, &((struct airo_info *)dev->priv)->flags);
 	return 0;
 }
 
@@ -4653,7 +4651,7 @@
 
 #ifdef CONFIG_PCI
 	printk( KERN_INFO "airo:  Probing for PCI adapters\n" );
-	pci_module_init(&airo_driver);
+	pci_register_driver(&airo_driver);
 	printk( KERN_INFO "airo:  Finished probing for PCI adapters\n" );
 #endif
 
@@ -4665,22 +4663,15 @@
 
 static void __exit airo_cleanup_module( void )
 {
-	int is_pci = 0;
 	while( airo_devices ) {
 		printk( KERN_INFO "airo: Unregistering %s\n", airo_devices->dev->name );
-#ifdef CONFIG_PCI
-		if (test_bit(FLAG_PCI, &((struct airo_info *)airo_devices->dev->priv)->flags))
-			is_pci = 1;
-#endif
 		stop_airo_card( airo_devices->dev, 1 );
 	}
 	remove_proc_entry("aironet", proc_root_driver);
 
-	if (is_pci) {
 #ifdef CONFIG_PCI
-		pci_unregister_driver(&airo_driver);
+	pci_unregister_driver(&airo_driver);
 #endif
-	}
 }
 
 #ifdef WIRELESS_EXT
Signature · 4 lines
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core