Merge tag 'dmaengine-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine
Pull dmaengine fixes from Dan Williams: 1/ regression fix for Xen as it now trips over a broken assumption about the dma address size on 32-bit builds 2/ new quirk for netdma to ignore dma channels that cannot meet netdma alignment requirements 3/ fixes for two long standing issues in ioatdma (ring size overflow) and iop-adma (potential stack corruption) * tag 'dmaengine-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine: netdma: adding alignment check for NETDMA ops ioatdma: DMA copy alignment needed to address IOAT DMA silicon errata ioat: ring size variables need to be 32bit to avoid overflow iop-adma: Corrected array overflow in RAID6 Xscale(R) test. ioat: fix size of 'completion' for Xen
This commit is contained in:
@@ -332,6 +332,20 @@ struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type)
|
||||
}
|
||||
EXPORT_SYMBOL(dma_find_channel);
|
||||
|
||||
/*
|
||||
* net_dma_find_channel - find a channel for net_dma
|
||||
* net_dma has alignment requirements
|
||||
*/
|
||||
struct dma_chan *net_dma_find_channel(void)
|
||||
{
|
||||
struct dma_chan *chan = dma_find_channel(DMA_MEMCPY);
|
||||
if (chan && !is_dma_copy_aligned(chan->device, 1, 1, 1))
|
||||
return NULL;
|
||||
|
||||
return chan;
|
||||
}
|
||||
EXPORT_SYMBOL(net_dma_find_channel);
|
||||
|
||||
/**
|
||||
* dma_issue_pending_all - flush all pending operations across all channels
|
||||
*/
|
||||
|
Reference in New Issue
Block a user