From: Claudiu Manoil <claudiu.man...@nxp.com> Date: Mon, 22 Feb 2016 10:14:37 +0000
> Let's take a random driver - igb, there is no wmb() between: > tx_desc->read.buffer_addr = cpu_to_le64(dma); > and > /* write last descriptor with RS and EOP bits */ > cmd_type |= size | IGB_TXD_DCMD; > tx_desc->read.cmd_type_len = cpu_to_le32(cmd_type); It may in fact be necessary and you should contact the driver maintainers about that. It is absolutely inappropriate to look for exceptions to a rule to prove that you don't have to deal with something. Yes, bugs or wrong handling of situations exist, but that doesn't give you an open door to do so as well.