Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp800806pxb; Tue, 3 Nov 2020 12:55:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJx+UFBWhRdv5IZXE092wmkCyDyRnkum7MmVnhejobAC5cetUSW4gD4psKqKM080ia0LRBjQ X-Received: by 2002:a50:a454:: with SMTP id v20mr23063886edb.98.1604436920938; Tue, 03 Nov 2020 12:55:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1604436920; cv=none; d=google.com; s=arc-20160816; b=lKS/+cU3KAYHf8guE7GhBOHSMD8ZDeKj8EVKQaF7AwKPq7nqqU2JUPJQ/zq+n7dG6A InAY0WxtJJoCJ6CZBXJw6j8BZ7peFhhcw1S86fswz9tIYPed0scJvgtCm2A5cKpiVpYl kAdU3h9jwmSbhGTEg2T1XTmN2koeZr4agjfJ3A56PJGwYolXVMb2KDGfz86HkTMGmuWb 7d7xS5U8r6nXumVE4oQDMbnsTenkRfKII7Yd3TR2vsOovvcE77OmSi+lSApkn83EO5F+ YUUMk1UImuFcpzFq+/GjjJq1HI+vTGs27piciMIigJM85xxQLd1HDJfg3/xSyqZlz0ht xasQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=tM9DypnHfFWf+64p0JuggTIcmeRLTrnu0QRtwK9+TVw=; b=EBcGpekVaUxfmIVPnElvAnU/8esZFgyO4m99wcOuYN7YgPfCPRkO0sPd2pgCGmrjXf zcYRjozcswaZ65Y082Zg4nOmupLMPzwnoYwfdKhoakZWs567W2LX7euhiNySUsnJXGHp AsPxAqjJr+V3o2FhJvhmgZKIarzmdBF1qYD7racvCPGP9k/zi3CymgFw0wVg6ERqp4Ug 1S6D62PrOPnF5GcAYjYAaVGMdCKP26LAXdg3SH/3v5UTdLPyhfn9cqhX4ONZ1deeZPFT 26LAtXplXZCdmpCXJUy86b91qIXuPRW61v22fK3vbQrFrzATjxl6/od6KaUthSuf6gld 4psw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CbHI1aBg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m30si14395446edj.103.2020.11.03.12.54.58; Tue, 03 Nov 2020 12:55:20 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=CbHI1aBg; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731217AbgKCUwR (ORCPT + 99 others); Tue, 3 Nov 2020 15:52:17 -0500 Received: from mail.kernel.org ([198.145.29.99]:48324 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732045AbgKCUwK (ORCPT ); Tue, 3 Nov 2020 15:52:10 -0500 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A187D2071E; Tue, 3 Nov 2020 20:52:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1604436729; bh=vqpjTQgjyfwkOk0kbiAhwxr37jvcJoqE8pNkFagWw28=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CbHI1aBglUGZuP3DBpXr6SGXT8z8qbj/i7Ic9ZbZXpqia5qhWkCmj6XFJv8hh+hWE OXrS4Le2nFCZOgAHAz2H/eBdqLKo+T6fhOkAp+7sHZZ+3fFu6B/m3aBpLuhM4SJcGb f4uiajVC30YKrknxEIVsrEGJVuu9fnlSpuPXMwLU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Ferry Toth , Andy Shevchenko , Heikki Krogerus , "Rafael J. Wysocki" Subject: [PATCH 5.9 376/391] device property: Keep secondary firmware node secondary by type Date: Tue, 3 Nov 2020 21:37:07 +0100 Message-Id: <20201103203412.533941859@linuxfoundation.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20201103203348.153465465@linuxfoundation.org> References: <20201103203348.153465465@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Andy Shevchenko commit d5dcce0c414fcbfe4c2037b66ac69ea5f9b3f75c upstream. Behind primary and secondary we understand the type of the nodes which might define their ordering. However, if primary node gone, we can't maintain the ordering by definition of the linked list. Thus, by ordering secondary node becomes first in the list. But in this case the meaning of it is still secondary (or auxiliary). The type of the node is maintained by the secondary pointer in it: secondary pointer Meaning NULL or valid primary node ERR_PTR(-ENODEV) secondary node So, if by some reason we do the following sequence of calls set_primary_fwnode(dev, NULL); set_primary_fwnode(dev, primary); we should preserve secondary node. This concept is supported by the description of set_primary_fwnode() along with implementation of set_secondary_fwnode(). Hence, fix the commit c15e1bdda436 to follow this as well. Fixes: c15e1bdda436 ("device property: Fix the secondary firmware node handling in set_primary_fwnode()") Cc: Ferry Toth Signed-off-by: Andy Shevchenko Reviewed-by: Heikki Krogerus Tested-by: Ferry Toth Cc: 5.9+ # 5.9+ Signed-off-by: Rafael J. Wysocki Signed-off-by: Greg Kroah-Hartman --- drivers/base/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -4274,7 +4274,7 @@ void set_primary_fwnode(struct device *d } else { if (fwnode_is_primary(fn)) { dev->fwnode = fn->secondary; - fn->secondary = NULL; + fn->secondary = ERR_PTR(-ENODEV); } else { dev->fwnode = NULL; }