diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-03-30 13:36:26 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2008-04-07 13:19:08 -0400 |
commit | f6b196a2f3058c6f70bb36ab61ff8aa996fca301 (patch) | |
tree | f913408a1d30e45a785a1ade0eeda00a3e75521e /drivers/scsi/hptiop.c | |
parent | a579dab1c19104fe82e864513cb17c6803dd7840 (diff) |
[SCSI] hptiop: fix header.context usage
header.context is a 64 bit field, but it's deliberately split into
context and context_hi32. Thus cpu_to_le64 assignments are wrong on
this. Replace them with the correct settings of both the low and high
words.
Cc: HighPoint Linux Team <linux@highpoint-tech.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/hptiop.c')
-rw-r--r-- | drivers/scsi/hptiop.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/hptiop.c b/drivers/scsi/hptiop.c index 44dccf2b6c8e..beecda991682 100644 --- a/drivers/scsi/hptiop.c +++ b/drivers/scsi/hptiop.c | |||
@@ -338,7 +338,8 @@ static int iop_get_config_mv(struct hptiop_hba *hba, | |||
338 | req->header.size = | 338 | req->header.size = |
339 | cpu_to_le32(sizeof(struct hpt_iop_request_get_config)); | 339 | cpu_to_le32(sizeof(struct hpt_iop_request_get_config)); |
340 | req->header.result = cpu_to_le32(IOP_RESULT_PENDING); | 340 | req->header.result = cpu_to_le32(IOP_RESULT_PENDING); |
341 | req->header.context = cpu_to_le64(IOP_REQUEST_TYPE_GET_CONFIG<<5); | 341 | req->header.context = cpu_to_le32(IOP_REQUEST_TYPE_GET_CONFIG<<5); |
342 | req->header.context_hi32 = 0; | ||
342 | 343 | ||
343 | if (iop_send_sync_request_mv(hba, 0, 20000)) { | 344 | if (iop_send_sync_request_mv(hba, 0, 20000)) { |
344 | dprintk("Get config send cmd failed\n"); | 345 | dprintk("Get config send cmd failed\n"); |
@@ -392,7 +393,8 @@ static int iop_set_config_mv(struct hptiop_hba *hba, | |||
392 | req->header.size = | 393 | req->header.size = |
393 | cpu_to_le32(sizeof(struct hpt_iop_request_set_config)); | 394 | cpu_to_le32(sizeof(struct hpt_iop_request_set_config)); |
394 | req->header.result = cpu_to_le32(IOP_RESULT_PENDING); | 395 | req->header.result = cpu_to_le32(IOP_RESULT_PENDING); |
395 | req->header.context = cpu_to_le64(IOP_REQUEST_TYPE_SET_CONFIG<<5); | 396 | req->header.context = cpu_to_le32(IOP_REQUEST_TYPE_SET_CONFIG<<5); |
397 | req->header.context_hi32 = 0; | ||
396 | 398 | ||
397 | if (iop_send_sync_request_mv(hba, 0, 20000)) { | 399 | if (iop_send_sync_request_mv(hba, 0, 20000)) { |
398 | dprintk("Set config send cmd failed\n"); | 400 | dprintk("Set config send cmd failed\n"); |