From: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
To: Meelis Roos <mroos@linux.ee>
Cc: linux-alpha@vger.kernel.org,
Linux Kernel list <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org
Subject: Re: alpha boot hang - 4.14-rc* regression
Date: Wed, 25 Oct 2017 16:14:13 +0100 [thread overview]
Message-ID: <20171025151413.GA6499@red-moon> (raw)
In-Reply-To: <alpine.LRH.2.21.1710251748170.10071@math.ut.ee>
On Wed, Oct 25, 2017 at 05:49:54PM +0300, Meelis Roos wrote:
> > > > > removing libata modules and rebooting fixes it - so it seems to be
> > > > > loading of libata.
> > > >
> > > > Can you please cherry-pick:
> > > >
> > > > commit b1f9e5e355e9 ("ide: fix IRQ assignment for PCI bus order probing")
> > > >
> > > > from mainline and let us know if that solves the issue ?
> > >
> > > No, still breaks the same way (b1f9e5e355e9 patched on top of
> > > 0e4c2eeb758a).
> > >
> > > 4.14.0-rc5-00095-g1c9fec470b81 was also still broken the same way (tried
> > > on Sunday).
> >
> > I am not sure I patched the right sys file but if I did, does the patch
> > below help ?
> >
> > I think that at sata driver binding time the kernel finds a freed
> > pointer in the host bridge map_irq() hook and that's where things
> > go wrong.
> >
> > Please let me know if that's the right sys file, it is a mechanical
> > change and making it for other sys file should be reasonably simple.
> >
> > Lorenzo
> >
> > -- >8 --
> > diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
>
> "Booting GENERIC on Tsunami variation Webbrick using machine vector
> Webbrick from SRM"
>
> Seems to be the correct file - tsunami is referenced from this file and
> the IRQ-s are DP264.
>
> But the patch does not make a difference :(
It is probably because I patched the wrong map_irq() function,
I am trying to detect which one you are _actually_ using, if
the patch below fails I will patch them all (which is what I
have to do anyway).
Please give this a go - this _has_ to make a difference, it is not
correct to leave map_irq() pointers as __init memory, IRQ routing
for modules can't work.
-- >8 --
diff --git a/arch/alpha/kernel/sys_dp264.c b/arch/alpha/kernel/sys_dp264.c
index 6c35159..62fd7f1 100644
--- a/arch/alpha/kernel/sys_dp264.c
+++ b/arch/alpha/kernel/sys_dp264.c
@@ -356,7 +356,7 @@ clipper_init_irq(void)
* 10 64 bit PCI option slot 3 (not bus 0)
*/
-static int __init
+static int
isa_irq_fixup(const struct pci_dev *dev, int irq)
{
u8 irq8;
@@ -372,10 +372,10 @@ isa_irq_fixup(const struct pci_dev *dev, int irq)
return irq8 & 0xf;
}
-static int __init
+static int
dp264_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
- static char irq_tab[6][5] __initdata = {
+ static char irq_tab[6][5] = {
/*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 5 ISA Bridge */
{ 16+ 3, 16+ 3, 16+ 2, 16+ 2, 16+ 2}, /* IdSel 6 SCSI builtin*/
@@ -456,10 +456,10 @@ monet_swizzle(struct pci_dev *dev, u8 *pinp)
return slot;
}
-static int __init
+static int
webbrick_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
{
- static char irq_tab[13][5] __initdata = {
+ static char irq_tab[13][5] = {
/*INT INTA INTB INTC INTD */
{ -1, -1, -1, -1, -1}, /* IdSel 7 ISA Bridge */
{ -1, -1, -1, -1, -1}, /* IdSel 8 unused */
next prev parent reply other threads:[~2017-10-25 15:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-25 8:05 alpha boot hang - 4.14-rc* regression Meelis Roos
2017-10-25 8:12 ` Meelis Roos
2017-10-25 8:43 ` Meelis Roos
2017-10-25 9:21 ` Lorenzo Pieralisi
2017-10-25 12:21 ` Meelis Roos
2017-10-25 13:37 ` Lorenzo Pieralisi
2017-10-25 14:49 ` Meelis Roos
2017-10-25 15:14 ` Lorenzo Pieralisi [this message]
2017-10-25 15:54 ` Meelis Roos
2017-10-25 18:01 ` Meelis Roos
2017-10-26 8:54 ` Lorenzo Pieralisi
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=20171025151413.GA6499@red-moon \
--to=lorenzo.pieralisi@arm.com \
--cc=linux-alpha@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mroos@linux.ee \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).