Wendy, A few small additional nits... > From: Wen Xiong <root@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> Please make sure your email address is correct. > Signed-Off-by: Wen Xiong<wenxiong@xxxxxxxxxxxxxxxxxx> This should be Signed-off-by: and you need a space before your email address. > + ret = scsi_execute_req(sdev, cmd, DMA_FROM_DEVICE, buf, > + bufflen, &sshdr, NULL, SES_TIMEOUT, SES_RETRIES, NULL); The sense header goes in the field before SES_TIMEOUT: int __scsi_execute(struct scsi_device *sdev, const unsigned char *cmd, int data_direction, void *buffer, unsigned bufflen, unsigned char *sense, struct scsi_sense_hdr *sshdr, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ int timeout, int retries, u64 flags, req_flags_t rq_flags, ^^^^^^^^^^^ int *resid) Thanks! PS. Bonus points for whoever fixes up the scsi_execute calls to have less than 10,000 arguments. One would be good. And some sensible input validation/type checking. -- Martin K. Petersen Oracle Linux Engineering