[PATCH] firewire: sbp2: add support for disks >2 TB (and CBSs >12 bytes)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux