scsi: hisi_sas: Fix warnings detected by sparse
authorXingui Yang <yangxingui@huawei.com>
Mon, 15 May 2023 02:41:21 +0000 (10:41 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 May 2023 01:36:40 +0000 (21:36 -0400)
This patch fixes the following warning:

drivers/scsi/hisi_sas/hisi_sas_v3_hw.c:2168:43: sparse: sparse: restricted __le32 degrades to integer

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/oe-kbuild-all/202304161254.NztCVZIO-lkp@intel.com/
Signed-off-by: Xingui Yang <yangxingui@huawei.com>
Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Link: https://lore.kernel.org/r/1684118481-95908-4-git-send-email-chenxiang66@hisilicon.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v3_hw.c

index 3d1869c4cb10b3fc09855a767215e9e5ce7c9355..20e1607c62828b4c774ff1be7cabe7e6e7e85e23 100644 (file)
@@ -2216,6 +2216,7 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task,
        u32 trans_tx_fail_type = le32_to_cpu(record->trans_tx_fail_type);
        u16 sipc_rx_err_type = le16_to_cpu(record->sipc_rx_err_type);
        u32 dw3 = le32_to_cpu(complete_hdr->dw3);
+       u32 dw0 = le32_to_cpu(complete_hdr->dw0);
 
        switch (task->task_proto) {
        case SAS_PROTOCOL_SSP:
@@ -2225,8 +2226,8 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task,
                         * but I/O information has been written to the host memory, we examine
                         * response IU.
                         */
-                       if (!(complete_hdr->dw0 & CMPLT_HDR_RSPNS_GOOD_MSK) &&
-                               (complete_hdr->dw0 & CMPLT_HDR_RSPNS_XFRD_MSK))
+                       if (!(dw0 & CMPLT_HDR_RSPNS_GOOD_MSK) &&
+                           (dw0 & CMPLT_HDR_RSPNS_XFRD_MSK))
                                return false;
 
                        ts->residual = trans_tx_fail_type;
@@ -2242,7 +2243,7 @@ slot_err_v3_hw(struct hisi_hba *hisi_hba, struct sas_task *task,
        case SAS_PROTOCOL_SATA:
        case SAS_PROTOCOL_STP:
        case SAS_PROTOCOL_SATA | SAS_PROTOCOL_STP:
-               if ((complete_hdr->dw0 & CMPLT_HDR_RSPNS_XFRD_MSK) &&
+               if ((dw0 & CMPLT_HDR_RSPNS_XFRD_MSK) &&
                    (sipc_rx_err_type & RX_FIS_STATUS_ERR_MSK)) {
                        ts->stat = SAS_PROTO_RESPONSE;
                } else if (dma_rx_err_type & RX_DATA_LEN_UNDERFLOW_MSK) {