Bug 58

Summary: OHCI-1394: sleeping function called from illegal context at mm/slab.c:1305
Product: Drivers Reporter: Andy Dustman (andy-kernel.388488)
Component: IEEE1394Assignee: Ben Collins (bcollins)
Status: CLOSED CODE_FIX    
Severity: normal CC: rdunlap, warren
Priority: P2    
Hardware: IA-32   
OS: Linux   
Kernel Version: Subsystem:
Regression: --- Bisected commit-id:

Description Andy Dustman 2002-11-15 12:16:02 UTC
(Please check that the problem happens on Linus' tree if not then file under the
Alternate Trees category.)
Exact Kernel version: 2.5.47-ac4
Distribution: Gentoo-1.4rc1
Hardware Environment:
Intel(R) Pentium(R) III Mobile CPU      1000MHz GenuineIntel GNU/Linux
 
00:00.0 Host bridge: Intel Corp. 82830 830 Chipset Host Bridge (rev 02)
00:01.0 PCI bridge: Intel Corp. 82830 830 Chipset AGP Bridge (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #1) (rev 01)
00:1d.1 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #2) (rev 01)
00:1d.2 USB Controller: Intel Corp. 82801CA/CAM USB (Hub #3) (rev 01)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 41)
00:1f.0 ISA bridge: Intel Corp. 82801CAM ISA Bridge (LPC) (rev 01)
00:1f.1 IDE interface: Intel Corp. 82801CAM IDE U100 (rev 01)
00:1f.3 SMBus: Intel Corp. 82801CA/CAM SMBus (rev 01)
00:1f.5 Multimedia audio controller: Intel Corp. 82801CA/CAM AC'97 Audio (rev 01)
01:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY
02:04.0 Communication controller: Conexant HSF 56k HSFi Modem (rev 01)
02:05.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000
Controller (PHY/Link)
02:06.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller
(rev 01)
02:08.0 Ethernet controller: Intel Corp. 82801CAM (ICH3) PRO/100 VE (LOM)
Ethernet Controller (rev 41)

Software Environment:

Linux tweek.neosouth.net 2.5.47-ac4 #2 Fri Nov 15 14:53:35 EST 2002 i686 
 
Gnu C                  3.2
Gnu make               3.80
util-linux             2.11w
mount                  2.11w
modutils               2.4.21
e2fsprogs              1.32
reiserfsprogs          3.6.4
pcmcia-cs              3.2.1
Linux C Library        2.3.1
Dynamic linker (ldd)   2.3.1
Procps                 2.0.10
Net-tools              1.60
Kbd                    1.06
Sh-utils               2.0.15
Modules Loaded         sr_mod ide-cd cdrom snd-pcm-oss snd-mixer-oss radeon hid
agpgart af_packet uhci-hcd i810_rng ohci1394 ieee1394 e100 snd-intel8x0
snd-ac97-codec snd-pcm snd-timer snd-mpu401-uart snd-rawmidi snd-seq-device snd
soundcore rtc ds yenta_socket pcmcia_core ide-scsi scsi_mod usbmouse usbcore
mousedev

Problem Description:

ohci1394: $Rev: 601 $ Ben Collins <bcollins@debian.org>
ohci1394_0: OHCI-1394 1.1 (PCI): IRQ=[10]  MMIO=[d0214000-d02147ff]  Max
Packet=[2048]
Debug: sleeping function called from illegal context at mm/slab.c:1305
Call Trace:
 [<c01380a4>] kmem_flagcheck+0x64/0x70
 [<c0138786>] kmalloc+0x56/0xb0
 [<d09a9b8e>] nodemgr_add_host+0x1e/0xf0 [ieee1394]
 [<d09a6fd1>] add_host+0x21/0xa0 [ieee1394]
 [<d09a6678>] highlevel_add_host_R69bc67d9+0x38/0x70 [ieee1394]
 [<d09a60e4>] hpsb_add_host_Rd6f5dce0+0x44/0x70 [ieee1394]
 [<d09b4052>] ohci1394_pci_probe+0x4b2/0x5e0 [ohci1394]
 [<d09b23c0>] ohci_irq_handler+0x0/0x500 [ohci1394]
 [<d09b53d2>] .rodata.str1.1+0x0/0x8e [ohci1394]
 [<d09b61a0>] ohci1394_pci_driver+0x0/0x94 [ohci1394]
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<c01db65e>] pci_device_probe+0x5e/0x70
 [<d09b6160>] ohci1394_pci_tbl+0x0/0x38 [ohci1394]Nov 15 14:56:11 tweek kernel:
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<c0223e55>] bus_match+0x45/0x70
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<c0223f92>] driver_attach+0x72/0x90
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<d09b61dc>] ohci1394_pci_driver+0x3c/0x94 [ohci1394]
 [<c02242ac>] bus_add_driver+0x6c/0x90
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<d09b53db>] .rodata.str1.1+0x9/0x8e [ohci1394]
 [<d09b61ec>] ohci1394_pci_driver+0x4c/0x94 [ohci1394]
 [<c02249c1>] driver_register+0x91/0xa0
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<c01db797>] pci_register_driver+0x47/0x60
 [<d09b61c8>] ohci1394_pci_driver+0x28/0x94 [ohci1394]
 [<d09b44f3>] ohci1394_init+0x13/0x40 [ohci1394]
 [<d09b61a0>] ohci1394_pci_driver+0x0/0x94 [ohci1394]
 [<c011b4f9>] sys_init_module+0x4e9/0x640
 [<d09b1060>] get_phy_reg+0x0/0xd0 [ohci1394]
 [<d09b56b4>] .kmodtab+0x0/0xc [ohci1394]
 [<d09b1060>] get_phy_reg+0x0/0xd0 [ohci1394]
 [<c010951b>] syscall_call+0x7/0xb
ieee1394: unsolicited response packet received - np
ieee1394: contents: ffc00160 ffc00000 00000000 11970404

Author has been informed, says they are working on a fix. Also occurs in
Linus' tree.

Steps to reproduce:

modprobe ohci1394
Comment 1 Andy Dustman 2002-11-19 14:12:28 UTC
This definitely occurs in Linus' tree as well, as stated in the original report.
Comment 2 Greg Kroah-Hartman 2002-11-19 18:28:39 UTC
This is a IEEE-1394 (Firewire), not a USB bug.  We need to add this as a category.
Comment 3 Andy Dustman 2003-03-03 08:43:35 UTC
Looks to be fixed in 2.5.63 or possibly earlier.