summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat_dma.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-12-23 16:24:15 +0100
committerIngo Molnar <mingo@elte.hu>2008-12-23 16:24:15 +0100
commitbf8bd66d0580f296f257d371ee41a0a137b541c7 (patch)
tree4c7f7471005b4436d40ba52edd51214d12331f25 /drivers/dma/ioat_dma.c
parent8ae936690972dfcad73d0dde1095b9f32af5ee95 (diff)
parent1ccedb7cdba6886939dd8b4c8f965a826f696e56 (diff)
downloadtalos-obmc-linux-bf8bd66d0580f296f257d371ee41a0a137b541c7.tar.gz
talos-obmc-linux-bf8bd66d0580f296f257d371ee41a0a137b541c7.zip
Merge branch 'x86/apic' into x86/irq
Conflicts: arch/x86/kernel/apic.c
Diffstat (limited to 'drivers/dma/ioat_dma.c')
-rw-r--r--drivers/dma/ioat_dma.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/ioat_dma.c b/drivers/dma/ioat_dma.c
index ecd743f7cc61..6607fdd00b1c 100644
--- a/drivers/dma/ioat_dma.c
+++ b/drivers/dma/ioat_dma.c
@@ -1341,10 +1341,12 @@ static void ioat_dma_start_null_desc(struct ioat_dma_chan *ioat_chan)
*/
#define IOAT_TEST_SIZE 2000
+DECLARE_COMPLETION(test_completion);
static void ioat_dma_test_callback(void *dma_async_param)
{
printk(KERN_ERR "ioatdma: ioat_dma_test_callback(%p)\n",
dma_async_param);
+ complete(&test_completion);
}
/**
@@ -1410,7 +1412,8 @@ static int ioat_dma_self_test(struct ioatdma_device *device)
goto free_resources;
}
device->common.device_issue_pending(dma_chan);
- msleep(1);
+
+ wait_for_completion_timeout(&test_completion, msecs_to_jiffies(3000));
if (device->common.device_is_tx_complete(dma_chan, cookie, NULL, NULL)
!= DMA_SUCCESS) {
OpenPOWER on IntegriCloud