Panic in quirk_usb_early_handoff
Mason
slash.tmp at free.fr
Mon Mar 6 06:56:31 PST 2017
On 06/03/2017 15:30, Robin Murphy wrote:
> On 06/03/17 12:42, Mason wrote:
>
>> $ arm-linux-gnueabihf-addr2line -i -e vmlinux c039fe44
>> arch/arm/include/asm/io.h:119
>>
>> In other words, readl()
>> Not as helpful as expected...
>
> I guess your toolchain isn't generating whatever debug info that -i uses
> to show where it was actually inlined, shame.
I used gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf
Is that too old?
Might the issue come from my kernel config?
#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_REDUCED=y
CONFIG_DEBUG_INFO_SPLIT=y
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
CONFIG_FRAME_WARN=1024
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_READABLE_ASM is not set
# CONFIG_UNUSED_SYMBOLS is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_DEBUG_FS is not set
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not set
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_MAGIC_SYSRQ is not set
CONFIG_DEBUG_KERNEL=y
> Put together, if I'm skimming unfamiliar XHCI code and docs correctly,
> this would imply that a supposed read of the HCC Parameters register
> claimed that the extended capabilities register was at offset 0x29f8
> into a 0x2000-long BAR. That does suggest that whatever's being accessed
> through that ioremap() isn't actually the contents of BAR 0 at all (said
> field should apparently read as 0x140 representing an offset of 0x500).
> You're not still trying have your PCI host controller place its
> MEM-space window over the top of system RAM, are you? Otherwise, I'd be
> inclined to double check that your config space accesses and resource
> assignment are producing sane values.
It looks like the current PCI framework doesn't expect platforms to
multiplex config space and MEM space :-(
[ 0.994011] OF: PCI: host bridge /soc/pcie at 50000000 ranges:
[ 0.999721] OF: PCI: Parsing ranges property...
[ 1.004386] OF: PCI: MEM 0x50000000..0x5fffffff -> 0x00000000
[ 1.010471] pci-host-generic 50000000.pcie:
can't claim ECAM area [mem 0x50000000-0x5fffffff]:
address conflict with /soc/pcie at 50000000 [mem 0x50000000-0x5fffffff]
[ 1.025265] pci-host-generic: probe of 50000000.pcie failed with error -16
pcie at 50000000 {
compatible = "pci-host-ecam-generic";
reg = <0x50000000 0x10000000>;
device_type = "pci";
#size-cells = <2>;
#address-cells = <3>;
#interrupt-cells = <1>;
ranges = <0x02000000 0x0 0x0 0x50000000 0x0 0x10000000>;
};
Regards.
More information about the linux-arm-kernel
mailing list