On Thu, Sep 20, 2018 at 08:30:29AM +0000, Avri Altman wrote: > > > + > > > + hba->dev_cmd.complete = &wait; > > > + > > > + /* Make sure descriptors are ready before ringing the doorbell */ > > > + wmb(); > > > + spin_lock_irqsave(hba->host->host_lock, flags); > > > + ufshcd_send_command(hba, tag); > > > > I think the above wmb() is taken care of by the writel() inside > > ufshcd_send_command. > Those barriers were added later (and the one in send_command() last), > explaining that there is a need to verify that the "..descriptors are > actually written to memory before ringing the doorbell..." This doesn't make much sense as the rest of the kernel relies on the fact the writel does not require a wmb(). But I guess we can keep the wmb() for now to match the rest of ufs, and deal with this issue later.