scsi: hisi_sas: fix v2 hw underflow residual value
authorXiang Chen <chenxiang66@hisilicon.com>
Thu, 10 Aug 2017 16:09:28 +0000 (00:09 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 11 Aug 2017 00:15:01 +0000 (20:15 -0400)
The value dw0 is the residual bytes when UNDERFLOW error happens, but we
filled the residual with the value of dw3 before. So change the residual
from dw3 to dw0.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_v2_hw.c

index 8c504b4375673f397f52198d1c727edb8c78f87b..a762b259f68fe689b08ff699a108feff2516a745 100644 (file)
@@ -1972,7 +1972,7 @@ static void slot_err_v2_hw(struct hisi_hba *hisi_hba,
                }
                case DMA_RX_DATA_LEN_UNDERFLOW:
                {
-                       ts->residual = dma_rx_err_type;
+                       ts->residual = trans_tx_fail_type;
                        ts->stat = SAS_DATA_UNDERRUN;
                        break;
                }
@@ -2098,7 +2098,7 @@ static void slot_err_v2_hw(struct hisi_hba *hisi_hba,
                }
                case DMA_RX_DATA_LEN_UNDERFLOW:
                {
-                       ts->residual = dma_rx_err_type;
+                       ts->residual = trans_tx_fail_type;
                        ts->stat = SAS_DATA_UNDERRUN;
                        break;
                }