I wrote: > I need to fix the SBP-2 drivers to set the limit correctly. This will > be a little more than one-liners though, I guess, because we need to > check a target capability datum before we set the length limit. No, we don't need to check anything. The transport allows for arbitrarily sized command descriptor blocks. ---------- 8< ---------- We forgot to set Scsi_Host.max_cmd_len. Therefore SCSI core sent at most 12 bytes long commands to FireWire targets. Among else, this prevented support of disks larger than 2 TB. Signed-off-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> --- drivers/firewire/sbp2.c | 6 ++++++ 1 file changed, 6 insertions(+) Index: b/drivers/firewire/sbp2.c =================================================================== --- a/drivers/firewire/sbp2.c +++ b/drivers/firewire/sbp2.c @@ -1146,6 +1146,12 @@ static int sbp2_probe(struct device *dev if (fw_device_enable_phys_dma(device) < 0) goto fail_shost_put; + /* + * SBP-2 does not impose limits on the CDB length. Targets may have + * limits, but this is going to be reported at the command set level. + */ + shost->max_cmd_len = SCSI_MAX_VARLEN_CDB_SIZE; + if (scsi_add_host(shost, &unit->device) < 0) goto fail_shost_put; -- Stefan Richter -=====-==--= -==- ===-= http://arcgraph.de/sr/ -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html