From: James Bottomley Date: Sun, 30 Mar 2008 17:36:26 +0000 (-0500) Subject: [SCSI] hptiop: fix header.context usage X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=f6b196a2f3058c6f70bb36ab61ff8aa996fca301;p=openwrt%2Fstaging%2Fblogic.git [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 Signed-off-by: James Bottomley --- 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, req->header.size = cpu_to_le32(sizeof(struct hpt_iop_request_get_config)); req->header.result = cpu_to_le32(IOP_RESULT_PENDING); - req->header.context = cpu_to_le64(IOP_REQUEST_TYPE_GET_CONFIG<<5); + req->header.context = cpu_to_le32(IOP_REQUEST_TYPE_GET_CONFIG<<5); + req->header.context_hi32 = 0; if (iop_send_sync_request_mv(hba, 0, 20000)) { dprintk("Get config send cmd failed\n"); @@ -392,7 +393,8 @@ static int iop_set_config_mv(struct hptiop_hba *hba, req->header.size = cpu_to_le32(sizeof(struct hpt_iop_request_set_config)); req->header.result = cpu_to_le32(IOP_RESULT_PENDING); - req->header.context = cpu_to_le64(IOP_REQUEST_TYPE_SET_CONFIG<<5); + req->header.context = cpu_to_le32(IOP_REQUEST_TYPE_SET_CONFIG<<5); + req->header.context_hi32 = 0; if (iop_send_sync_request_mv(hba, 0, 20000)) { dprintk("Set config send cmd failed\n");