diff options
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
| -rw-r--r-- | drivers/scsi/scsi_lib.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 743f67ed7640..3ac4890ce086 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
| @@ -410,6 +410,7 @@ int scsi_execute_async(struct scsi_device *sdev, const unsigned char *cmd, | |||
| 410 | goto free_req; | 410 | goto free_req; |
| 411 | 411 | ||
| 412 | req->cmd_len = cmd_len; | 412 | req->cmd_len = cmd_len; |
| 413 | memset(req->cmd, 0, BLK_MAX_CDB); /* ATAPI hates garbage after CDB */ | ||
| 413 | memcpy(req->cmd, cmd, req->cmd_len); | 414 | memcpy(req->cmd, cmd, req->cmd_len); |
| 414 | req->sense = sioc->sense; | 415 | req->sense = sioc->sense; |
| 415 | req->sense_len = 0; | 416 | req->sense_len = 0; |
| @@ -1084,7 +1085,7 @@ static void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd) | |||
| 1084 | { | 1085 | { |
| 1085 | struct request *req = cmd->request; | 1086 | struct request *req = cmd->request; |
| 1086 | 1087 | ||
| 1087 | BUG_ON(sizeof(req->cmd) > sizeof(cmd->cmnd)); | 1088 | BUILD_BUG_ON(sizeof(req->cmd) > sizeof(cmd->cmnd)); |
| 1088 | memcpy(cmd->cmnd, req->cmd, sizeof(cmd->cmnd)); | 1089 | memcpy(cmd->cmnd, req->cmd, sizeof(cmd->cmnd)); |
| 1089 | cmd->cmd_len = req->cmd_len; | 1090 | cmd->cmd_len = req->cmd_len; |
| 1090 | if (!req->data_len) | 1091 | if (!req->data_len) |
