From patchwork Wed Apr 12 17:43:37 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 97326 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp374293qgf; Wed, 12 Apr 2017 10:44:18 -0700 (PDT) X-Received: by 10.98.89.70 with SMTP id n67mr67217751pfb.224.1492019058757; Wed, 12 Apr 2017 10:44:18 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j29si17209540pfj.125.2017.04.12.10.44.18; Wed, 12 Apr 2017 10:44:18 -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 S1755407AbdDLRoP (ORCPT + 6 others); Wed, 12 Apr 2017 13:44:15 -0400 Received: from mail-pg0-f50.google.com ([74.125.83.50]:33660 "EHLO mail-pg0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752057AbdDLRoK (ORCPT ); Wed, 12 Apr 2017 13:44:10 -0400 Received: by mail-pg0-f50.google.com with SMTP id x125so18158191pgb.0 for ; Wed, 12 Apr 2017 10:44:10 -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=67zwpDSwzzseEn0mOPJ+tcd9kp2QD4TSIfiNXkeYLnU=; b=j+2Rcixc5BkdT90s8nrr3/EX577ZmVCPl3APwYUc0MzXHaFGOQD10wQRXZW9gYBw1N 9LjZ8csuER0FmNFDfgN67KHVCGxF2GG/6qRryY6+LA6tOrza0uoSbBwWDsYz7GwpY69v lla0AmkgMuPOUkjTqWMDtLHE+MPHYjra2NsPI= 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=67zwpDSwzzseEn0mOPJ+tcd9kp2QD4TSIfiNXkeYLnU=; b=m42i8Afbyd011RnBbj4iObChLEM/elTmYtbAN+RrS+DiZ356Q9PmipkSSUQKUBHudi 95dzVdeSdOUEmXUk8CsnEvouCQOgxBzfUyrY8w8D/12t/uvsnMa40z1MA7yrF0GkmA4/ k/oM/HjM++G6W+I5+qGJHbgM8ONcKrzs5vpApk7eNF6Z/x914CC4jhjqodtPBWnQabUn va1V+6WQLIdx47pO4gsJNDcVBAfsmlW3uX8gfkbeJT9ITJt1Bfp1DXKh2IKYIKVQxlD2 N7r2iaoFR64CrRJEBXBBj9B2K2zQojjZMEX8Zr0Vfgywy1CNfcV3VyispW23tOiE0oiD xHcw== X-Gm-Message-State: AFeK/H1BG3cKEgPQvIgFbZGfRYO0xxiSooF9YZZ3dmuIKBDD2BJGiGY8MypD791s90iVRrbj X-Received: by 10.99.156.2 with SMTP id f2mr47825062pge.65.1492019049989; Wed, 12 Apr 2017 10:44:09 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id r17sm37750019pfa.13.2017.04.12.10.44.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 12 Apr 2017 10:44:08 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Eugenia Emantayev , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [v2 PATCH for-4.4 03/16] net/mlx4_en: Fix bad WQE issue Date: Wed, 12 Apr 2017 23:13:37 +0530 Message-Id: <1492019030-13567-4-git-send-email-sumit.semwal@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1492019030-13567-1-git-send-email-sumit.semwal@linaro.org> References: <1492019030-13567-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 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;