Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp916913pxb; Wed, 6 Apr 2022 04:12:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbtSn+Du/pMs6lvybyc0vhedRmmy20+gFk9NnKlwLGnn53EbadF+68EbfS1EpcaujZapQA X-Received: by 2002:a17:90a:ea0e:b0:1ca:c6a0:c1a7 with SMTP id w14-20020a17090aea0e00b001cac6a0c1a7mr9280513pjy.224.1649243560911; Wed, 06 Apr 2022 04:12:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649243560; cv=none; d=google.com; s=arc-20160816; b=FzKsGt35siJBgkEXZWy+xBCWBy/NFjhyu8PqJvAEksWwoELAh1W1KkN/vwv5edEViu fUjZbyTzGYL5TK7rX3oWsmBqmg0N4s8mI5QK6P0IPyPmEw3QoTldYgiOo74q8CwVKOHb 2PM8NljtllDDPqEiQjzWPGFEPtWVRYuDWrd3+55ZRyy05Z6ycu2jZjlsAd26ytr2Mq1+ x+8zE4Lhgu6XUGwi70O98i2fVc/saLhUyHHm7EZbzwSv1k6h5AFruGG7qy/eILu8S700 YNa8i0B682v0IXq9PXMAAvf+EnMr13b0NK73Ep0n1DgceZdSOxDW93vuS72FhJYPWdH5 MY7Q== 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=qf8CPruk2/2i4wB1M0hToVVWr6oLlHIGlKbs60tmDCs=; b=g7Acekoiw/FGPDT2Jps/2jyAyxII5i3RbUX5sCH+u1YmNjsRPmyjJEuQmt7lrx0Onx UW5yxFTGtXyhe3t+Apiq1BNnUlmypdPiIRUiJ6iGTkzzpko6O55R3p8D0WW7VZJ/v7SJ XjVI09gIHUJKni75Q4feIGVDDGGasUrunG5wCrlG930H5xY+zJPJFPhpw3aB58Mj3Y8N RYHNoqALfLSwVRDVRtasqLGwB4nUuMoEv8Azw16OBS8aXfLcdJItj7ACsw59Hw1ZBUwn ZOpQm9QBaBGirxLtfWtvopGlSdDqgQNovDa6K7RZMifjvQ67J/xTuE8Rf/BaAFAElEgp Yp4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=kVOMOsfe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id c19-20020a637253000000b0038251571eacsi15008729pgn.180.2022.04.06.04.12.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 04:12:40 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=kVOMOsfe; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B2BC04DD312; Wed, 6 Apr 2022 02:38:08 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1574607AbiDEW4l (ORCPT + 99 others); Tue, 5 Apr 2022 18:56:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39304 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240067AbiDEKwk (ORCPT ); Tue, 5 Apr 2022 06:52:40 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B8EEFA94DA; Tue, 5 Apr 2022 03:28:11 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 57B706181D; Tue, 5 Apr 2022 10:28:11 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B31FC385A6; Tue, 5 Apr 2022 10:28:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649154490; bh=cCG4DXsmOt2RjegLmBychxHXXVtElDKPMsn2x6Ymw+M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kVOMOsfeVIisInkqW2ceLoPlxI+H3OmsTPcMStcOmFRphrxPs6N7ckrqoFQHbI5ax pH5Kd4xVGc5bKCRuNT+7efH99G7QVmz9KhO1hjk2y6pBRzNgsz0epTnJRmTm6l5tf+ 4jSr9iZ6s/1YpE1Gn/4Lr8kaIYU6AILCZB0oVQY4= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alyssa Ross , Tzung-Bi Shih , Prashant Malani , Heikki Krogerus , Benson Leung Subject: [PATCH 5.10 570/599] platform/chrome: cros_ec_typec: Check for EC device Date: Tue, 5 Apr 2022 09:34:24 +0200 Message-Id: <20220405070315.805023283@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070258.802373272@linuxfoundation.org> References: <20220405070258.802373272@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Prashant Malani commit ffebd90532728086007038986900426544e3df4e upstream. The Type C ACPI device on older Chromebooks is not generated correctly (since their EC firmware doesn't support the new commands required). In such cases, the crafted ACPI device doesn't have an EC parent, and it is therefore not useful (it shouldn't be generated in the first place since the EC firmware doesn't support any of the Type C commands). To handle devices which use these older firmware revisions, check for the parent EC device handle, and fail the probe if it's not found. Fixes: fdc6b21e2444 ("platform/chrome: Add Type C connector class driver") Reported-by: Alyssa Ross Reviewed-by: Tzung-Bi Shih Signed-off-by: Prashant Malani Acked-by: Heikki Krogerus Reviewed-by: Alyssa Ross Tested-by: Alyssa Ross Link: https://lore.kernel.org/r/20220126190219.3095419-1-pmalani@chromium.org Signed-off-by: Benson Leung Signed-off-by: Greg Kroah-Hartman --- drivers/platform/chrome/cros_ec_typec.c | 6 ++++++ 1 file changed, 6 insertions(+) --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -712,7 +712,13 @@ static int cros_typec_probe(struct platf return -ENOMEM; typec->dev = dev; + typec->ec = dev_get_drvdata(pdev->dev.parent); + if (!typec->ec) { + dev_err(dev, "couldn't find parent EC device\n"); + return -ENODEV; + } + platform_set_drvdata(pdev, typec); ret = cros_typec_get_cmd_version(typec);