Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp7012713ybi; Thu, 13 Jun 2019 08:08:43 -0700 (PDT) X-Google-Smtp-Source: APXvYqznimqdOJRKXdujyj+AuCbCDeVHu+jSUQWXBQkF3aEWXmnKEr/0oZ67XqSmaLNbS0fQY3mE X-Received: by 2002:a17:902:6a88:: with SMTP id n8mr82209930plk.266.1560438523034; Thu, 13 Jun 2019 08:08:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560438523; cv=none; d=google.com; s=arc-20160816; b=0A5VsnY86Nm0Cmq4HchrqnOovdr/MfZ2fRqrvFx5au1TXEE3/U+GVBhpNS2D1AMNDo 8NSkGrDJpdVe3w6X21loK5INqDiBUv9faU80RtIM2f+CQsyl8u9HouMMR/fukCUIYjjr kmXAjPSEjeBOvyEE5JqPfLQYS1obUJ5LnFmaF9NZfJmY6ShDFzlM1v2WMSMIoTnLznXr wNBAxWKjycQ5L+iUzeAuUfMVH6cZAsgmdzFrwpMTbHN5NweoVm/R+dEn0KOTg3BH6mpD faBrlwPkx8uwgRiG3GwREd2cFKdZoXw7lexk7LM8bKvNyd0MgMiZrtVPG5eaioPYOYro arGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=PLQf8JxBfjUITIdpwuQ+SgUXis5qANy1ke6klDfMugo=; b=eKrY9DlCFM7o4tMkJNuiLhJv9pwV9wq0eIdHAi1EImqUMS+ou9hmpQGqKT12dM1+Q7 7j+Bkm6AWZs0pfJVh7x1jgssOdYmou0RgDpOu7i+sZ0dh55heACoZEuZVigAsdXNpX9q jAlZKYQOqlsjbKaPo3EBeWgjLUEGkxnj/nvghI9OlPsYI0cxFuNnB2zfEtre6ND2KK9c Ng8Q+rVvr5Qte7uCvtU/E5tZlO+7HQlygDi36iVqs4oEMjbq5WQMVUFRNRVTR/OAR2kd F5F6nVd4iR1k6MA1iVKFQuQkgFBfdCZCd0AEylxnA0DLMjJKjETH6egq8L/5eq6qUa9M WL3A== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=opensource.cirrus.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o6si58114pgk.52.2019.06.13.08.08.27; Thu, 13 Jun 2019 08:08:43 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=opensource.cirrus.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1733268AbfFMPGd (ORCPT + 99 others); Thu, 13 Jun 2019 11:06:33 -0400 Received: from mx0a-001ae601.pphosted.com ([67.231.149.25]:60550 "EHLO mx0b-001ae601.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732413AbfFMPGb (ORCPT ); Thu, 13 Jun 2019 11:06:31 -0400 Received: from pps.filterd (m0077473.ppops.net [127.0.0.1]) by mx0a-001ae601.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5DF5EJf001143; Thu, 13 Jun 2019 10:06:13 -0500 Authentication-Results: ppops.net; spf=none smtp.mailfrom=ckeepax@opensource.cirrus.com Received: from mail4.cirrus.com ([87.246.98.35]) by mx0a-001ae601.pphosted.com with ESMTP id 2t0ae2yvyk-1; Thu, 13 Jun 2019 10:06:13 -0500 Received: from EDIEX02.ad.cirrus.com (ediex02.ad.cirrus.com [198.61.84.81]) by mail4.cirrus.com (Postfix) with ESMTP id 86F35611C8A7; Thu, 13 Jun 2019 10:06:25 -0500 (CDT) Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX02.ad.cirrus.com (198.61.84.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1591.10; Thu, 13 Jun 2019 16:06:12 +0100 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.1591.10 via Frontend Transport; Thu, 13 Jun 2019 16:06:12 +0100 Received: from ediswmail.ad.cirrus.com (ediswmail.ad.cirrus.com [198.61.86.93]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id EBAAE45; Thu, 13 Jun 2019 16:06:11 +0100 (BST) Date: Thu, 13 Jun 2019 16:06:11 +0100 From: Charles Keepax To: Benjamin Tissoires CC: Mika Westerberg , Wolfram Sang , Jarkko Nikula , Andy Shevchenko , Linux I2C , , lkml , Jim Broadus , Subject: Re: [PATCH v4 4/7] i2c: core: Make i2c_acpi_get_irq available to the rest of the I2C core Message-ID: <20190613150611.GV28362@ediswmail.ad.cirrus.com> References: <20190611123101.25264-1-ckeepax@opensource.cirrus.com> <20190611123101.25264-5-ckeepax@opensource.cirrus.com> <20190612152718.GC2640@lahna.fi.intel.com> <20190613084858.GU28362@ediswmail.ad.cirrus.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906130113 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jun 13, 2019 at 11:32:47AM +0200, Benjamin Tissoires wrote: > On Thu, Jun 13, 2019 at 10:49 AM Charles Keepax > wrote: > > > > On Wed, Jun 12, 2019 at 06:27:18PM +0300, Mika Westerberg wrote: > > > On Tue, Jun 11, 2019 at 01:30:58PM +0100, Charles Keepax wrote: > > > > In preparation for more refactoring make i2c_acpi_get_irq available > > > > outside i2c-core-acpi.c. > > > > > > > > Signed-off-by: Charles Keepax > > > > --- > > > > > > > > Changes since v3: > > > > - Move the change to use the helper function from i2c-core-base into its own patch. > > > > > > > > Thanks, > > > > Charles > > > > > > > > drivers/i2c/i2c-core-acpi.c | 15 +++++++++++++-- > > > > drivers/i2c/i2c-core.h | 7 +++++++ > > > > 2 files changed, 20 insertions(+), 2 deletions(-) > > > > > > > > diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c > > > > index 7d4d66ba752d4..35966cc337dde 100644 > > > > --- a/drivers/i2c/i2c-core-acpi.c > > > > +++ b/drivers/i2c/i2c-core-acpi.c > > > > @@ -144,8 +144,17 @@ static int i2c_acpi_add_resource(struct acpi_resource *ares, void *data) > > > > return 1; /* No need to add resource to the list */ > > > > } > > > > > > > > -static int i2c_acpi_get_irq(struct acpi_device *adev) > > > > +/** > > > > + * i2c_acpi_get_irq - get device IRQ number from ACPI > > > > + * @client: Pointer to the I2C client device > > > > + * > > > > + * Find the IRQ number used by a specific client device. > > > > + * > > > > + * Return: The IRQ number or an error code. > > > > + */ > > > > +int i2c_acpi_get_irq(struct i2c_client *client) > > > > { > > > > + struct acpi_device *adev = ACPI_COMPANION(&client->adapter->dev); > > > > > > Is this adev checked for being NULL somewhere below before it is being > > > dereferenced? > > > > > > It could explain the issue Benjamin is seeing. > > > > > > > Yeah could be that or just for some reason this isn't returning > > the same adev as we previously had. I will do some digging see if > > I can find any likely culprits. > > That was almost the culprit: client is NULL here. > So the call of i2c_acpi_find_client_by_adev(adev) fails. > > I guess this explains why the next commit is also not working :) > Ah.. yeah because at this stage this code is probably running before that client has been created I think, this crept in on that last splitting of the patch into two. Let me see if I can come up with a new solution and do a new version. Thank you very much for the help going through this. Thanks, Charles