Skip to content

Commit

Permalink
[SCSI] qla2xxx: Set the task attributes after memsetting fcp cmnd.
Browse files Browse the repository at this point in the history
The memset of the fcp_cmnd struct needs to be moved so that it will not
zero-out valid data.

Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: Chad Dupuis <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
  • Loading branch information
Saurav Kashyap authored and James Bottomley committed Aug 27, 2011
1 parent 58b4857 commit 51cc9a8
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions drivers/scsi/qla2xxx/qla_nx.c
Original file line number Diff line number Diff line change
Expand Up @@ -2839,6 +2839,16 @@ qla82xx_start_scsi(srb_t *sp)
int_to_scsilun(sp->cmd->device->lun, &cmd_pkt->lun);
host_to_fcp_swap((uint8_t *)&cmd_pkt->lun, sizeof(cmd_pkt->lun));

/* build FCP_CMND IU */
memset(ctx->fcp_cmnd, 0, sizeof(struct fcp_cmnd));
int_to_scsilun(sp->cmd->device->lun, &ctx->fcp_cmnd->lun);
ctx->fcp_cmnd->additional_cdb_len = additional_cdb_len;

if (cmd->sc_data_direction == DMA_TO_DEVICE)
ctx->fcp_cmnd->additional_cdb_len |= 1;
else if (cmd->sc_data_direction == DMA_FROM_DEVICE)
ctx->fcp_cmnd->additional_cdb_len |= 2;

/*
* Update tagged queuing modifier -- default is TSK_SIMPLE (0).
*/
Expand All @@ -2855,16 +2865,6 @@ qla82xx_start_scsi(srb_t *sp)
}
}

/* build FCP_CMND IU */
memset(ctx->fcp_cmnd, 0, sizeof(struct fcp_cmnd));
int_to_scsilun(sp->cmd->device->lun, &ctx->fcp_cmnd->lun);
ctx->fcp_cmnd->additional_cdb_len = additional_cdb_len;

if (cmd->sc_data_direction == DMA_TO_DEVICE)
ctx->fcp_cmnd->additional_cdb_len |= 1;
else if (cmd->sc_data_direction == DMA_FROM_DEVICE)
ctx->fcp_cmnd->additional_cdb_len |= 2;

memcpy(ctx->fcp_cmnd->cdb, cmd->cmnd, cmd->cmd_len);

fcp_dl = (uint32_t *)(ctx->fcp_cmnd->cdb + 16 +
Expand Down

0 comments on commit 51cc9a8

Please sign in to comment.