diff options
author | James Bottomley <James.Bottomley@steeleye.com> | 2006-03-31 21:07:45 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-04-13 11:13:31 -0400 |
commit | 4d7db04a7a69099accd84984a78c64d2178252f1 (patch) | |
tree | 4b447d05c77290bffe88339915da1186910234a3 /drivers/scsi/scsi.c | |
parent | d637c4543fdc86cbef5805c679d24bb665172a7d (diff) |
[SCSI] add SCSI_UNKNOWN and LUN transfer limit restrictions
Original From: Ingo Flaschberger <if@xip.at>
To support the RA4100 array from Compaq.
This patch now correctly handles SCSI_UNKNOWN types with regard to
BLIST_REPORTLUNS2 (allow it) and cdb[1] LUN inclusion (don't).
It also allows a BLIST_MAX_512 flag to restrict the maximum transfer
length to 512 blocks (apparently this is an RA4100 problem).
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/scsi.c')
-rw-r--r-- | drivers/scsi/scsi.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index 32979fee6186..73994e2ac2cb 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c | |||
@@ -565,7 +565,8 @@ int scsi_dispatch_cmd(struct scsi_cmnd *cmd) | |||
565 | /* | 565 | /* |
566 | * If SCSI-2 or lower, store the LUN value in cmnd. | 566 | * If SCSI-2 or lower, store the LUN value in cmnd. |
567 | */ | 567 | */ |
568 | if (cmd->device->scsi_level <= SCSI_2) { | 568 | if (cmd->device->scsi_level <= SCSI_2 && |
569 | cmd->device->scsi_level != SCSI_UNKNOWN) { | ||
569 | cmd->cmnd[1] = (cmd->cmnd[1] & 0x1f) | | 570 | cmd->cmnd[1] = (cmd->cmnd[1] & 0x1f) | |
570 | (cmd->device->lun << 5 & 0xe0); | 571 | (cmd->device->lun << 5 & 0xe0); |
571 | } | 572 | } |