From patchwork Wed Apr 12 17:43:35 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 97324 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp374289qgf; Wed, 12 Apr 2017 10:44:18 -0700 (PDT) X-Received: by 10.98.65.1 with SMTP id o1mr67149942pfa.221.1492019058198; 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.17; 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 S1752372AbdDLRoI (ORCPT + 6 others); Wed, 12 Apr 2017 13:44:08 -0400 Received: from mail-pf0-f171.google.com ([209.85.192.171]:34031 "EHLO mail-pf0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755161AbdDLRoE (ORCPT ); Wed, 12 Apr 2017 13:44:04 -0400 Received: by mail-pf0-f171.google.com with SMTP id c198so16975967pfc.1 for ; Wed, 12 Apr 2017 10:44:04 -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=AEZKrYJWPrcoOIprXMfUvjQWwMFTkyg83QVrp4VTiFk=; b=axE2nXLFYnRui9/SFqmnY/byEotE+FpAHQCkyraQRJxliklLSCsf+Fkyx0Bn78jehD b4pw5m+SRDRbt1KNuFic0Ha5TbIvoXiKGWCCS82geNu6NpKaoIU/cmS9bRGFYE44ArUv BVxeEHeYnkiNBlFu02/6b9z2rTN1aLw8or3Yw= 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=AEZKrYJWPrcoOIprXMfUvjQWwMFTkyg83QVrp4VTiFk=; b=ZOwse2mXSMrsoOMOCSRcrVE0YkmjsdrRGdAA0gOG3qdJxAznMLx8ruh2tbicnPHVAt la4fXOjYdc6xMf461DlObtW60tgGOqc1poQeGevdLub4sLMzOccShV/XldW63LMoqCf7 UEjySlDWzD3C7YuK/rONznhmqNiWB8pcylpy2srGrBWeKKMc/AsgqXn4ne0TBI3buu2I VbksH/Xywt63LGeVKz+Iep7Rq6lt9gmbhdx65q1v0EtWVn8mlbA+0GO9bexBPKbQievD eEUFmXE9/g7AnskXMfl8XKYheXHo8tFBzb/Iks1Sl2KoGTKChRaMD6acgs1pEGnkDoji F1kw== X-Gm-Message-State: AFeK/H2C83QaXvjurfKEYmLifmkNbGI+SMrGLxGEbM6VLXgNE9z8K763YrT0WoCYWPviKeQ3 X-Received: by 10.84.241.74 with SMTP id u10mr44175811plm.28.1492019043684; Wed, 12 Apr 2017 10:44:03 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id r17sm37750019pfa.13.2017.04.12.10.44.00 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 12 Apr 2017 10:44:02 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Jack Morgenstein , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [v2 PATCH for-4.4 01/16] net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions Date: Wed, 12 Apr 2017 23:13:35 +0530 Message-Id: <1492019030-13567-2-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: Jack Morgenstein [ Upstream commit 7c3945bc2073554bb2ecf983e073dee686679c53 ] Save the qp context flags byte containing the flag disabling vlan stripping in the RESET to INIT qp transition, rather than in the INIT to RTR transition. Per the firmware spec, the flags in this byte are active in the RESET to INIT transition. As a result of saving the flags in the incorrect qp transition, when switching dynamically from VGT to VST and back to VGT, the vlan remained stripped (as is required for VST) and did not return to not-stripped (as is required for VGT). v2: correct upstream commit. Fixes: f0f829bf42cd ("net/mlx4_core: Add immediate activate for VGT->VST->VGT") Signed-off-by: Jack Morgenstein Signed-off-by: Tariq Toukan Signed-off-by: David S. Miller Signed-off-by: Sumit Semwal --- drivers/net/ethernet/mellanox/mlx4/resource_tracker.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- 2.7.4 diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c index d314d96..d1fc7fa 100644 --- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c @@ -2955,6 +2955,9 @@ int mlx4_RST2INIT_QP_wrapper(struct mlx4_dev *dev, int slave, put_res(dev, slave, srqn, RES_SRQ); qp->srq = srq; } + + /* Save param3 for dynamic changes from VST back to VGT */ + qp->param3 = qpc->param3; put_res(dev, slave, rcqn, RES_CQ); put_res(dev, slave, mtt_base, RES_MTT); res_end_move(dev, slave, RES_QP, qpn); @@ -3747,7 +3750,6 @@ int mlx4_INIT2RTR_QP_wrapper(struct mlx4_dev *dev, int slave, int qpn = vhcr->in_modifier & 0x7fffff; struct res_qp *qp; u8 orig_sched_queue; - __be32 orig_param3 = qpc->param3; u8 orig_vlan_control = qpc->pri_path.vlan_control; u8 orig_fvl_rx = qpc->pri_path.fvl_rx; u8 orig_pri_path_fl = qpc->pri_path.fl; @@ -3789,7 +3791,6 @@ out: */ if (!err) { qp->sched_queue = orig_sched_queue; - qp->param3 = orig_param3; qp->vlan_control = orig_vlan_control; qp->fvl_rx = orig_fvl_rx; qp->pri_path_fl = orig_pri_path_fl;