firewire: fw-sbp2: set dual-phase cycle_limit
authorJarod Wilson <jwilson@redhat.com>
Fri, 7 Mar 2008 06:43:31 +0000 (01:43 -0500)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 18 Apr 2008 15:55:33 +0000 (17:55 +0200)
commit17cff9ff871bb5081cade4f99a9e9382b9f1c01c
treef6bd2d184722b5796c1ada8a2b7790d615a6f194
parenta5fd9ec7a29202f388fc011a11cfb0101d9f9a34
firewire: fw-sbp2: set dual-phase cycle_limit

Try to write dual-phase retry protocol limits to BUSY_TIMEOUT register.
- The dual-phase retry protocol is optional to implement, and if not
  supported, writes to the dual-phase portion of the register will be
  ignored. We try to write the original 1394-1995 default here.
- In the case of devices that are also SBP-3-compliant, all writes are
  ignored, as the register is read-only, but contains single-phase retry of
  15, which is what we're trying to set for all SBP-2 device anyway, so this
  write attempt is safe and yields more consistent behavior for all devices.

See section 8.3.2.3.5 of the 1394-1995 spec, section 6.2 of the SBP-2 spec,
and section 6.4 of the SBP-3 spec for further details.

Signed-off-by: Jarod Wilson <jwilson@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/fw-sbp2.c