aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/hpsa.c7
-rw-r--r--drivers/scsi/hpsa_cmd.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 1bef1da273c2..8068520cf89e 100644
--- a/drivers/scsi/hpsa.c
+++ b/drivers/scsi/hpsa.c
@@ -4940,7 +4940,7 @@ static int hpsa_scsi_ioaccel2_queue_command(struct ctlr_info *h,
4940 curr_sg->reserved[0] = 0; 4940 curr_sg->reserved[0] = 0;
4941 curr_sg->reserved[1] = 0; 4941 curr_sg->reserved[1] = 0;
4942 curr_sg->reserved[2] = 0; 4942 curr_sg->reserved[2] = 0;
4943 curr_sg->chain_indicator = 0x80; 4943 curr_sg->chain_indicator = IOACCEL2_CHAIN;
4944 4944
4945 curr_sg = h->ioaccel2_cmd_sg_list[c->cmdindex]; 4945 curr_sg = h->ioaccel2_cmd_sg_list[c->cmdindex];
4946 } 4946 }
@@ -4957,6 +4957,11 @@ static int hpsa_scsi_ioaccel2_queue_command(struct ctlr_info *h,
4957 curr_sg++; 4957 curr_sg++;
4958 } 4958 }
4959 4959
4960 /*
4961 * Set the last s/g element bit
4962 */
4963 (curr_sg - 1)->chain_indicator = IOACCEL2_LAST_SG;
4964
4960 switch (cmd->sc_data_direction) { 4965 switch (cmd->sc_data_direction) {
4961 case DMA_TO_DEVICE: 4966 case DMA_TO_DEVICE:
4962 cp->direction &= ~IOACCEL2_DIRECTION_MASK; 4967 cp->direction &= ~IOACCEL2_DIRECTION_MASK;
diff --git a/drivers/scsi/hpsa_cmd.h b/drivers/scsi/hpsa_cmd.h
index 21a726e2eec6..f6afca4b2319 100644
--- a/drivers/scsi/hpsa_cmd.h
+++ b/drivers/scsi/hpsa_cmd.h
@@ -517,6 +517,7 @@ struct ioaccel2_sg_element {
517 u8 reserved[3]; 517 u8 reserved[3];
518 u8 chain_indicator; 518 u8 chain_indicator;
519#define IOACCEL2_CHAIN 0x80 519#define IOACCEL2_CHAIN 0x80
520#define IOACCEL2_LAST_SG 0x40
520}; 521};
521 522
522/* 523/*