From: Helge Deller <deller@gmx.de>
To: Meelis Roos <mroos@linux.ee>, Yinghai Lu <yinghai@kernel.org>
Cc: linux-parisc@vger.kernel.org, linux-pci@vger.kernel.org,
David Ahern <david.ahern@oracle.com>,
Bjorn Helgaas <bhelgaas@google.com>,
sparclinux@vger.kernel.org,
James Bottomley <James.Bottomley@HansenPartnership.com>
Subject: Re: Aw: A500 boot crash in 4.2.0-rc3-00246-g763e326
Date: Tue, 18 Aug 2015 21:47:50 +0200 [thread overview]
Message-ID: <55D38BE6.6080302@gmx.de> (raw)
In-Reply-To: <alpine.LRH.2.20.1508182141200.24742@math.ut.ee>
On 18.08.2015 20:44, Meelis Roos wrote:
> (CC-s added)
>
>>>> Tried 4.2.0-rc3-00246-g763e326 on A500 but it crashes on boot. This is
>>>> still present in todays 4.2.0-rc6+git. 4.1 was fine, I Will bisect but
>>>> it takes time.
>>>>
>>>> PDC Stable Storage facility v0.30
>>>> STI GSC/PCI core graphics driver Version 0.9b
>>>> Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
>>>> serial 0000:00:04.0: enabling device (0146 -> 0147)
>>>> console [ttyS0] disabled
>>>> 0000:00:04.0: ttyS0 at MMIO 0xfffffffff8000000 (irq = 21, base_baud = 115200) is a 16550A
>>>> console [ttyS0] enabled
>>>> console [ttyS0] enabled
>>>> bootconsole [ttyB0] disabled
>>>> bootconsole [ttyB0] disabled
>>>> 0000:00:04.0: ttyS1 at MMIO 0xfffffffff8000008 (irq = 21, base_baud = 115200) is a 16550A
>>>> 0000:00:04.0: ttyS2 at MMIO 0xfffffffff8000010 (irq = 21, base_baud = 115200) is a 16550A
>>>> serial 0000:00:05.0: enabling device (0000 -> 0003)
>>>> serial 0000:00:05.0: enabling SERR and PARITY (0003 -> 0143)
>>>> 0000:00:05.0: ttyS3 at MMIO 0xfffffffff8003000 (irq = 22, base_baud = 115200) is a 16550A
>>>> serial 0000:00:05.0: Couldn't register serial port 0, irq 22, type 2, error -28
>>>> sym53c8xx 0000:00:01.0: enabling device (0000 -> 0003)
>>>> sym53c8xx 0000:00:01.0: enabling SERR and PARITY (0003 -> 0143)
>>>
>>> I'm seeing the same problem on my rp5470 with Kernel 4.2-rc7. My machine just hangs though and doesn't crash.
>>
>> I did a bisect and commit 3a9ad0b4fdcd57f775d3615004c8c64c021a9e7d ("PCI: Add pci_bus_addr_t") seems to be the culprit:
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3a9ad0b4fdcd57f775d3615004c8c64c021a9e7d
>>
>> Since the patch has "CC: stable@vger.kernel.org # v3.19+", it might be the reason why you see kernel 3.19 failing too...
>
> I just found the same commit breaking my A500 parisc machine by
> bisecting.
>
> CC: patch author and linux-pci.
I think this is the problem:
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -1,6 +1,10 @@
#
# PCI configuration
#
+config PCI_BUS_ADDR_T_64BIT
+ def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
+ depends on PCI
CONFIG_PCI_BUS_ADDR_T_64BIT gets now defined on all 64bit arches.
Then if CONFIG_PCI_BUS_ADDR_T_64BIT is set, in pci_bus_alloc_resource()
64bit address spaces (IORESOURCE_MEM_64) will be enabled which weren't enabled before.
This trivial/temporary hack fixes the problem:
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -200,7 +200,7 @@ int pci_bus_alloc_resource(struct pci_bus *bus, struct resource *res,
resource_size_t),
void *alignf_data)
{
-#ifdef CONFIG_PCI_BUS_ADDR_T_64BIT
+#if defined(CONFIG_PCI_BUS_ADDR_T_64BIT) && !defined(CONFIG_PARISC)
int rc;
if (res->flags & IORESOURCE_MEM_64) {
but the real problem is probably, that the sym53c8xx driver or maybe the parisc PCI core code isn't 64bit clean?
I did some more debugging, and on parisc the first hang happens in function sym_check_raid() [called from sym2_probe()]
indrivers/scsi/sym53c8xx_2/sym_glue.c while trying to call readl():
ram_val = readl(device->s.ramaddr + ram_size - 16);
Helge
WARNING: multiple messages have this Message-ID (diff)
From: Helge Deller <deller@gmx.de>
To: Meelis Roos <mroos@linux.ee>, Yinghai Lu <yinghai@kernel.org>
Cc: linux-parisc@vger.kernel.org, linux-pci@vger.kernel.org,
David Ahern <david.ahern@oracle.com>,
Bjorn Helgaas <bhelgaas@google.com>,
sparclinux@vger.kernel.org,
James Bottomley <James.Bottomley@HansenPartnership.com>
Subject: Re: Aw: A500 boot crash in 4.2.0-rc3-00246-g763e326
Date: Tue, 18 Aug 2015 19:47:50 +0000 [thread overview]
Message-ID: <55D38BE6.6080302@gmx.de> (raw)
In-Reply-To: <alpine.LRH.2.20.1508182141200.24742@math.ut.ee>
On 18.08.2015 20:44, Meelis Roos wrote:
> (CC-s added)
>
>>>> Tried 4.2.0-rc3-00246-g763e326 on A500 but it crashes on boot. This is
>>>> still present in todays 4.2.0-rc6+git. 4.1 was fine, I Will bisect but
>>>> it takes time.
>>>>
>>>> PDC Stable Storage facility v0.30
>>>> STI GSC/PCI core graphics driver Version 0.9b
>>>> Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
>>>> serial 0000:00:04.0: enabling device (0146 -> 0147)
>>>> console [ttyS0] disabled
>>>> 0000:00:04.0: ttyS0 at MMIO 0xfffffffff8000000 (irq = 21, base_baud = 115200) is a 16550A
>>>> console [ttyS0] enabled
>>>> console [ttyS0] enabled
>>>> bootconsole [ttyB0] disabled
>>>> bootconsole [ttyB0] disabled
>>>> 0000:00:04.0: ttyS1 at MMIO 0xfffffffff8000008 (irq = 21, base_baud = 115200) is a 16550A
>>>> 0000:00:04.0: ttyS2 at MMIO 0xfffffffff8000010 (irq = 21, base_baud = 115200) is a 16550A
>>>> serial 0000:00:05.0: enabling device (0000 -> 0003)
>>>> serial 0000:00:05.0: enabling SERR and PARITY (0003 -> 0143)
>>>> 0000:00:05.0: ttyS3 at MMIO 0xfffffffff8003000 (irq = 22, base_baud = 115200) is a 16550A
>>>> serial 0000:00:05.0: Couldn't register serial port 0, irq 22, type 2, error -28
>>>> sym53c8xx 0000:00:01.0: enabling device (0000 -> 0003)
>>>> sym53c8xx 0000:00:01.0: enabling SERR and PARITY (0003 -> 0143)
>>>
>>> I'm seeing the same problem on my rp5470 with Kernel 4.2-rc7. My machine just hangs though and doesn't crash.
>>
>> I did a bisect and commit 3a9ad0b4fdcd57f775d3615004c8c64c021a9e7d ("PCI: Add pci_bus_addr_t") seems to be the culprit:
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id:9ad0b4fdcd57f775d3615004c8c64c021a9e7d
>>
>> Since the patch has "CC: stable@vger.kernel.org # v3.19+", it might be the reason why you see kernel 3.19 failing too...
>
> I just found the same commit breaking my A500 parisc machine by
> bisecting.
>
> CC: patch author and linux-pci.
I think this is the problem:
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
@@ -1,6 +1,10 @@
#
# PCI configuration
#
+config PCI_BUS_ADDR_T_64BIT
+ def_bool y if (ARCH_DMA_ADDR_T_64BIT || 64BIT)
+ depends on PCI
CONFIG_PCI_BUS_ADDR_T_64BIT gets now defined on all 64bit arches.
Then if CONFIG_PCI_BUS_ADDR_T_64BIT is set, in pci_bus_alloc_resource()
64bit address spaces (IORESOURCE_MEM_64) will be enabled which weren't enabled before.
This trivial/temporary hack fixes the problem:
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -200,7 +200,7 @@ int pci_bus_alloc_resource(struct pci_bus *bus, struct resource *res,
resource_size_t),
void *alignf_data)
{
-#ifdef CONFIG_PCI_BUS_ADDR_T_64BIT
+#if defined(CONFIG_PCI_BUS_ADDR_T_64BIT) && !defined(CONFIG_PARISC)
int rc;
if (res->flags & IORESOURCE_MEM_64) {
but the real problem is probably, that the sym53c8xx driver or maybe the parisc PCI core code isn't 64bit clean?
I did some more debugging, and on parisc the first hang happens in function sym_check_raid() [called from sym2_probe()]
indrivers/scsi/sym53c8xx_2/sym_glue.c while trying to call readl():
ram_val = readl(device->s.ramaddr + ram_size - 16);
Helge
next prev parent reply other threads:[~2015-08-18 19:47 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-12 20:35 A500 boot crash in 4.2.0-rc3-00246-g763e326 Meelis Roos
2015-08-13 11:32 ` John David Anglin
2015-08-13 15:42 ` Meelis Roos
2015-08-13 16:49 ` John David Anglin
2015-08-14 6:35 ` Meelis Roos
2015-08-14 11:29 ` John David Anglin
2015-08-13 11:35 ` John David Anglin
2015-08-13 15:42 ` Meelis Roos
2015-08-17 14:06 ` Aw: " Helge Deller
2015-08-18 13:01 ` Helge Deller
2015-08-18 18:44 ` Meelis Roos
2015-08-18 18:44 ` Meelis Roos
2015-08-18 19:47 ` Helge Deller [this message]
2015-08-18 19:47 ` Helge Deller
2015-08-18 21:24 ` Yinghai Lu
2015-08-18 21:24 ` Yinghai Lu
2015-08-19 4:48 ` Meelis Roos
2015-08-19 4:48 ` Meelis Roos
2015-08-19 5:30 ` Yinghai Lu
2015-08-19 5:30 ` Yinghai Lu
2015-08-19 11:25 ` John David Anglin
2015-08-19 11:25 ` John David Anglin
2015-08-19 14:06 ` Aw: " Helge Deller
2015-08-19 14:06 ` Helge Deller
2015-08-20 5:42 ` Bjorn Helgaas
2015-08-20 5:42 ` Bjorn Helgaas
2015-08-20 6:53 ` Helge Deller
2015-08-20 6:53 ` Helge Deller
2015-08-20 19:31 ` Yinghai Lu
2015-08-20 19:31 ` Yinghai Lu
2015-08-20 21:15 ` Helge Deller
2015-08-20 21:15 ` Helge Deller
2015-08-20 21:30 ` Bjorn Helgaas
2015-08-20 21:30 ` Bjorn Helgaas
2015-08-19 10:40 ` Aw: " Meelis Roos
2015-08-19 10:40 ` Meelis Roos
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=55D38BE6.6080302@gmx.de \
--to=deller@gmx.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=bhelgaas@google.com \
--cc=david.ahern@oracle.com \
--cc=linux-parisc@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mroos@linux.ee \
--cc=sparclinux@vger.kernel.org \
--cc=yinghai@kernel.org \
/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.