summaryrefslogtreecommitdiffstats
path: root/drivers/firewire/fw-ohci.c
diff options
context:
space:
mode:
authorStefan Richter <stefanr@s5r6.in-berlin.de>2009-01-17 22:45:54 +0100
committerStefan Richter <stefanr@s5r6.in-berlin.de>2009-01-20 19:29:52 +0100
commit3d36a0df3b473fb53531484df227f2da8bc7494b (patch)
treef0fcb758c8e68f1e5389ccd895d98efcc55ed0e8 /drivers/firewire/fw-ohci.c
parentfirewire: unnecessary BM delay after generation rollover (diff)
downloadlinux-3d36a0df3b473fb53531484df227f2da8bc7494b.tar.xz
linux-3d36a0df3b473fb53531484df227f2da8bc7494b.zip
firewire: keep highlevel drivers attached during brief connection loss
There are situations when nodes vanish from the bus and come back quickly thereafter: - When certain bus-powered hubs are plugged in, - when certain devices are plugged into 6-port hubs, - when certain disk enclosures are switched from self-power to bus power or vice versa and break the daisy chain during the transition, - when the user plugs a cable out and quickly plugs it back in, e.g. to reorder a daisy chain (works on Mac OS X if done quickly enough), - when certain hubs temporarily malfunction during high bus traffic. Until now, firewire-core reported affected nodes as lost to the highlevel drivers (firewire-sbp2 and userspace drivers). We now delay the destruction of device representations until after at least two seconds after the last bus reset. If a "new" device is detected in this period whose bus information block and root directory header match that of a device which is pending for deletion, we resurrect that device and send update calls to highlevel drivers. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire/fw-ohci.c')
0 files changed, 0 insertions, 0 deletions