Bug 7792 - "modprobe -r ohci1394" may block uninterruptibly
Summary: "modprobe -r ohci1394" may block uninterruptibly
Alias: None
Product: Drivers
Classification: Unclassified
Component: IEEE1394 (show other bugs)
Hardware: i386 Linux
: P2 low
Assignee: Stefan Richter
Depends on:
Blocks: 7550
  Show dependency tree
Reported: 2007-01-08 12:54 UTC by Stefan Richter
Modified: 2007-02-21 03:27 UTC (History)
0 users

See Also:
Kernel Version: 2.6.20-rc3
Regression: ---
Bisected commit-id:

ieee1394: fix another deadlock in nodemgr (993 bytes, patch)
2007-02-10 13:00 UTC, Stefan Richter
Details | Diff

Description Stefan Richter 2007-01-08 12:54:24 UTC
Most recent kernel where this bug did *NOT* occur: unknown
Hardware Environment: UP PC with two FireWire cards, one card has an external
FireWire node attached
Steps to reproduce: for ((x=0; x<20; x++));do modprobe ohci1394 && sleep 2 &&
modprobe -r ohci1394 || break; done

modprobe -r will soon get stuck in D state, hanging on kthread_stop with
hl_drivers_sem and kthread_stop_lock held. But different to bug 6706, knodemgrd
sleeps *interruptibly* in nodemgr_host_thread. As soon as the external node is
unplugged, modprobe gets going again. I.e. the bug can be recovered from with
physical access to the machine.

I cannot reproduce this _without_ an external node attached.
Comment 1 Stefan Richter 2007-01-08 12:56:39 UTC
PS: This was an uniprocessor kernel, configured without kernel preemption.
Comment 2 Stefan Richter 2007-01-08 13:09:45 UTC
Als happens on UP PC with SMP PREEMPT kernel.
Comment 3 Stefan Richter 2007-02-10 13:00:10 UTC
Created attachment 10376 [details]
ieee1394: fix another deadlock in nodemgr
Comment 4 Stefan Richter 2007-02-21 03:27:12 UTC
fix is in 2.6.21-rc1

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