Bug 11349

Summary: connection loss when an additional device is plugged into a 6-port hub
Product: Drivers Reporter: Stefan Richter (stefanr)
Component: IEEE1394Assignee: Stefan Richter (stefanr)
Status: CLOSED CODE_FIX    
Severity: normal    
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: all Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 10307    

Description Stefan Richter 2008-08-15 08:57:24 UTC
If there is a bus consisting of PC--hub--device_A and another device_B is plugged in into the hub, then the PC may briefly loose contact with device_A. This is troublesome if a filesystem was mounted device_A or the device was otherwise in use.

This only happens with _some_ devices as device_B, but presumably with all 6-port hubs.  (There is only one known 6-port PHY chip, hence all 6-port hubs are very similar WRT to PHY functionality.)  Affected are both the ieee1394 and the firewire driver stack.  Windows XP and Mac OS X are known to handle this without connection loss, i.e. without danger to mounted filesystems.

More data reported here:  http://marc.info/?l=linux1394-user&m=121875239304371
Comment 1 Stefan Richter 2008-08-16 05:11:18 UTC
Proposed patches:

[1/3] ieee1394: regression in 2.6.25: updates should happen before probes
http://lkml.org/lkml/2008/8/16/85

[2/3] ieee1394: don't drop nodes during bus reset series
http://lkml.org/lkml/2008/8/16/86

[3/3] ieee1394: sbp2: let nodemgr retry node updates during bus reset series
http://lkml.org/lkml/2008/8/16/88

They work for me but need to be confirmed by the original reporter.
Comment 2 Stefan Richter 2008-08-18 15:18:26 UTC
Fix confirmed by the original reporter (Damien Benoist).

To do:
  - Get the ieee1394 fixes upstream and into stable.
  - Implement a similar fix in the new firewire stack.
Comment 3 Stefan Richter 2008-10-09 08:19:09 UTC
ieee1394 fixed upstream (2.6.27-rc in August),
firewire not yet done
Comment 4 Stefan Richter 2009-01-17 13:58:45 UTC
firewire fix posted:  http://lkml.org/lkml/2009/1/17/156
Comment 5 Stefan Richter 2009-02-09 14:35:34 UTC
firewire fixed in 2.6.29-rc4