On Sat, 2017-06-24 at 01:50 +0900, Minwoo Im wrote:
> - * Handles either 12 or 16-byte versions of the CDB.
> + * Handles either 12 16, or 32-byte versions of the CDB.
Please insert a comma between "12" and "16" to avoid that this comment
gets confusing.
> + if ((tf->protocol = ata_scsi_map_proto(cdb[1 + cdb_offset]))
> + == ATA_PROT_UNKNOWN) {
Have you verified this patch with checkpatch? The recommended style is
*not* to use assignments in the expression that controls an if-statement
and also if a comparison expression has to be split to keep the comparison
operator at the end of the first line.
> - shost->max_cmd_len = 16;
> + /*
> + * SPC says that CDB may have a fixed length of up to 16 bytes
> + * or variable length of between 12 and 260 bytes.
> + */
> + shost->max_cmd_len = 260;
As mentioned before, I think a maximum CDB length of 260 is overkill.
> /* Values for T10/04-262r7 */
> +#define ATA_32 0x1ff0 /* 32-byte pass-thru,
> service action */
> #define ATA_16 0x85 /* 16-byte pass-thru */
> #define ATA_12 0xa1 /* 12-byte pass-thru */
Defining ATA_32 just above ATA_12 and ATA_16 is misleading because
the latter two are CDB opcodes while the former is a service action
code. Please move the definition of the ATA_32 service action code
one line up such that it appears at the end of the list of already
defined service codes, namely this list:
/* values for variable length command */
#define XDREAD_32 0x03
#define XDWRITE_32 0x04
#define XPWRITE_32 0x06
#define XDWRITEREAD_32 0x07
#define READ_32 0x09
#define VERIFY_32 0x0a
#define WRITE_32 0x0b
#define WRITE_SAME_32 0x0d
Thanks,
Bart.