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 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.