From patchwork Mon Apr 10 17:44:19 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 97197 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1456343obc; Mon, 10 Apr 2017 10:45:27 -0700 (PDT) X-Received: by 10.99.149.16 with SMTP id p16mr56898575pgd.112.1491846327797; Mon, 10 Apr 2017 10:45:27 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id n3si14186684pfk.174.2017.04.10.10.45.27; Mon, 10 Apr 2017 10:45:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753953AbdDJRpU (ORCPT + 5 others); Mon, 10 Apr 2017 13:45:20 -0400 Received: from mail-pf0-f176.google.com ([209.85.192.176]:32868 "EHLO mail-pf0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753825AbdDJRpS (ORCPT ); Mon, 10 Apr 2017 13:45:18 -0400 Received: by mail-pf0-f176.google.com with SMTP id s16so36624726pfs.0 for ; Mon, 10 Apr 2017 10:45:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=A3wkWwk2XBOKz4a1YQ6ILb+VduwbK0ysFEMwUdeXyfg=; b=AVlWJfxVl8OijI5NzAW0Kw4NsX7cRCbYAAAKWb2VAS+BFbO+XD+mpOQ91t9gjW/lbS Nofv6pt+cEJGvSKb90Q6Aej/GqRuNwigpzP+Uj7pLH6v7RajYOUs9ftEIQAawdwIkvaz sgK8kAQF28x9GuU/YfIXi41z50uV3OK695Qac= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=A3wkWwk2XBOKz4a1YQ6ILb+VduwbK0ysFEMwUdeXyfg=; b=qveXPC3JlgzI2/5wYbzm4ksnzgvjf2pnbK8ZHWl9NYIkfnuscbBQ8pRoxyr++BATW8 L32Jvgybq8Iud42jLHRNiMAiWBohP0+lVAg/e31xp4gJuMjIwtrqvL7d66Q0PPxNNlb5 V1brd2iF/Osv6HVcnbXxkB4OLPO6O7ABbFZAKa1BF2SvXoCaqNSwZaWLkPzml79mLKRA VtNPLe4nRENE2PCvUIraMWtS+QNvDxZJ1rlBjsvv1Sf/28dreFWRCil5Fcx+EoMLU3lf AbfL1ZqO7zTfIULIfS5z35nDTzjknaCI4gQblbPsDZLGPnxAI7cPfAB+MVvZ6QRG9Xpl 3y2Q== X-Gm-Message-State: AFeK/H2sSOkaHGPmwQ0n9TK8sPlbAZmkUQuwddcjTYiY3yaunPkFspOGT/8cW3gRe7s9RSJ3 X-Received: by 10.98.222.70 with SMTP id h67mr55459537pfg.43.1491846317397; Mon, 10 Apr 2017 10:45:17 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id y6sm768833pfa.83.2017.04.10.10.45.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 10 Apr 2017 10:45:16 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Eugenia Emantayev , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [PATCH for-4.4 03/16] net/mlx4_en: Fix bad WQE issue Date: Mon, 10 Apr 2017 23:14:19 +0530 Message-Id: <1491846272-14882-4-git-send-email-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1491846272-14882-1-git-send-email-sumit.semwal@linaro.org> References: <1491846272-14882-1-git-send-email-sumit.semwal@linaro.org> Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Eugenia Emantayev [Upstream commit 6496bbf0ec481966ef9ffe5b6660d8d1b55c60cc] Single send WQE in RX buffer should be stamped with software ownership in order to prevent the flow of QP in error in FW once UPDATE_QP is called. Fixes: 9f519f68cfff ('mlx4_en: Not using Shared Receive Queues') Signed-off-by: Eugenia Emantayev Signed-off-by: Tariq Toukan Signed-off-by: David S. Miller Signed-off-by: Sumit Semwal [sumits: cherry-picked for 4.4.y] --- drivers/net/ethernet/mellanox/mlx4/en_rx.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) -- 2.7.4 diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 28a4b34..82bf1b5 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -439,8 +439,14 @@ int mlx4_en_activate_rx_rings(struct mlx4_en_priv *priv) ring->cqn = priv->rx_cq[ring_ind]->mcq.cqn; ring->stride = stride; - if (ring->stride <= TXBB_SIZE) + if (ring->stride <= TXBB_SIZE) { + /* Stamp first unused send wqe */ + __be32 *ptr = (__be32 *)ring->buf; + __be32 stamp = cpu_to_be32(1 << STAMP_SHIFT); + *ptr = stamp; + /* Move pointer to start of rx section */ ring->buf += TXBB_SIZE; + } ring->log_stride = ffs(ring->stride) - 1; ring->buf_size = ring->size * ring->stride;