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 8c504b4..a762b25 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;
                }