All of lore.kernel.org
 help / color / mirror / Atom feed
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 */

  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.