Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp672737yba; Wed, 24 Apr 2019 07:49:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqzINHSAewJ2+MnS50YCW5L0lyG3Fyg3nIle0RSKLwb3X3zYnYQZhr9WG6kvhVAqpcfhPSg/ X-Received: by 2002:a62:1194:: with SMTP id 20mr33991772pfr.224.1556117379127; Wed, 24 Apr 2019 07:49:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556117379; cv=none; d=google.com; s=arc-20160816; b=LQ8cBFS7jAF7A1KZ77zM/R5mTaJ2S3a/fM/+tHW80PKrI5Ztb2rbGqqshHz0sRkj0W SicqtcX//kDeXsRA7x9FIzSzg48e0LfRxZM1iHaloyi5UgeFW2BhdzZMbG6Kg6d1WC+s dKKeUTbx/7xx/IrLf4mqWbvwXCs/cso+8AY1OP37oVEBwrZBWWhEiroPHDFw5bQOIzF/ 2UfKDrwCDVbXUtHcAaPX+BSnxUQFd3gQX0+zwzi95PACJklZBZctYKamEZt3wRI1NZTw uCNaEiMoW7Gi+cnq3OTe9xp4ViXcatYE/Pq6BmgvMAMmPPPmNmmRfGtFQ24qyqMFcmhq qkGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=flgYNrWMPSjBdWOzmFDQDYzYiOQnSjbiw8+fl2GqIuY=; b=WDbfOAOS8Ik1PXFEfXPlkYcAaWnJEm2cS3jdLqCY3+jv4xLOvNx3FnUS0EVTOLpf4H vwumWIT6rA8pRdM6gE1ajuqhfVgh+Nu+mjAK0p7Yx7VZSFlKIkCmBMj1W4mYl4pz5WL8 ZfOV1ZTSEWsSKnFJXPv+X8CHKghWvLy4kO0mwl9yRyoWR634hqqzoxPuTyCYP8Su6C4u 7f8cHAWL1vts9lI0uS8YNV4viOoZniDb/p6aZhfW5jAJ0+rcMWHy0ahH/ydT+1VyAvQa 3mNmP1jwqzUBSUtAmG2PKon5g1HC1RCzZ0WwVmtmfd9CV0BaQoLxQ3keFdwshA62nq2W 29WA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=aWloOUNN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m186si5165626pfb.96.2019.04.24.07.49.23; Wed, 24 Apr 2019 07:49:39 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-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=@kernel.org header.s=default header.b=aWloOUNN; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731383AbfDXOql (ORCPT + 99 others); Wed, 24 Apr 2019 10:46:41 -0400 Received: from mail.kernel.org ([198.145.29.99]:38274 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731017AbfDXOeW (ORCPT ); Wed, 24 Apr 2019 10:34:22 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C0CCC2089F; Wed, 24 Apr 2019 14:34:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1556116462; bh=Umsi88ez24FxBXgjF9X4oMBr0/vwp6qWEvJ9pMGSvaw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aWloOUNNODVMQEXEoVNO7w/5rmeUfU5Z/a9gQOH7ZXseVaBjVKYsCAQfIfvMieLR7 EeNJMYcjkwy48evD669CumoT5gGTmwHzaLDvoafTm+ZeiNBulU5XDR6aoFk9y2kBg2 2gz2EkxEy2L9npTKM/MWtBpSHMtZZQxkx/iss1iE= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ivan Vecera , Jeff Kirsher , Sasha Levin , netdev@vger.kernel.org Subject: [PATCH AUTOSEL 5.0 17/66] ixgbe: fix mdio bus registration Date: Wed, 24 Apr 2019 10:32:51 -0400 Message-Id: <20190424143341.27665-17-sashal@kernel.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190424143341.27665-1-sashal@kernel.org> References: <20190424143341.27665-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Ivan Vecera [ Upstream commit 7ec52b9df7d7472240fa96223185894b1897aeb0 ] The ixgbe ignores errors returned from mdiobus_register() and leaves adapter->mii_bus non-NULL and MDIO bus state as MDIOBUS_ALLOCATED. This triggers a BUG from mdiobus_unregister() during ixgbe_remove() call. Fixes: 8fa10ef01260 ("ixgbe: register a mdiobus") Signed-off-by: Ivan Vecera Tested-by: Andrew Bowers Signed-off-by: Jeff Kirsher Signed-off-by: Sasha Levin (Microsoft) --- drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c index cc4907f9ff02..2fb97967961c 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c @@ -905,13 +905,12 @@ s32 ixgbe_mii_bus_init(struct ixgbe_hw *hw) struct pci_dev *pdev = adapter->pdev; struct device *dev = &adapter->netdev->dev; struct mii_bus *bus; + int err = -ENODEV; - adapter->mii_bus = devm_mdiobus_alloc(dev); - if (!adapter->mii_bus) + bus = devm_mdiobus_alloc(dev); + if (!bus) return -ENOMEM; - bus = adapter->mii_bus; - switch (hw->device_id) { /* C3000 SoCs */ case IXGBE_DEV_ID_X550EM_A_KR: @@ -949,12 +948,15 @@ s32 ixgbe_mii_bus_init(struct ixgbe_hw *hw) */ hw->phy.mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_SUPPORTS_C22; - return mdiobus_register(bus); + err = mdiobus_register(bus); + if (!err) { + adapter->mii_bus = bus; + return 0; + } ixgbe_no_mii_bus: devm_mdiobus_free(dev, bus); - adapter->mii_bus = NULL; - return -ENODEV; + return err; } /** -- 2.19.1