Re: node not destroyed on unplug
Brought to you by:
aeb,
bencollins
From: Stefan R. <st...@s5...> - 2011-12-20 20:18:47
|
On Dec 20 Carl Karsten wrote: > un/re-plugging the cable. waiting a few seconds between each (but not > watching syslog, so maybe didn't wait long enough...) - 3 or 4 worked > fine, fw2,3 created/destroyed as expected, then I unplug, and fw2 > doesn't destroy: > > juser@pc8:~$ ls /dev/fw? > /dev/fw0 /dev/fw1 /dev/fw2 > > and syslog has a ton of > Dec 20 09:08:22 pc8 kernel: [ 2325.059013] firewire_ohci: AR > evt_bus_reset, generation 0 > .... 0-255 > loop that 25 times. This can happen if a process keeps /dev/fw2 open, but in this case I think the problem is that your bus reset series was never finished by a proper self-ID-complete event. Only when the controller received selfIDs after bus reset, firewire-core gets to work and check which nodes are there and which are gone. [...] > Dec 20 09:08:23 pc8 kernel: [ 2325.704727] firewire_ohci: 2 selfIDs, generation 30, local node ID ffc1 > Dec 20 09:08:23 pc8 kernel: [ 2325.704744] firewire_ohci: selfID 0: 80458882, phy 0 [p..] S400 gc=5 +0W Lci > Dec 20 09:08:23 pc8 kernel: [ 2325.704758] firewire_ohci: selfID 0: 8145ccd4, phy 1 [c--] beta gc=5 -3W Lc > Dec 20 09:08:23 pc8 kernel: [ 2325.704797] firewire_ohci: 2 selfIDs, generation 8, local node ID ffc0 > Dec 20 09:08:23 pc8 kernel: [ 2325.704811] firewire_ohci: selfID 0: 80458882, phy 0 [p..] S400 gc=5 +0W Lci > Dec 20 09:08:23 pc8 kernel: [ 2325.704824] firewire_ohci: selfID 0: 8145ccd4, phy 1 [c--] beta gc=5 -3W Lc Here, both controllers got a self-ID-complete event with 2 nodes present in each event. [...] > Dec 20 09:08:32 pc8 kernel: [ 2334.764102] firewire_ohci: AR evt_bus_reset, generation 9 > Dec 20 09:08:32 pc8 kernel: [ 2334.764270] firewire_ohci: 1 selfIDs, generation 9, local node ID ffc0 > Dec 20 09:08:32 pc8 kernel: [ 2334.764283] firewire_ohci: selfID 0: 807f8842, phy 0 [-..] S400 gc=63 +0W Lci Here, only one controller reports a self-ID-complete event, now with the local node being the only one on the bus. But the other controller is notably silent. > Dec 20 09:08:32 pc8 kernel: [ 2334.764416] firewire_ohci: AT spd 0 tl 00, ffc0 -> ffc1, evt_missing_ack, QW req, fffff0000234 = c000001f Alas firewire-ohci does not log the PCI device name of the card... Anyhow. As a rule of thumb, anything is possible with faulty hardware. Anything bad, that is. -- Stefan Richter -=====-==-== ==-- =-=-- http://arcgraph.de/sr/ |