[PATCH] firewire: fw-sbp2: fix parsing of logical unit directories

From: Stefan Richter
Date: Wed Jun 25 2008 - 12:38:21 EST


Date: Tue, 24 Jun 2008 19:11:13 -0700
From: Richard Sharpe <realrichardsharpe@xxxxxxxxx>

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@xxxxxxxxx>
Acked-by: Kristian Høgsberg <krh@xxxxxxxxxx>
Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> (op. order, changelog)
---

Kevin, this bug probably prevented the detection of the second drive in
the PowerFile C200 when you tested the new drivers.

drivers/firewire/fw-sbp2.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux/drivers/firewire/fw-sbp2.c
===================================================================
--- linux.orig/drivers/firewire/fw-sbp2.c
+++ linux/drivers/firewire/fw-sbp2.c
@@ -1066,7 +1066,8 @@ static int sbp2_scan_unit_dir(struct sbp
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;
}

--
Stefan Richter
-=====-==--- -==- ==--=
http://arcgraph.de/sr/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/