From patchwork Mon Apr 10 17:44:17 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sumit Semwal X-Patchwork-Id: 97196 Delivered-To: patch@linaro.org Received: by 10.182.246.10 with SMTP id xs10csp1456342obc; Mon, 10 Apr 2017 10:45:27 -0700 (PDT) X-Received: by 10.98.33.218 with SMTP id o87mr42016765pfj.11.1491846327596; 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 S1753825AbdDJRpV (ORCPT + 5 others); Mon, 10 Apr 2017 13:45:21 -0400 Received: from mail-pf0-f173.google.com ([209.85.192.173]:35234 "EHLO mail-pf0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753529AbdDJRpR (ORCPT ); Mon, 10 Apr 2017 13:45:17 -0400 Received: by mail-pf0-f173.google.com with SMTP id i5so36615352pfc.2 for ; Mon, 10 Apr 2017 10:45:12 -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=O5ZMlkaIfvcEEig7wX/q6RQuKeBvS50/HXi5eEGbRRc=; b=baQUJl6mcVQEVWdFn4kz28qg1Vf7p7s7ViqVr/R5ZsPLCWBOgLkeaAmt//XlrPbx9E lsUMZdR3YUYhNah1vDWcEAxA2kjoxdcVSW4w0aPVw0Pv3CCGn4VfEh5KzTNjUXulR8Nb rrLnW1byQX/OgMxy83XIGktmJ4JPD8Wx8jO60= 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=O5ZMlkaIfvcEEig7wX/q6RQuKeBvS50/HXi5eEGbRRc=; b=dnGsVQD/sTmnbk+ygp9HpwsgaA28ca8p8/P8Jb4zW4o+0DffDAajqGXIzTLTRtlrbo tKIyanzIUkWCJA4uB4m8d4rzEVuhcTgKR3R3sbN3xnWuquKibKtnm+KjsHyjWAGGTKlN w0Y8EVJjjo2EsXLiDSqQCQSfQTDfBn00y8XLQJHPEu3uXRGBipefMkPgglcEJcRWQktz lVL74DjKURPI9DnotDIlE3G9phY72yZWQhOqsOdcG8h9qFhuTbkDfOrExzpWT8FRbbHy /YXy0mzsKDvHjB06DYf/a+5Ap412+hGbB1ZP8y5NvbZaaTTQeFkkhc40PO4vNF3Jlrm8 Hnvw== X-Gm-Message-State: AFeK/H29F9REBoGXyZXFNySln1CkDa0Zy25OHHqpMAy9HeVlNoDfxBVO0CUOXYpGLLH8jSnz X-Received: by 10.98.141.67 with SMTP id z64mr52685486pfd.91.1491846311399; Mon, 10 Apr 2017 10:45:11 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id y6sm768833pfa.83.2017.04.10.10.45.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 10 Apr 2017 10:45:09 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Jack Morgenstein , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [PATCH for-4.4 01/16] net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions Date: Mon, 10 Apr 2017 23:14:17 +0530 Message-Id: <1491846272-14882-2-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: Jack Morgenstein [Upstream commit 61a4577c9a4419b99e647744923517d47255da35] 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). 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 [sumits: cherry picked for 4.4.y] --- 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;