From patchwork Tue Aug 18 19:47:50 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Helge Deller X-Patchwork-Id: 7033161 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id BFD289F372 for ; Tue, 18 Aug 2015 19:48:08 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D48B9202FF for ; Tue, 18 Aug 2015 19:48:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 316C1203B0 for ; Tue, 18 Aug 2015 19:48:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754049AbbHRTsE (ORCPT ); Tue, 18 Aug 2015 15:48:04 -0400 Received: from mout.gmx.net ([212.227.15.15]:55897 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752501AbbHRTsD (ORCPT ); Tue, 18 Aug 2015 15:48:03 -0400 Received: from [192.168.20.60] ([92.203.53.83]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0M1Wcz-1Ycptr3FyT-00tQCO; Tue, 18 Aug 2015 21:47:54 +0200 Subject: Re: Aw: A500 boot crash in 4.2.0-rc3-00246-g763e326 To: Meelis Roos , Yinghai Lu References: Cc: linux-parisc@vger.kernel.org, linux-pci@vger.kernel.org, David Ahern , Bjorn Helgaas , sparclinux@vger.kernel.org, James Bottomley From: Helge Deller Message-ID: <55D38BE6.6080302@gmx.de> Date: Tue, 18 Aug 2015 21:47:50 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: X-Provags-ID: V03:K0:0vJPdmqmG8XsWSs7g2rEsCHWfAvLIFaKL2weiUassgzTx0P3dzM Nojg3+EVhN0Ofu2u0D5C4AjdO0y/0jaRsRv1DPMIyleD84MVtlDg5Ob2iEuZByC9wi8LNxE edFNMYGuisQNGpukGiJSRbJcLiKr09gOsJdGqzkDEsMT93G1HqlqKT+q3Pu23Cf4zsRgpvU pCs407oDkpFMXwgLrUUsw== X-UI-Out-Filterresults: notjunk:1; V01:K0:XqFhUGamS/M=:h7EW1SPP8dsmMBDHzJf/Gv Vm2X446G7dTb4pzl4ylRN5A+Od5HPB94d2zUNJRTM2xljOcRUKHcRV8gs6W/vjFBNxTCEoSD2 NDH582icqrYy4Xjwv1LZMbDtNAWrmF2g+oZB96U1/VKYrITHmh4xSQImkeQ+29odu4UJnSHVd vOMLRHin4KxKlAGRCTex6iErn8hANPUI0SJFLQplUAk0u4yzwhOz0QtPou/L0mPO2Fq9xQIVe fGyzyUCCCixZjDSv11+KWdsdPKx8nHs9ONRsy+eKeIw1HNgplm+XbjGbj7gFQ5ndDZYcEEnqQ W7/FSAbbe8xravKgF69A/flIeni6BzOJfy7JXZeWxQhiRLF/NIvF+U+1r1e8qVTzdybDlqPQV lny/Sopcm1S6g8RVhRpy4YYh1LMvk9YPbnB4GFmNjvHtwRRvb8XjKKC/WGKdBBejRa15vZqPP 9RxqgfLZgIWkLSSnMtsVdO5lsqgrbbuBkSB52WmESjJi2aXEXvdatnFN7LilZm8E1th9jw5iM yXYVdRg1UK80heC50P9//Ju/2JtZ4zF2or64rld6PoqIJA+trp3+ZNZhwqX2SqJrYnps6QaPD JPea3lALKvxicpXfl4qUfsSvFBYfbS+WIDgOk975/reFP1kQbXKAuXXfb+RrkyRNYKBTTOzwm /xsZEcdsS0lTZ1BgA6dNt1QDdyek/C5f6skn/OOUvBoIyRN4yQ1EOasSJQSxi1GmENTosmjG7 2dp2lMKFrrK++6z8CY31ZvWw6+UlRGWFuIVcbw== Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP 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: 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 --- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html --- 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) {