[SCSI] mvsas: bug fix with setting task management frame type
Correct frame type setting according to parameter. Signed-off-by: Ying Chu <jasonchu@marvell.com> Signed-off-by: Andy Yan <ayan@marvell.com> Signed-off-by: Ke Wei <kewei@marvell.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
This commit is contained in:
parent
6ff63896e5
commit
2b288133ab
1 changed files with 5 additions and 3 deletions
|
@ -761,9 +761,11 @@ static int mvs_task_prep_ssp(struct mvs_info *mvi,
|
||||||
flags |= MCH_FBURST;
|
flags |= MCH_FBURST;
|
||||||
fburst = (1 << 7);
|
fburst = (1 << 7);
|
||||||
}
|
}
|
||||||
hdr->flags = cpu_to_le32(flags |
|
if (is_tmf)
|
||||||
(tei->n_elem << MCH_PRD_LEN_SHIFT) |
|
flags |= (MCH_SSP_FR_TASK << MCH_SSP_FR_TYPE_SHIFT);
|
||||||
(MCH_SSP_FR_CMD << MCH_SSP_FR_TYPE_SHIFT));
|
else
|
||||||
|
flags |= (MCH_SSP_FR_CMD << MCH_SSP_FR_TYPE_SHIFT);
|
||||||
|
hdr->flags = cpu_to_le32(flags | (tei->n_elem << MCH_PRD_LEN_SHIFT));
|
||||||
hdr->tags = cpu_to_le32(tag);
|
hdr->tags = cpu_to_le32(tag);
|
||||||
hdr->data_len = cpu_to_le32(task->total_xfer_len);
|
hdr->data_len = cpu_to_le32(task->total_xfer_len);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue