[SCSI] Fix printing of failed 32-byte commands
authorMartin K. Petersen <martin.petersen@oracle.com>
Wed, 20 Jan 2010 07:20:43 +0000 (02:20 -0500)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 19 Feb 2010 17:15:33 +0000 (11:15 -0600)
commit77c9cfc51b0d732b2524799810fb30018074fd60
tree3f017828710e8bab9e172204a2ef5f2e9544d379
parent8475f688d796b875bf98ed161acd53d00a1483ff
[SCSI] Fix printing of failed 32-byte commands

Having the large CDB allocation logic in sd.c means that
scsi_io_completion does not have access to the command buffer. That in
turn causes garbage to be printed when a 32-byte command fails. Move the
command printing to sd_done where the command buffer is intact.  Clear
the command buffer pointer after the extended CDB has been freed.

Make scsi_print_command ignore commands with NULL CDB pointers to
inhibit printing of garbled command strings.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/constants.c
drivers/scsi/sd.c