From patchwork Thu Nov 6 10:51:22 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eli Cohen X-Patchwork-Id: 407401 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D5F421400B6 for ; Thu, 6 Nov 2014 21:51:44 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751328AbaKFKvk (ORCPT ); Thu, 6 Nov 2014 05:51:40 -0500 Received: from mail-wg0-f48.google.com ([74.125.82.48]:48825 "EHLO mail-wg0-f48.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751956AbaKFKvh (ORCPT ); Thu, 6 Nov 2014 05:51:37 -0500 Received: by mail-wg0-f48.google.com with SMTP id m15so852273wgh.21 for ; Thu, 06 Nov 2014 02:51:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=iukmJgYq12fuy5pTIu8/OEMgj/6DGnfVnlcGDeiak5M=; b=BH1p4JF65oD8ZLoPkIdWBeJNakxWRxbgLsJ35ygBMIEY1K9DdfBkud465iQReuM/pH TT772ZwtlKUy839+qAYuiqUPyDkmsBY26hA62OjXE7xTw845Ee9R6Sw+FQfoa5oTQQne I0wTa+w1PcbEuG+oMQcb0JfTvjExhN5McHcV8r1N+RLwVv2ZBMehCGI3HCN14kln2vUs Ce5mCAhP664mYCKiN/pf4AXH/9WAAXVQ55108HEJkwxdIMdOB8NhPzOZC0na9iOXtiPT wD9gkfW1bVwuHtoPPR2QkGhtf7comWUF7A77izgyeshGkfx+oMaw02R1OmflYi3BJPHv RkdA== X-Gm-Message-State: ALoCoQkFbB+6RtigQjZoQLAH/tcM8ybRICgpty9eK0pGA6sW13lqqr/CBlvgSjJhzXg3VmOyfNks X-Received: by 10.194.61.208 with SMTP id s16mr4246838wjr.104.1415271096278; Thu, 06 Nov 2014 02:51:36 -0800 (PST) Received: from localhost ([193.47.165.251]) by mx.google.com with ESMTPSA id ny6sm19007684wic.22.2014.11.06.02.51.35 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Thu, 06 Nov 2014 02:51:35 -0800 (PST) From: Eli Cohen X-Google-Original-From: Eli Cohen To: davem@davemloft.net Cc: netdev@vger.kernel.org, linux-rdma@vger.kernel.org, ogerlitz@mellanox.com, Eli Cohen Subject: [PATCH net 2/2] net/mlx5_core: Fix race on driver load Date: Thu, 6 Nov 2014 12:51:22 +0200 Message-Id: <1415271082-7644-3-git-send-email-eli@mellanox.com> X-Mailer: git-send-email 2.1.2 In-Reply-To: <1415271082-7644-1-git-send-email-eli@mellanox.com> References: <1415271082-7644-1-git-send-email-eli@mellanox.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When events arrive at driver load, the event handler gets called even before the spinlock and list are initialized. Fix this by moving the initialization before EQs creation. Signed-off-by: Eli Cohen --- drivers/net/ethernet/mellanox/mlx5/core/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 88b2ffa0edfb..ecc6341e728a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -855,14 +855,14 @@ static int init_one(struct pci_dev *pdev, dev->profile = &profile[prof_sel]; dev->event = mlx5_core_event; + INIT_LIST_HEAD(&priv->ctx_list); + spin_lock_init(&priv->ctx_lock); err = mlx5_dev_init(dev, pdev); if (err) { dev_err(&pdev->dev, "mlx5_dev_init failed %d\n", err); goto out; } - INIT_LIST_HEAD(&priv->ctx_list); - spin_lock_init(&priv->ctx_lock); err = mlx5_register_device(dev); if (err) { dev_err(&pdev->dev, "mlx5_register_device failed %d\n", err);