On Thu, Apr 18, 2024, at 20:32, Simon Horman wrote: > > Hi Niklas, > > I think that the use of __iowbm() means that this will not > compile for many architectures: grep indicates it > is only defined for arm, arm64, and arc. > > Perhaps COMPILE_TEST should be qualified somehow? >> + /* Re-enable TX/RX interrupts */ >> + spin_lock_irqsave(&priv->lock, flags); >> + rtsn_ctrl_data_irq(priv, true); >> + __iowmb(); >> + spin_unlock_irqrestore(&priv->lock, flags); I think this needs a comment anyway: what is this trying to serialize? The arm64 __iowmb() usually tries to ensure that a memory write to a coherent buffer is complete before a following writel() is sent to the bus, but this one appears to be after the writel() where it has no effect because the transaction may still be in flight on the bus after it has left the store buffer. Arnd