diff options
author | Richard Sharpe <realrichardsharpe@gmail.com> | 2008-06-24 19:11:13 -0700 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2008-06-27 20:55:00 +0200 |
commit | 0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554 (patch) | |
tree | 89691ff7227cc09dcb32c72cd7295c16665aaa34 /drivers/firewire | |
parent | 543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff) | |
download | op-kernel-dev-0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554.zip op-kernel-dev-0e3e2eabf4fbc0162e1f1eb4fd90cb3e9513a554.tar.gz |
firewire: fw-sbp2: fix parsing of logical unit directories
There is a small off-by-one bug in firewire-sbp2. This causes problems
when a device exports multiple LUN Directories. I found it when trying
to talk to a SONY DVD Jukebox.
Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
Acked-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (op. order, changelog)
Diffstat (limited to 'drivers/firewire')
-rw-r--r-- | drivers/firewire/fw-sbp2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/firewire/fw-sbp2.c b/drivers/firewire/fw-sbp2.c index b2458bb..227d2e0 100644 --- a/drivers/firewire/fw-sbp2.c +++ b/drivers/firewire/fw-sbp2.c @@ -1051,7 +1051,8 @@ static int sbp2_scan_unit_dir(struct sbp2_target *tgt, u32 *directory, break; case SBP2_CSR_LOGICAL_UNIT_DIRECTORY: - if (sbp2_scan_logical_unit_dir(tgt, ci.p + value) < 0) + /* Adjust for the increment in the iterator */ + if (sbp2_scan_logical_unit_dir(tgt, ci.p - 1 + value) < 0) return -ENOMEM; break; } |