Bug 3266

Summary: Scsi modules hang on firewire device reconnect
Product: Drivers Reporter: Shannon Field (sjf9705)
Component: IEEE1394Assignee: Stefan Richter (stefanr)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: bunk
Priority: P2    
Hardware: i386   
OS: Linux   
Kernel Version: 2.6.8.1, 2.6.8, 2.6.7, 2.6.6 Subsystem:
Regression: --- Bisected commit-id:
Attachments: kernel-config

Description Shannon Field 2004-08-24 10:50:18 UTC
Distribution: Gentoo

Hardware Environment: Dell Inspiron 8000, PIII 900mhz, 256 ram, internal cd-rw,
module dvd/floppy, external TDK IndiDVD-RW

Problem Description:
When disconnect, and reconnecting my external DVD-RW drive I noticed that the
drive is not recognized. I've tried this with several different kernel
configurations, and kernels versions  = 2.6.8.1, 2.6.8, 2.6.7, 2.6.6 

If I try to unload the sr_mod module, rmmod just hangs. Sbp2 and all firewire
support is currently compiled into my kernel, but I had tried it as a module and
has the same behavior (hanging on rmmod). I am able to unload the sr_mod module
before I disconnect the drive, in this case reconnecting the drive works like
normal.

I'm currently at work, when I get home I can attach my kernel config, and proc
information. Here is my dmesg output for now:

**After plugging in drive the first time**
ohci1394: fw-host0: SelfID received, but NodeID invalid (probably new bus reset
occurred): 0000FFC0
ieee1394: Node changed: 0-00:1023 -> 0-01:1023
ieee1394: Node resumed: ID:BUS[0-01:1023]  GUID[0010100345c4bd87]
ieee1394: The root node is not cycle master capable; selecting a new root node
and resetting...
ieee1394: Node changed: 0-01:1023 -> 0-00:1023
ieee1394: Node changed: 0-00:1023 -> 0-01:1023
scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
  Vendor: TDK       Model: DVDRW840G         Rev: 1.03
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 5
sr0: scsi3-mmc drive: 62x/62x writer cd/rw xa/form2 cdda tray
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 

***After disconnecting Drive***
ieee1394: Node changed: 0-01:1023 -> 0-00:1023
ieee1394: Node suspended: ID:BUS[0-00:1023]  GUID[0010100345c4bd87] 

***After reconnecting Drive***
ohci1394: fw-host0: SelfID received, but NodeID invalid (probably new bus reset
occurred): 0000FFC0 


Steps to reproduce:
Connect External TDK Drive, Disconnect, Then reconnect. Notice upon reconnection
no device nodes were created. Try 'rmmod sr_mod'.
Comment 1 Shannon Field 2004-08-24 16:18:47 UTC
Created attachment 3561 [details]
kernel-config

Current running kernel with scsi firewire dvdrw reconnect problem
Comment 2 Shannon Field 2004-08-24 16:32:17 UTC
THis is all the system information when the device is properly connected and
recognized:


Here is my lsmod output
sr_mod                 19044  0
nvidia               2074504  14
prism2_cs              77256  1
p80211                 31760  1 prism2_cs
ds                     20104  5 prism2_cs
e100                   31968  0
yenta_socket           21248  1
pcmcia_core            66032  3 prism2_cs,ds,yenta_socket
apm                    18448  2
snd_maestro3           25736  2

-------------------------------------
root@lapdog X11 # cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 10
cpu MHz         : 898.210
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
pse36 mmx fxsr sse
bogomips        : 1777.66

------------------------------------

root@lapdog X11 # cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-005f : timer
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0100-013f : prism2_cs
0170-0177 : ide1
01f0-01f7 : ide0
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
0800-087f : 0000:00:1f.0
0880-08bf : 0000:00:1f.0
0cf8-0cff : PCI conf1
4000-40ff : PCI CardBus #09
4400-44ff : PCI CardBus #09
4800-48ff : PCI CardBus #0d
4c00-4cff : PCI CardBus #0d
bce0-bcff : 0000:00:1f.2
  bce0-bcff : uhci_hcd
bfa0-bfaf : 0000:00:1f.1
  bfa0-bfa7 : ide0
  bfa8-bfaf : ide1
c000-cfff : PCI Bus #01
dc00-dcff : 0000:02:03.0
  dc00-dcff : Maestro3
e000-efff : PCI Bus #08
  e800-e8ff : 0000:08:08.0
  ecb8-ecbf : 0000:08:08.0
  ecc0-ecff : 0000:08:04.0
    ecc0-ecff : e100


-------------------------------------
root@lapdog X11 # cat /proc/iomem
00000000-0009fbff : System RAM
0009fc00-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000ccfff : Video ROM
000d0000-000d17ff : Adapter ROM
000f0000-000fffff : System ROM
00100000-17fea7ff : System RAM
  00100000-003b1b76 : Kernel code
  003b1b77-004afeff : Kernel data
17fea800-17ffffff : reserved
18000000-18000fff : 0000:02:0f.0
  18000000-18000fff : yenta_socket
18001000-18001fff : 0000:02:0f.1
  18001000-18001fff : yenta_socket
18400000-187fffff : PCI CardBus #09
18800000-18bfffff : PCI CardBus #09
18c00000-18ffffff : PCI CardBus #0d
19000000-193fffff : PCI CardBus #0d
60000000-60000fff : card services
e0000000-e7ffffff : PCI Bus #01
  e0000000-e7ffffff : 0000:01:00.0
e8000000-ebffffff : 0000:00:00.0
f6ff8000-f6ffbfff : 0000:02:0f.2
f6ffd800-f6ffdfff : 0000:02:0f.2
  f6ffd800-f6ffdfff : ohci1394
f6ffe000-f6ffffff : 0000:02:03.0
f8000000-f9ffffff : PCI Bus #08
  f8e00000-f8efffff : 0000:08:04.0
    f8e00000-f8efffff : e100
  f8ffec00-f8ffecff : 0000:08:08.0
  f8fff000-f8ffffff : 0000:08:04.0
    f8fff000-f8ffffff : e100
fc000000-fdffffff : PCI Bus #01
  fc000000-fcffffff : 0000:01:00.0
feea0000-feefffff : reserved
ffb80000-ffffffff : reserved

---------------------------------------------
# cat /proc/scsi/scsi
Attached devices:
Host: scsi7 Channel: 00 Id: 00 Lun: 00
  Vendor: TDK      Model: DVDRW840G        Rev: 1.03
  Type:   CD-ROM                           ANSI SCSI revision: 02
root@lapdog X11 #

**NOTE: the same command ran after the device was unplugged and repluged, hangs
---------------------------------
# lspci -vvv
0000:00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory
Controller Hub (rev 02)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort+ >SERR- <PERR-
        Latency: 0
        Region 0: Memory at e8000000 (32-bit, prefetchable)
        Capabilities: [88] #09 [f104]
        Capabilities: [a0] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans-
64bit- FW- AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

0000:00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 02)
(prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 32
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 0000c000-0000cfff
        Memory behind bridge: fc000000-fdffffff
        Prefetchable memory behind bridge: e0000000-e7ffffff
        Expansion ROM at 0000c000 [disabled] [size=4K]
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 03) (prog-if 00
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=02, subordinate=10, sec-latency=32
        I/O behind bridge: 0000d000-0000ffff
        Memory behind bridge: f2000000-fbffffff
        Prefetchable memory behind bridge: fff00000-000fffff
        BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

0000:00:1f.0 ISA bridge: Intel Corp. 82801BAM ISA Bridge (LPC) (rev 03)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

0000:00:1f.1 IDE interface: Intel Corp. 82801BAM IDE U100 (rev 03) (prog-if 80
[Master])
        Subsystem: Intel Corp.: Unknown device 4541
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Region 4: I/O ports at bfa0 [size=16]

0000:00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 03)
(prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 4541
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin D routed to IRQ 11
        Region 4: I/O ports at bce0 [size=32]

0000:01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go]
(rev b2) (prog-if 00 [VGA])
        Subsystem: Dell: Unknown device 00a4
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+ ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 248 (1250ns min, 250ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at fc000000 (32-bit, non-prefetchable)
        Region 1: Memory at e0000000 (32-bit, prefetchable) [size=128M]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [44] AGP version 2.0
                Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA- ITACoh- GART64- HTrans-
64bit- FW+ AGP3- Rate=x1,x2,x4
                Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

0000:02:03.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI
Audio Accelerator (rev 10)
        Subsystem: Dell: Unknown device 00a4
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (500ns min, 6000ns max)
        Interrupt: pin A routed to IRQ 5
        Region 0: I/O ports at dc00
        Region 1: Memory at f6ffe000 (32-bit, non-prefetchable) [size=8K]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0-,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:02:06.0 PCI bridge: Actiontec Electronics Inc Mini-PCI bridge (rev 11)
(prog-if 00 [Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32, cache line size 08
        Bus: primary=02, secondary=08, subordinate=08, sec-latency=32
        I/O behind bridge: 0000e000-0000efff
        Memory behind bridge: f8000000-f9ffffff
        Prefetchable memory behind bridge: fff00000-000fffff
        Expansion ROM at 0000e000 [disabled] [size=4K]
        BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0-,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
                Bridge: PM- B3+
        Capabilities: [90] #06 [0000]

0000:02:0f.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
        Subsystem: Dell: Unknown device 00a4
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR+
        Latency: 168, cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at 18000000 (32-bit, non-prefetchable)
        Bus: primary=02, secondary=09, subordinate=0c, sec-latency=176
        Memory window 0: 18400000-187ff000 (prefetchable)
        Memory window 1: 18800000-18bff000
        I/O window 0: 00004000-000040ff
        I/O window 1: 00004400-000044ff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt- PostWrite+
        16-bit legacy interface ports at 0001

0000:02:0f.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
        Subsystem: Dell: Unknown device 00a4
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 168, cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at 18001000 (32-bit, non-prefetchable)
        Bus: primary=02, secondary=0d, subordinate=10, sec-latency=176
        Memory window 0: 18c00000-18fff000 (prefetchable)
        Memory window 1: 19000000-193ff000
        I/O window 0: 00004800-000048ff
        I/O window 1: 00004c00-00004cff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
        16-bit legacy interface ports at 0001

0000:02:0f.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394
Controller (prog-if 10 [OHCI])
        Subsystem: Dell: Unknown device 00a4
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR+
        Latency: 32 (500ns min, 1000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at f6ffd800 (32-bit, non-prefetchable)
        Region 1: Memory at f6ff8000 (32-bit, non-prefetchable) [size=16K]
        Capabilities: [44] Power Management version 2
                Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0-,D1-,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

0000:08:04.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
        Subsystem: Actiontec Electronics Inc EtherExpress PRO/100B (TX) (MiniPCI
Ethernet+Modem)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (2000ns min, 14000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at f8fff000 (32-bit, non-prefetchable) [size=f9000000]
        Region 1: I/O ports at ecc0 [size=64]
        Region 2: Memory at f8e00000 (32-bit, non-prefetchable) [size=1M]
        Expansion ROM at 00100000 [disabled]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable+ DSel=0 DScale=2 PME-

0000:08:08.0 Communication controller: Agere Systems (former Lucent
Microelectronics) WinModem 56k (rev 01)
        Subsystem: Actiontec Electronics Inc LT WinModem 56k (MiniPCI
Ethernet+Modem)
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0 (63000ns min, 3500ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at f8ffec00 (32-bit, non-prefetchable)
        Region 1: I/O ports at ecb8 [size=8]
        Region 2: I/O ports at e800 [size=256]
        Capabilities: [f8] Power Management version 2
                Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=0mA
PME(D0-,D1-,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

---------------------------------------------------

If any more information is needed let me know.

-Thanks
Shannon
Comment 3 Adrian Bunk 2006-12-12 11:36:39 UTC
Is this issue still present in kernel 2.6.19?
Comment 4 Stefan Richter 2006-12-12 14:24:46 UTC
These bugs have been fixed, to the best of my knowledge. The most often
encountered ones in Linux 2.6.14, some rarer ones in subsequent releases.
Comment 5 Stefan Richter 2006-12-12 14:28:32 UTC
(Shannon, please reopen the bug in the highly unlikely case that the problem is
still there.)