aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/firewire
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2012-05-18 16:26:21 -0400
committerStefan Richter <stefanr@s5r6.in-berlin.de>2012-05-21 15:49:44 -0400
commit26c72e22c94fbc28604c94e3a96fdae9c6fd0a42 (patch)
tree9897f59fef9034951ce4b236da8820ea7e38a07a /drivers/firewire
parent935f672e02c8172a23bd3e54feafffcfcce39f0d (diff)
firewire: sbp2: document the absence of alignment requirements
The SBP-2/3 specifications do not require any alignment of data buffers; only their own data structures need to be quadlet-aligned [SR: or octlet-aligned]. Fix the comments to reflect this, but leave the actual alignment at 32 bits to avoid theoretical problems with target implementations that might handle this incorrectly. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Diffstat (limited to 'drivers/firewire')
-rw-r--r--drivers/firewire/sbp2.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/firewire/sbp2.c b/drivers/firewire/sbp2.c
index 1f888f3ef7ae..1162d6b3bf85 100644
--- a/drivers/firewire/sbp2.c
+++ b/drivers/firewire/sbp2.c
@@ -207,9 +207,8 @@ static const struct device *lu_dev(const struct sbp2_logical_unit *lu)
207#define SBP2_MAX_CDB_SIZE 16 207#define SBP2_MAX_CDB_SIZE 16
208 208
209/* 209/*
210 * The default maximum s/g segment size of a FireWire controller is 210 * The maximum SBP-2 data buffer size is 0xffff. We quadlet-align this
211 * usually 0x10000, but SBP-2 only allows 0xffff. Since buffers have to 211 * for compatibility with earlier versions of this driver.
212 * be quadlet-aligned, we set the length limit to 0xffff & ~3.
213 */ 212 */
214#define SBP2_MAX_SEG_SIZE 0xfffc 213#define SBP2_MAX_SEG_SIZE 0xfffc
215 214
@@ -1530,7 +1529,10 @@ static int sbp2_scsi_slave_alloc(struct scsi_device *sdev)
1530 1529
1531 sdev->allow_restart = 1; 1530 sdev->allow_restart = 1;
1532 1531
1533 /* SBP-2 requires quadlet alignment of the data buffers. */ 1532 /*
1533 * SBP-2 does not require any alignment, but we set it anyway
1534 * for compatibility with earlier versions of this driver.
1535 */
1534 blk_queue_update_dma_alignment(sdev->request_queue, 4 - 1); 1536 blk_queue_update_dma_alignment(sdev->request_queue, 4 - 1);
1535 1537
1536 if (lu->tgt->workarounds & SBP2_WORKAROUND_INQUIRY_36) 1538 if (lu->tgt->workarounds & SBP2_WORKAROUND_INQUIRY_36)