On Thu, Dec 20, 2018 at 05:44:18PM +0100, Thierry Reding wrote: > On Fri, Dec 07, 2018 at 11:07:20AM -0800, Christoph Hellwig wrote: > [...] > > diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c > > index 0b18cfbdde95..fc84c81029d9 100644 > > --- a/kernel/dma/mapping.c > > +++ b/kernel/dma/mapping.c > [...] > > @@ -397,9 +404,9 @@ int dma_supported(struct device *dev, u64 mask) > > { > > const struct dma_map_ops *ops = get_dma_ops(dev); > > > > - if (!ops) > > - return 0; > > - if (!ops->dma_supported) > > + if (dma_is_direct(ops)) > > + return dma_direct_supported(dev, mask); > > + if (ops->dma_supported) > > return 1; > > return ops->dma_supported(dev, mask); > > } > > Hi Christoph, > > This hunk causes a crash on boot for me. It looks like a ! got lost in > the rework here. The following patch fixes the crash for me and restores > the logic of the op->dma_supported check. > > Feel free to squash this patch into the above if you prefer that. I don't want to rebase, so I'll pick this up ASAP.