All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aditya Garg <gargaditya08@live.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Lee Jones <lee.jones@linaro.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Orlando Chamberlain <redecorating@protonmail.com>
Subject: Re: [PATCH v2 1/1] mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe()
Date: Tue, 2 Nov 2021 05:42:35 +0000	[thread overview]
Message-ID: <54F23B0A-9DB9-439A-B3BA-E1141703E91D@live.com> (raw)
In-Reply-To: <20211101190008.86473-1-andriy.shevchenko@linux.intel.com>



> On 02-Nov-2021, at 12:30 AM, Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:
> 
> The runtime PM callback may be called as soon as the runtime PM facility
> is enabled and activated. It means that ->suspend() may be called before
> we finish probing the device in the ACPI case. Hence, NULL pointer
> dereference:
> 
>  intel-lpss INT34BA:00: IRQ index 0 not found
>  BUG: kernel NULL pointer dereference, address: 0000000000000030
>  ...
>  Workqueue: pm pm_runtime_work
>  RIP: 0010:intel_lpss_suspend+0xb/0x40 [intel_lpss]
> 
> To fix this, first try to register the device and only after that enable
> runtime PM facility.
> 
> Fixes: 4b45efe85263 ("mfd: Add support for Intel Sunrisepoint LPSS devices")
> Reported-by: Orlando Chamberlain <redecorating@protonmail.com>
> Reported-by: Aditya Garg <gargaditya08@live.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Tested-by: Aditya Garg <gargaditya08@live.com>
> ---
> v2: added tag (Aditya), returned 0 explicitly at the end of ->probe()
It works
> drivers/mfd/intel-lpss-acpi.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mfd/intel-lpss-acpi.c b/drivers/mfd/intel-lpss-acpi.c
> index 3f1d976eb67c..f2ea6540a01e 100644
> --- a/drivers/mfd/intel-lpss-acpi.c
> +++ b/drivers/mfd/intel-lpss-acpi.c
> @@ -136,6 +136,7 @@ static int intel_lpss_acpi_probe(struct platform_device *pdev)
> {
> 	struct intel_lpss_platform_info *info;
> 	const struct acpi_device_id *id;
> +	int ret;
> 
> 	id = acpi_match_device(intel_lpss_acpi_ids, &pdev->dev);
> 	if (!id)
> @@ -149,10 +150,14 @@ static int intel_lpss_acpi_probe(struct platform_device *pdev)
> 	info->mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> 	info->irq = platform_get_irq(pdev, 0);
> 
> +	ret = intel_lpss_probe(&pdev->dev, info);
> +	if (ret)
> +		return ret;
> +
> 	pm_runtime_set_active(&pdev->dev);
> 	pm_runtime_enable(&pdev->dev);
> 
> -	return intel_lpss_probe(&pdev->dev, info);
> +	return 0;
> }
> 
> static int intel_lpss_acpi_remove(struct platform_device *pdev)
> -- 
> 2.33.0
> 


  reply	other threads:[~2021-11-02  5:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-01 19:00 [PATCH v2 1/1] mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() Andy Shevchenko
2021-11-02  5:42 ` Aditya Garg [this message]
2021-11-15 10:36   ` Andy Shevchenko
     [not found]     ` <PN2PR01MB44118FFB624CD71D6C3F0FF5B8989@PN2PR01MB4411.INDPRD01.PROD.OUTLOOK.COM>
2021-11-16 15:53       ` Lee Jones
     [not found]         ` <258423E3-A0D4-4E24-BCD1-42F7ED25BB88@live.com>
2021-11-18  8:40           ` Lee Jones
2021-11-29 11:59 ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54F23B0A-9DB9-439A-B3BA-E1141703E91D@live.com \
    --to=gargaditya08@live.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=lee.jones@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=redecorating@protonmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.