Hi Christoph On Thu, 15 Dec 2022 at 13:48, Christoph Hellwig <hch@xxxxxx> wrote: > > On Thu, Dec 15, 2022 at 11:57:19AM +0100, Ricardo Ribalda wrote: > > + /* > > + * Ensure that status is aligned, making it safe to use with > > + * non-coherent DMA. > > + */ > > + struct uvc_status status __aligned(ARCH_KMALLOC_MINALIGN); > > This should be ARCH_DMA_MINALIGN, not ARCH_KMALLOC_MINALIGN. > > Note that without an __aligned tag on the next member as well, those > next members might get cache corrupted. > > > > > struct input_dev *input; > > .. and without also aligning the next member you'll might still > corrupt everything adter the DMAed member. > > That's the reason why I generall advocate against playing these > __aligned games as they can easily go wrong if someone reorders > the structure. Thanks a lot for the explanation. I agree, we should keep the allocation as it is :). Sorry for the noise Best regards! -- Ricardo Ribalda