Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 351d6631 authored by Denis Bolotin's avatar Denis Bolotin Committed by Greg Kroah-Hartman
Browse files

qed: Fix qed_ll2_post_rx_buffer_notify_fw() by adding a write memory barrier



[ Upstream commit 46721c3d9e273aea880e9ff835b0e1271e1cd2fb ]

Make sure chain element is updated before ringing the doorbell.

Signed-off-by: default avatarDenis Bolotin <dbolotin@marvell.com>
Signed-off-by: default avatarAriel Elior <aelior@marvell.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent f98bcfad
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1013,6 +1013,10 @@ static void qed_ll2_post_rx_buffer_notify_fw(struct qed_hwfn *p_hwfn,
	cq_prod = qed_chain_get_prod_idx(&p_rx->rcq_chain);
	rx_prod.bd_prod = cpu_to_le16(bd_prod);
	rx_prod.cqe_prod = cpu_to_le16(cq_prod);

	/* Make sure chain element is updated before ringing the doorbell */
	dma_wmb();

	DIRECT_REG_WR(p_rx->set_prod_addr, *((u32 *)&rx_prod));
}