X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=kernel%2Fdma%2Fdirect.c;fp=kernel%2Fdma%2Fdirect.c;h=355d16acee6dd17aa7998d1ea55a6abcb3e01e92;hb=af7ddd8a627c62a835524b3f5b471edbbbcce025;hp=79da61b49fa4a33065ff3564eb85da742bf38bf6;hpb=8b1cce9f5832a8eda17d37a3c49fb7dd2d650f46;p=linux-2.6-microblaze.git diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c index 79da61b49fa4..355d16acee6d 100644 --- a/kernel/dma/direct.c +++ b/kernel/dma/direct.c @@ -373,5 +373,10 @@ int dma_direct_supported(struct device *dev, u64 mask) min_mask = min_t(u64, min_mask, (max_pfn - 1) << PAGE_SHIFT); - return mask >= phys_to_dma(dev, min_mask); + /* + * This check needs to be against the actual bit mask value, so + * use __phys_to_dma() here so that the SME encryption mask isn't + * part of the check. + */ + return mask >= __phys_to_dma(dev, min_mask); }