From patchwork Wed Apr 12 17:36:33 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 97320 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp371917qgf; Wed, 12 Apr 2017 10:37:01 -0700 (PDT) X-Received: by 10.84.199.170 with SMTP id r39mr83855563pld.144.1492018621643; Wed, 12 Apr 2017 10:37:01 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id i63si21086788pgc.265.2017.04.12.10.37.01; Wed, 12 Apr 2017 10:37:01 -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 S1754496AbdDLRhA (ORCPT + 6 others); Wed, 12 Apr 2017 13:37:00 -0400 Received: from mail-pg0-f53.google.com ([74.125.83.53]:33848 "EHLO mail-pg0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754490AbdDLRhA (ORCPT ); Wed, 12 Apr 2017 13:37:00 -0400 Received: by mail-pg0-f53.google.com with SMTP id 21so18078576pgg.1 for ; Wed, 12 Apr 2017 10:37:00 -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=n17wPTxNRCpaz9PX+cUyQhrT5erB5Z7+nCioW5jpEUs=; b=hosfbAggVQwQYGVHBQBmFkz8usQJhHU6n7HLwXFGPQENWW1zSEVdbU2Vc5cOfBDiZj cdAhEpaAXdbld2u45eY2GHSUrTqWKqgwqexmaO+7j+QAZi7l28hZHawL5SGuvewbHNBE kbtE0H6nMycjV0MVO9sVgYs4loP0y7u5vdG+o= 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=n17wPTxNRCpaz9PX+cUyQhrT5erB5Z7+nCioW5jpEUs=; b=TAxGEx7ymroUkwhdq/A+PRKcR1av7P4u174LUxbNBktFQZnUKMbJRxjUkz3g3DkqVZ QVmgaHWUw2OJ9aGFr/1kgFSxAGD0gEM8NwLw1nUzYOt0xZIXNoQcX4dsxROUrc8/7b0d y/y4l7ijJh8raUYQiSe3lxXbeCjYgLqwNQqZq/sr/uifIWNxYzp6naDEjRuF/eebcM4Y jBcrT1s1LP+I7hoCZPYSIF4JQMRI1obUcQfkvuiqVE/TL+Jyt0OmcmyG7iT+/IeW128V 1vcP0kbc1sjpH9EHpf/NTLHnV+HshY/eXg3mW2vs0UKT47eSfrZ63oaDAP/G6GbyXRBT Higg== X-Gm-Message-State: AFeK/H38/AQ/YbaE4uo+PtD06Dt0Q2PqZKuvHlcKKODGBpyn92TfRp3tFq2ipXbGstIIXEMC X-Received: by 10.84.137.1 with SMTP id 1mr83785192plm.68.1492018619418; Wed, 12 Apr 2017 10:36:59 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id 133sm31562648pfy.106.2017.04.12.10.36.56 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 12 Apr 2017 10:36:58 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Eugenia Emantayev , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [PATCH for-4.9 3/5] net/mlx4_en: Fix bad WQE issue Date: Wed, 12 Apr 2017 23:06:33 +0530 Message-Id: <1492018595-13167-4-git-send-email-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1492018595-13167-1-git-send-email-sumit.semwal@linaro.org> References: <1492018595-13167-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 --- 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 4d3ddc2..5d48458 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -444,8 +444,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;