On Jun 10 2019, Larry Finger <Larry.Finger@xxxxxxxxxxxx> wrote: > I do not understand why the if statement returns true as neither of the > values is zero. That's because the format string does not make any sense. You are printing garbage. > diff --git a/kernel/dma/mapping.c b/kernel/dma/mapping.c > index f7afdad..ba2489d 100644 > --- a/kernel/dma/mapping.c > +++ b/kernel/dma/mapping.c > @@ -317,9 +317,12 @@ int dma_supported(struct device *dev, u64 mask) > > int dma_set_mask(struct device *dev, u64 mask) > { > + pr_info("mask 0x%llx, dma_mask 0x%llx, dma_supported 0x%llx\n", > mask, dev->dma_mask, > + dma_supported(dev, mask)); None of the format directives match the type of the arguments. Andreas. -- Andreas Schwab, schwab@xxxxxxxxxxxxxx GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."