[SCSI] libsas: implement > 16 byte CDB support
authorJames Bottomley <JBottomley@Parallels.com>
Tue, 7 May 2013 22:38:18 +0000 (15:38 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Tue, 4 Jun 2013 18:15:59 +0000 (11:15 -0700)
commite73823f7a2c921dcf068d34ea03bd682498d9e42
tree8b5b2262352572b3069a671f7578ea6d5ef07162
parent9edf7d75ee5f21663a0183d21f702682d0ef132f
[SCSI] libsas: implement > 16 byte CDB support

Remove the arbitrary expectation in libsas that all SCSI commands are 16 bytes
or less.  Instead do all copies via cmd->cmd_len (and use a pointer to this in
the libsas task instead of a copy).  Note that this still doesn't enable > 16
byte CDB support in the underlying drivers because their internal format has
to be fixed and the wire format of > 16 byte CDBs according to the SAS spec is
different.  the libsas drivers (isci, aic94xx, mvsas and pm8xxx are all
updated for this change.

Cc: Lukasz Dorau <lukasz.dorau@intel.com>
Cc: Maciej Patelczyk <maciej.patelczyk@intel.com>
Cc: Dave Jiang <dave.jiang@intel.com>
Cc: Jack Wang <xjtuwjp@gmail.com>
Cc: Lindar Liu <lindar_liu@usish.com>
Cc: Xiangliang Yu <yuxiangl@marvell.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
drivers/scsi/aic94xx/aic94xx_task.c
drivers/scsi/isci/request.c
drivers/scsi/libsas/sas_scsi_host.c
drivers/scsi/mvsas/mv_sas.c
drivers/scsi/pm8001/pm8001_hwi.c
drivers/scsi/pm8001/pm80xx_hwi.c
include/scsi/libsas.h