From: Bjorn Helgaas <helgaas@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: linux-arm-kernel@lists.infradead.org,
Jisheng Zhang <jszhang@marvell.com>,
wangzhou1@hisilicon.com, bhelgaas@google.com,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] PCI: hisi: fix deferred probing
Date: Tue, 24 Nov 2015 15:39:14 -0600 [thread overview]
Message-ID: <20151124213914.GE17377@localhost> (raw)
In-Reply-To: <4417267.EzK5DAjM5p@wuerfel>
On Thu, Nov 12, 2015 at 01:21:37PM +0100, Arnd Bergmann wrote:
> The hisi_pcie_probe function is incorrectly marked as __init, as Kconfig
> tells us:
>
> WARNING: drivers/pci/host/built-in.o(.data+0x7780): Section mismatch in reference from the variable hisi_pcie_driver to the function .init.text:hisi_pcie_probe()
>
> If the probe for this device gets deferred past the point where __init
> functions are removed, or the device is unbound and then reattached to
> the driver, we branch into uninitialized memory, which is bad.
>
> This removes the __init annotation.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
We merged pcie-hisi.c in the v4.4 merge window, so I applied this to
for-linus for v4.4 with ack/reviewed-by from Zhou and Hanjun, thanks!
> diff --git a/drivers/pci/host/pcie-hisi.c b/drivers/pci/host/pcie-hisi.c
> index 35457ecd8e70..163671a4f798 100644
> --- a/drivers/pci/host/pcie-hisi.c
> +++ b/drivers/pci/host/pcie-hisi.c
> @@ -111,7 +111,7 @@ static struct pcie_host_ops hisi_pcie_host_ops = {
> .link_up = hisi_pcie_link_up,
> };
>
> -static int __init hisi_add_pcie_port(struct pcie_port *pp,
> +static int hisi_add_pcie_port(struct pcie_port *pp,
> struct platform_device *pdev)
> {
> int ret;
> @@ -139,7 +139,7 @@ static int __init hisi_add_pcie_port(struct pcie_port *pp,
> return 0;
> }
>
> -static int __init hisi_pcie_probe(struct platform_device *pdev)
> +static int hisi_pcie_probe(struct platform_device *pdev)
> {
> struct hisi_pcie *hisi_pcie;
> struct pcie_port *pp;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
WARNING: multiple messages have this Message-ID (diff)
From: helgaas@kernel.org (Bjorn Helgaas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] PCI: hisi: fix deferred probing
Date: Tue, 24 Nov 2015 15:39:14 -0600 [thread overview]
Message-ID: <20151124213914.GE17377@localhost> (raw)
In-Reply-To: <4417267.EzK5DAjM5p@wuerfel>
On Thu, Nov 12, 2015 at 01:21:37PM +0100, Arnd Bergmann wrote:
> The hisi_pcie_probe function is incorrectly marked as __init, as Kconfig
> tells us:
>
> WARNING: drivers/pci/host/built-in.o(.data+0x7780): Section mismatch in reference from the variable hisi_pcie_driver to the function .init.text:hisi_pcie_probe()
>
> If the probe for this device gets deferred past the point where __init
> functions are removed, or the device is unbound and then reattached to
> the driver, we branch into uninitialized memory, which is bad.
>
> This removes the __init annotation.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
We merged pcie-hisi.c in the v4.4 merge window, so I applied this to
for-linus for v4.4 with ack/reviewed-by from Zhou and Hanjun, thanks!
> diff --git a/drivers/pci/host/pcie-hisi.c b/drivers/pci/host/pcie-hisi.c
> index 35457ecd8e70..163671a4f798 100644
> --- a/drivers/pci/host/pcie-hisi.c
> +++ b/drivers/pci/host/pcie-hisi.c
> @@ -111,7 +111,7 @@ static struct pcie_host_ops hisi_pcie_host_ops = {
> .link_up = hisi_pcie_link_up,
> };
>
> -static int __init hisi_add_pcie_port(struct pcie_port *pp,
> +static int hisi_add_pcie_port(struct pcie_port *pp,
> struct platform_device *pdev)
> {
> int ret;
> @@ -139,7 +139,7 @@ static int __init hisi_add_pcie_port(struct pcie_port *pp,
> return 0;
> }
>
> -static int __init hisi_pcie_probe(struct platform_device *pdev)
> +static int hisi_pcie_probe(struct platform_device *pdev)
> {
> struct hisi_pcie *hisi_pcie;
> struct pcie_port *pp;
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2015-11-24 21:39 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-12 12:02 [PATCH] PCI: hisi: Fix Section mismatch compilation warning for probe() Jisheng Zhang
2015-11-12 12:02 ` Jisheng Zhang
2015-11-12 12:21 ` Arnd Bergmann
2015-11-12 12:21 ` Arnd Bergmann
2015-11-12 12:24 ` Jisheng Zhang
2015-11-12 12:24 ` Jisheng Zhang
2015-11-12 12:21 ` [PATCH] PCI: hisi: fix deferred probing Arnd Bergmann
2015-11-12 12:21 ` Arnd Bergmann
2015-11-13 3:06 ` Gabriele Paoloni
2015-11-13 3:06 ` Gabriele Paoloni
2015-11-13 7:29 ` Zhou Wang
2015-11-13 7:29 ` Zhou Wang
2015-11-17 3:17 ` Hanjun Guo
2015-11-17 3:17 ` Hanjun Guo
2015-11-24 21:39 ` Bjorn Helgaas [this message]
2015-11-24 21:39 ` Bjorn Helgaas
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=20151124213914.GE17377@localhost \
--to=helgaas@kernel.org \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=jszhang@marvell.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=wangzhou1@hisilicon.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.