|
@@ -1316,7 +1316,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
|
|
|
|
|
|
tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
|
|
|
|
|
|
- if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
+ if (tmo == 0 ||
|
|
|
+ dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
dev_err(dev, "Self-test xor timed out\n");
|
|
|
err = -ENODEV;
|
|
|
goto dma_unmap;
|
|
@@ -1382,7 +1383,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
|
|
|
|
|
|
tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
|
|
|
|
|
|
- if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
+ if (tmo == 0 ||
|
|
|
+ dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
dev_err(dev, "Self-test validate timed out\n");
|
|
|
err = -ENODEV;
|
|
|
goto dma_unmap;
|
|
@@ -1434,7 +1436,8 @@ static int ioat_xor_val_self_test(struct ioatdma_device *device)
|
|
|
|
|
|
tmo = wait_for_completion_timeout(&cmp, msecs_to_jiffies(3000));
|
|
|
|
|
|
- if (dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
+ if (tmo == 0 ||
|
|
|
+ dma->device_tx_status(dma_chan, cookie, NULL) != DMA_COMPLETE) {
|
|
|
dev_err(dev, "Self-test 2nd validate timed out\n");
|
|
|
err = -ENODEV;
|
|
|
goto dma_unmap;
|