Daniel Mack <daniel@xxxxxxxxxx> writes: > Hi Loic, > > On Wednesday, April 11, 2018 03:30 PM, Loic Poulain wrote: >>> /* Move the head of the ring to the next empty descriptor */ >>> - ch->head_blk_ctl = ctl->next; >>> + ch->head_blk_ctl = ctl_skb->next; >>> + >>> + /* Commit all previous writes and set descriptors to VALID */ >>> + wmb(); >> >> Is this first memory barrier really needed? from what I understand, we >> only need to ensure that the control descriptor is marked valid at the >> end of the procedure and we don't really care about the paylod one. >> >>> + desc_skb->ctrl = ch->ctrl_skb; >>> + wmb(); >>> + desc_bd->ctrl = ch->ctrl_bd; >>> >>> /* >>> * When connected and trying to send data frame chip can be in sleep >> >> Otherwise, patch makes sense. > > This patch has somehow vanished from patchwork. It's still in patchwork, just in state RFC: https://patchwork.kernel.org/patch/10333553/ -- Kalle Valo