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: 17+ 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 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: linkBe 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.