From: Benjamin Poirier <bpoir...@suse.com>
Date: Mon,  7 Nov 2016 17:57:56 +0800

> We received two reports of BUG_ON in bnad_txcmpl_process() where
> hw_consumer_index appeared to be ahead of producer_index. Out of order
> write/read of these variables could explain these reports.
> 
> bnad_start_xmit(), as a producer of tx descriptors, has a few memory
> barriers sprinkled around writes to producer_index and the device's
> doorbell but they're not paired with anything in bnad_txcmpl_process(), a
> consumer.
> 
> Since we are synchronizing with a device, we must use mandatory barriers,
> not smp_*. Also, I didn't see the purpose of the last smp_mb() in
> bnad_start_xmit().
> 
> Signed-off-by: Benjamin Poirier <bpoir...@suse.com>

Applied.

Reply via email to