summaryrefslogtreecommitdiffstats
path: root/fs/fcntl.c
diff options
context:
space:
mode:
authorBenjamin Poirier2016-11-07 10:57:56 +0100
committerDavid S. Miller2016-11-09 19:31:10 +0100
commitd667f78514c656a6a8bf0b3d6134a7fe5cd4d317 (patch)
tree7ed61aa920207a95b8f1bbcfb89d6623f0336e37 /fs/fcntl.c
parentRevert "net/mlx4_en: Fix panic during reboot" (diff)
downloadkernel-qcow2-linux-d667f78514c656a6a8bf0b3d6134a7fe5cd4d317.tar.gz
kernel-qcow2-linux-d667f78514c656a6a8bf0b3d6134a7fe5cd4d317.tar.xz
kernel-qcow2-linux-d667f78514c656a6a8bf0b3d6134a7fe5cd4d317.zip
bna: Add synchronization for tx ring.
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 <bpoirier@suse.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'fs/fcntl.c')
0 files changed, 0 insertions, 0 deletions