Browse Source

hisi_sas: Use u64 for qw0 in free_device_v1_hw()

By reading in itct.qw0 into a 32b variable the top 32 bits were being
lost.  In practice this was OK as they were zeroes.

Fixes: 27a3f229 ("hisi_sas: Add cq interrupt")

Signed-off-by: John Garry <john.garry@huawei.com>
Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Reviewed-by: Shane Seymour <shane.seymour@hpe.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
John Garry 9 years ago
parent
commit
4e09bff330
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/scsi/hisi_sas/hisi_sas_v1_hw.c

+ 2 - 1
drivers/scsi/hisi_sas/hisi_sas_v1_hw.c

@@ -539,7 +539,8 @@ static void free_device_v1_hw(struct hisi_hba *hisi_hba,
 {
 	u64 dev_id = sas_dev->device_id;
 	struct hisi_sas_itct *itct = &hisi_hba->itct[dev_id];
-	u32 qw0, reg_val = hisi_sas_read32(hisi_hba, CFG_AGING_TIME);
+	u64 qw0;
+	u32 reg_val = hisi_sas_read32(hisi_hba, CFG_AGING_TIME);
 
 	reg_val |= CFG_AGING_TIME_ITCT_REL_MSK;
 	hisi_sas_write32(hisi_hba, CFG_AGING_TIME, reg_val);