All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Denis Bolotin <denis.bolotin@cavium.com>,
	Michal Kalderon <michal.kalderon@cavium.com>,
	"David S . Miller" <davem@davemloft.net>,
	Sasha Levin <sashal@kernel.org>,
	netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.9 10/18] qed: Fix reading wrong value in loop condition
Date: Thu, 29 Nov 2018 01:03:22 -0500	[thread overview]
Message-ID: <20181129060331.160224-10-sashal@kernel.org> (raw)
In-Reply-To: <20181129060331.160224-1-sashal@kernel.org>

From: Denis Bolotin <denis.bolotin@cavium.com>

[ Upstream commit ed4eac20dcffdad47709422e0cb925981b056668 ]

The value of "sb_index" is written by the hardware. Reading its value and
writing it to "index" must finish before checking the loop condition.

Signed-off-by: Denis Bolotin <denis.bolotin@cavium.com>
Signed-off-by: Michal Kalderon <michal.kalderon@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/net/ethernet/qlogic/qed/qed_int.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/qlogic/qed/qed_int.c b/drivers/net/ethernet/qlogic/qed/qed_int.c
index 2adedc6fb6cf..fd19372db2f8 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_int.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_int.c
@@ -2135,6 +2135,8 @@ static int qed_int_attentions(struct qed_hwfn *p_hwfn)
 	 */
 	do {
 		index = p_sb_attn->sb_index;
+		/* finish reading index before the loop condition */
+		dma_rmb();
 		attn_bits = le32_to_cpu(p_sb_attn->atten_bits);
 		attn_acks = le32_to_cpu(p_sb_attn->atten_ack);
 	} while (index != p_sb_attn->sb_index);
-- 
2.17.1


  parent reply	other threads:[~2018-11-29  6:04 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29  6:03 [PATCH AUTOSEL 4.9 01/18] media: omap3isp: Unregister media device as first Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 02/18] iommu/vt-d: Fix NULL pointer dereference in prq_event_thread() Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 03/18] brcmutil: really fix decoding channel info for 160 MHz bandwidth Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 04/18] iommu/ipmmu-vmsa: Fix crash on early domain free Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 05/18] can: rcar_can: Fix erroneous registration Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 06/18] HID: input: Ignore battery reported by Symbol DS4308 Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 07/18] batman-adv: Expand merged fragment buffer for full packet Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 08/18] bnx2x: Assign unique DMAE channel number for FW DMAE transactions Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 09/18] qed: Fix PTT leak in qed_drain() Sasha Levin
2018-11-29  6:03 ` Sasha Levin [this message]
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 11/18] net/mlx4_core: Zero out lkey field in SW2HW_MPT fw command Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 12/18] net/mlx4_core: Fix uninitialized variable compilation warning Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 13/18] net/mlx4: Fix UBSAN warning of signed integer overflow Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 14/18] mtd: rawnand: qcom: Namespace prefix some commands Sasha Levin
2018-11-29  6:03   ` Sasha Levin
2018-11-29  6:03   ` Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 15/18] net: faraday: ftmac100: remove netif_running(netdev) check before disabling interrupts Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 16/18] iommu/vt-d: Use memunmap to free memremap Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 17/18] team: no need to do team_notify_peers or team_mcast_rejoin when disabling port Sasha Levin
2018-11-29  6:03 ` [PATCH AUTOSEL 4.9 18/18] net: amd: add missing of_node_put() Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181129060331.160224-10-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=davem@davemloft.net \
    --cc=denis.bolotin@cavium.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=michal.kalderon@cavium.com \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.