On 06-07-20, 07:33, Dave Jiang wrote:
I don't see anything suspicious in dmaengine drivers, but there is a recent series from Dave Jiang that might explain it. Could you try reverting commit deb9541f5052 ("dmaengine: check device and channel list for empty")?
I think the broken change is this one:
@@ -819,6 +850,11 @@ struct dma_chan *dma_request_chan(struct device *dev, const char *name)
/* Try to find the channel via the DMA filter map(s) */ mutex_lock(&dma_list_mutex);
if (list_empty(&dma_device_list)) {
mutex_unlock(&dma_list_mutex);
return NULL;
}
list_for_each_entry_safe(d, _d, &dma_device_list, global_node) { dma_cap_mask_t mask; const struct dma_slave_map *map = dma_filter_match(d,
name, dev);
which needs to return an error code like -ENODEV instead of NULL. There may be other changes in the same patch that introduce the same bug elsewhere.
Arnd
Vinod, Do you want a diff fix or a revision of the patch for the fix?
Diff fix please