linux-kernel-test/drivers/firewire
Stefan Richter 3d36a0df3b 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>
2009-01-20 19:29:52 +01:00
..
fw-card.c firewire: unnecessary BM delay after generation rollover 2009-01-20 19:29:51 +01:00
fw-cdev.c firewire: fix ioctl() return code 2008-10-15 22:21:10 +02:00
fw-device.c firewire: keep highlevel drivers attached during brief connection loss 2009-01-20 19:29:52 +01:00
fw-device.h firewire: keep highlevel drivers attached during brief connection loss 2009-01-20 19:29:52 +01:00
fw-iso.c dma-mapping: add the device argument to dma_mapping_error() 2008-07-26 12:00:03 -07:00
fw-ohci.c firewire: fw-ohci: fix IOMMU resource exhaustion 2008-12-10 12:45:34 +01:00
fw-ohci.h firewire: fw-ohci: log regAccessFail events 2008-04-18 17:55:34 +02:00
fw-sbp2.c firewire: fw-sbp2: remove unnecessary locking 2009-01-04 23:50:36 +01:00
fw-topology.c firewire: unnecessary BM delay after generation rollover 2009-01-20 19:29:51 +01:00
fw-topology.h firewire: reread config ROM when device reset the bus 2008-04-18 17:55:36 +02:00
fw-transaction.c firewire: fix small memory leak at module removal 2009-01-04 23:50:37 +01:00
fw-transaction.h firewire: unnecessary BM delay after generation rollover 2009-01-20 19:29:51 +01:00
Kconfig firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
Makefile firewire: prefix modules with firewire- instead of fw- 2007-05-27 23:21:01 +02:00