From patchwork Wed Apr 12 17:36: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: 97322 Delivered-To: patch@linaro.org Received: by 10.140.109.52 with SMTP id k49csp371942qgf; Wed, 12 Apr 2017 10:37:07 -0700 (PDT) X-Received: by 10.99.160.73 with SMTP id u9mr2503033pgn.176.1492018627567; Wed, 12 Apr 2017 10:37:07 -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.07; Wed, 12 Apr 2017 10:37:07 -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 S1754530AbdDLRhG (ORCPT + 6 others); Wed, 12 Apr 2017 13:37:06 -0400 Received: from mail-pf0-f171.google.com ([209.85.192.171]:34830 "EHLO mail-pf0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754490AbdDLRhG (ORCPT ); Wed, 12 Apr 2017 13:37:06 -0400 Received: by mail-pf0-f171.google.com with SMTP id i5so16895373pfc.2 for ; Wed, 12 Apr 2017 10:37:06 -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=I6bwftd2TfZy2I8f87bVxhyBSf2PG3P1ZI6/uUGfJJw=; b=RFO9AlnJ7lgNVXYWi+6EjmDbt5NgpC7jKKGwhE1OahK3OVIeilHIdzQeeTp1jrdeI9 utfrIbTzDR9opmxLustsZZD8HFerJGqxJYR74McQfyKa0hj+7pzv+v/oAtWp0o6oddIf zl6kIlFuldTB7guNFEC3YUSwOYZKVZs3Um7AQ= 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=I6bwftd2TfZy2I8f87bVxhyBSf2PG3P1ZI6/uUGfJJw=; b=KM0XvkLfNdRgrjSyZjF4PswJn1baHnEWdGFW8AVn6cmhiwQ1dgl4sj39n+qUoM/rV0 03g28FzJe2BWGnx6/OSN7livgDvmp+6mniTWYY7yiMzqQRvuI5IqoPhbpNkUtt3ZGc/O 2S4NV8byXgKejlxFFfvO2ib0wrz8L/lwbCJ0FOUtiT99bslPmCO8szqYSxugDQz8qWU7 s0W8flqFgl9bi/pg18m79s3iZmCf81GdkmrFFP6cBa1xvvdldiT3fKsuJOl6NbTShIhq P/hoK3D19EvvMARFQxwY5raOsRcG+SY0dBm9W452r9AZ9KG9jhqpgeqoYeWbgIzUfcQY fbdw== X-Gm-Message-State: AFeK/H2/Ix8vx3N8gAZef65fU0hAjo4ssjmcEEgoz5qczl8eCQl91D+DEJiY6U8Sdi4hzO3+ X-Received: by 10.98.156.23 with SMTP id f23mr67120351pfe.3.1492018625354; Wed, 12 Apr 2017 10:37:05 -0700 (PDT) Received: from phantom.lan ([106.51.225.38]) by smtp.gmail.com with ESMTPSA id 133sm31562648pfy.106.2017.04.12.10.37.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 12 Apr 2017 10:37:04 -0700 (PDT) From: Sumit Semwal To: stable@vger.kernel.org Cc: Jack Morgenstein , Tariq Toukan , "David S . Miller" , Sumit Semwal Subject: [PATCH for-4.9 5/5] net/mlx4_core: Fix when to save some qp context flags for dynamic VST to VGT transitions Date: Wed, 12 Apr 2017 23:06:35 +0530 Message-Id: <1492018595-13167-6-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: 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). 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 c548bea..32f76bf 100644 --- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c @@ -2980,6 +2980,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); @@ -3772,7 +3775,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; @@ -3814,7 +3816,6 @@ int mlx4_INIT2RTR_QP_wrapper(struct mlx4_dev *dev, int slave, */ 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;