Bug 1566 - rmmod ohci1394: sleeping function called from invalid context
Summary: rmmod ohci1394: sleeping function called from invalid context
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: IEEE1394 (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Ben Collins
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-20 14:13 UTC by Eric Buddington
Modified: 2004-02-06 06:31 UTC (History)
0 users

See Also:
Kernel Version: 2.6.0-test9
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Eric Buddington 2003-11-20 14:13:41 UTC
Distribution: home-rolled
Hardware Environment: VIA Technologies, In IEEE 1394 Host Contr (rev 70).
Software Environment: module-init-tools version 0.9.14
Problem Description:

ieee1394: received packet: 01e87fa0 c9007800 ffff0080 ed76979b
ohci1394_0: IntEvent: 00000080
Debug: sleeping function called from invalid context at kernel/sched.c:1736
in_atomic():1, irqs_disabled():0
Call Trace:
 [<c011ff3b>] __might_sleep+0xab/0xf0
 [<c011ed1f>] wait_for_completion+0x1f/0xe0
 [<c012c236>] group_send_sig_info+0x1b6/0x3c0
 [<c012c61b>] kill_proc_info+0x5b/0x60
 [<d0bbd5c5>] nodemgr_remove_host+0x55/0x90 [ieee1394]
 [<d0bb8f55>] highlevel_remove_host+0x75/0x90 [ieee1394]
 [<d0b5052e>] ohci1394_pci_remove+0x3e/0x230 [ohci1394]
 [<c0231c09>] pci_device_remove+0x39/0x40
 [<c0288810>] device_release_driver+0x60/0x70
 [<c0288842>] driver_detach+0x22/0x40
 [<c0288ae5>] bus_remove_driver+0x55/0x90
 [<c0288efa>] driver_unregister+0x1a/0x42
 [<c0231dc7>] pci_unregister_driver+0x17/0x30
 [<d0b509e2>] ohci1394_cleanup+0x12/0x14 [ohci1394]
 [<c01374a7>] sys_delete_module+0x127/0x1a0
 [<c014f217>] sys_munmap+0x57/0x80
 [<c010a36f>] syscall_call+0x7/0xb

bad: scheduling while atomic!
Call Trace:
 [<c011ea2d>] schedule+0x56d/0x580
 [<c010a36f>] syscall_call+0x7/0xb
 [<c010b0fe>] dump_stack+0x1e/0x20
 [<c011ff3b>] __might_sleep+0xab/0xf0
 [<c011ed88>] wait_for_completion+0x88/0xe0
 [<c011ea90>] default_wake_function+0x0/0x30
 [<c011ea90>] default_wake_function+0x0/0x30
 [<c012c61b>] kill_proc_info+0x5b/0x60
 [<d0bbd5c5>] nodemgr_remove_host+0x55/0x90 [ieee1394]
 [<d0bb8f55>] highlevel_remove_host+0x75/0x90 [ieee1394]
 [<d0b5052e>] ohci1394_pci_remove+0x3e/0x230 [ohci1394]
 [<c0231c09>] pci_device_remove+0x39/0x40
 [<c0288810>] device_release_driver+0x60/0x70
 [<c0288842>] driver_detach+0x22/0x40
 [<c0288ae5>] bus_remove_driver+0x55/0x90
 [<c0288efa>] driver_unregister+0x1a/0x42
 [<c0231dc7>] pci_unregister_driver+0x17/0x30
 [<d0b509e2>] ohci1394_cleanup+0x12/0x14 [ohci1394]
 [<c01374a7>] sys_delete_module+0x127/0x1a0
 [<c014f217>] sys_munmap+0x57/0x80
 [<c010a36f>] syscall_call+0x7/0xb

ieee1394: NodeMgr: Exiting thread
bad: scheduling while atomic!
Call Trace:
 [<c011ea2d>] schedule+0x56d/0x580
 [<c011eaba>] default_wake_function+0x2a/0x30
 [<c011ed88>] wait_for_completion+0x88/0xe0
 [<c011ea90>] default_wake_function+0x0/0x30
 [<c011ea90>] default_wake_function+0x0/0x30
 [<c0131b97>] queue_work+0x97/0xb0
 [<c0131ae9>] call_usermodehelper+0xa9/0xc0
 [<c01319e0>] __call_usermodehelper+0x0/0x60
 [<d0bbc76f>] nodemgr_hotplug+0x1af/0x1f0 [ieee1394]
 [<c022743d>] kset_hotplug+0x20d/0x270
 [<c0227897>] kobject_del+0x67/0x70
 [<c02877e1>] __crc_pnp_add_card_device+0x5/0x34
 [<c0287824>] device_unregister+0x14/0x20
 [<d0bbb4f2>] nodemgr_remove_node_uds+0x22/0x40 [ieee1394]
 [<d0bbb528>] nodemgr_remove_ne+0x18/0x70 [ieee1394]
 [<d0bbb5a3>] nodemgr_remove_host_dev+0x23/0x90 [ieee1394]
 [<d0bbd5cd>] nodemgr_remove_host+0x5d/0x90 [ieee1394]
 [<d0bb8f55>] highlevel_remove_host+0x75/0x90 [ieee1394]
 [<d0b5052e>] ohci1394_pci_remove+0x3e/0x230 [ohci1394]
 [<c0231c09>] pci_device_remove+0x39/0x40
 [<c0288810>] device_release_driver+0x60/0x70
 [<c0288842>] driver_detach+0x22/0x40
 [<c0288ae5>] bus_remove_driver+0x55/0x90
 [<c0288efa>] driver_unregister+0x1a/0x42
 [<c0231dc7>] pci_unregister_driver+0x17/0x30
 [<d0b509e2>] ohci1394_cleanup+0x12/0x14 [ohci1394]
 [<c01374a7>] sys_delete_module+0x127/0x1a0
 [<c014f217>] sys_munmap+0x57/0x80
 [<c010a36f>] syscall_call+0x7/0xb

Device 'fw-host0' does not have a release() function, it is broken and must be f
ixed.
Badness in device_release at drivers/base/core.c:87
Call Trace:
 [<c0287431>] device_release+0x71/0x80
 [<c0227985>] kobject_cleanup+0x75/0x80
 [<d0bb8f55>] highlevel_remove_host+0x75/0x90 [ieee1394]
 [<d0b5052e>] ohci1394_pci_remove+0x3e/0x230 [ohci1394]
 [<c0231c09>] pci_device_remove+0x39/0x40
 [<c0288810>] device_release_driver+0x60/0x70
 [<c0288842>] driver_detach+0x22/0x40
 [<c0288ae5>] bus_remove_driver+0x55/0x90
 [<c0288efa>] driver_unregister+0x1a/0x42
 [<c0231dc7>] pci_unregister_driver+0x17/0x30
 [<d0b509e2>] ohci1394_cleanup+0x12/0x14 [ohci1394]
 [<c01374a7>] sys_delete_module+0x127/0x1a0
 [<c014f217>] sys_munmap+0x57/0x80
 [<c010a36f>] syscall_call+0x7/0xb

ohci1394_0: Soft reset finished
ohci1394_0: Freeing dma_rcv_ctx 0
ohci1394_0: Freeing dma_rcv_ctx 0
ohci1394_0: Freeing dma_trm_ctx 0
ohci1394_0: Freeing dma_trm_ctx 1
ohci1394_0: Freeing dma_rcv_ctx 0



Steps to reproduce:

(not known to be reproducible)
load dv1394, raw1394, chmod 666 /dev/raw1394
start dvgrab from Canon GL2 camera, then simutaneously start read from
/dev/ieee1394/dv/host0/NTSC/in
killall dvgrab and the reading process
try to read again; hangs on read()
rmmod raw1394, rmmod dv1394; rmmod ohci1394

Note You need to log in before you can comment on or make changes to this bug.