mal_probe crash

Geert Uytterhoeven Geert.Uytterhoeven at sonycom.com
Tue Jan 13 00:37:55 EST 2009


On Fri, 9 Jan 2009, Roland Dreier wrote:
>  > Can you double check that the e1000 isn't copying the PCI resources into
>  > a unsigned long before ioremap'ing the result, thus cropping the top
>  > bits ?
> 
> as far as I can see, e1000 is using pci_ioremap_bar(), which should do
> the right thing as long as resource_size_t is the right type (which it
> looks like it is on PowerPC 44x).

Indeed, the full 36-bit address is passed to __ioremap() via pci_ioremap_bar(),
as evidenced from the additional debug output below (see [1]).

As I don't have any other 3.3V PCI Ethernet cards, I plugged in a 3.3V PCI USB
2.0 card in the second PCI slot, and got a similar crash (see [2]).

Are the PCI slots on the Sequoia known broken under recent Linux kernels? I've
never used them before...

[1] E1000 probe with more debug info:
| Intel(R) PRO/1000 Network Driver - version 7.3.20-k3-NAPI
| Copyright (c) 1999-2006 Intel Corporation.
| e1000 0000:00:0a.0: enabling device (0000 -> 0003)
| resource 0: [0x180000000-0x18001ffff]
| resource 1: [0x180020000-0x18003ffff]
| resource 2: [0x1000-0x103f]
| resource 3: [0x0-0x0]
| resource 4: [0x0-0x0]
| resource 5: [0x0-0x0]
| __ioremap: addr 0x180000000, size 131072, flags 0x500
|   v = 0xd10c0000
|   ((unsigned long)addr & ~PAGE_MASK) = 0x0
|   return d10c0000
| hw->hw_addr = d10c0000
| e1000_set_media_type:502: hw = cf8114fc
| e1000_set_media_type:503: hw->hw_addr = d10c0000
| e1000_set_media_type:509: 
| e1000_set_media_type:534: er32(STATUS) will do a readl() on d10c0008
| Machine check in kernel mode.
| Data Read PLB Error
| Oops: Machine check, sig: 7 [#1]
| PowerPC 44x Platform
| Modules linked in:
| NIP: c0188b48 LR: c0188b38 CTR: c01732f8
| REGS: cfff7f10 TRAP: 0214   Not tainted  (2.6.28-07939-g2150edc-dirty)
| MSR: 00029000 <EE,ME,CE>  CR: 28f60b22  XER: 20000000
| TASK = cf818400[1] 'swapper' THREAD: cf828000
| GPR00: c0188b38 cf829d90 cf818400 00000048 00001a88 ffffffff c0173d7c 00003fff 
| GPR08: 00000000 d10c0008 00003fff 00001a88 28f60b22 01000030 0ffb2400 00000001 
| GPR16: 007fff13 00400458 00800000 c032f69c c024cfc4 c0330000 cf8114fc 00000001 
| GPR24: cf811000 cf811320 00000001 00000047 c02a27dc 00000000 c024d524 cf8114fc 
| NIP [c0188b48] e1000_set_media_type+0xf4/0x1ec
| LR [c0188b38] e1000_set_media_type+0xe4/0x1ec
| Call Trace:
| [cf829d90] [c0188b38] e1000_set_media_type+0xe4/0x1ec (unreliable)
| [cf829db0] [c0236c84] e1000_probe+0x3c0/0xdf4
| [cf829e10] [c015c0bc] local_pci_probe+0x24/0x34
| [cf829e20] [c015c2e4] pci_device_probe+0x84/0xa8
| [cf829e50] [c017b9ec] driver_probe_device+0xb4/0x1e8
| [cf829e70] [c017bbc4] __driver_attach+0xa4/0xa8
| [cf829e90] [c017b1a0] bus_for_each_dev+0x70/0xac
| [cf829ec0] [c017b804] driver_attach+0x24/0x34
| [cf829ed0] [c017aaa8] bus_add_driver+0x1d0/0x244
| [cf829ef0] [c017bde4] driver_register+0x70/0x160
| [cf829f10] [c015c58c] __pci_register_driver+0x4c/0xac
| [cf829f30] [c02e1b30] e1000_init_module+0x58/0xa8
| [cf829f50] [c00013d8] do_one_initcall+0x34/0x1b0
| [cf829fc0] [c02c8178] kernel_init+0x94/0x100
| [cf829ff0] [c000da64] kernel_thread+0x50/0x6c
| Instruction dump:
| 409d00e8 80df0000 3c60c02a 7fc4f378 38a00216 386327e8 38c60008 480aaa19 
| 813f0000 39290008 7c0004ac 7fa04c2c <0c1d0000> 4c00012c 3c60c02a 7fa6eb78 
| ---[ end trace 6c682238ca36f67d ]---

[2] EHCI probe:
| ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
| ehci_hcd 0000:00:0c.2: enabling device (0000 -> 0002)
| ehci_hcd 0000:00:0c.2: EHCI Host Controller
| ehci_hcd 0000:00:0c.2: new USB bus registered, assigned bus number 1
| Machine check in kernel mode.
| Data Read PLB Error
| Oops: Machine check, sig: 7 [#1]
| PowerPC 44x Platform
| Modules linked in:
| NIP: c01baebc LR: c01a8264 CTR: c01badcc
| REGS: cfff7f10 TRAP: 0214   Not tainted  (2.6.28-07939-g2150edc-dirty)
| MSR: 00029000 <EE,ME,CE>  CR: 28d60324  XER: 20000000
| TASK = cf818400[1] 'swapper' THREAD: cf828000
| GPR00: 00000000 cf829d80 cf818400 cfa0f800 00000001 00000000 c026dd0c fffffffd 
| GPR08: 00000000 d1098000 00000000 d1098000 48d60342 01208030 0ffb2400 00000001 
| GPR16: 007fff13 00400458 00800000 ffffffff 007fff00 0ffadd68 00000000 00000001 
| GPR24: 00000000 c032de18 00000010 000000a0 cf8c6400 cf84c000 cfa0f8b8 cfa0f800 
| NIP [c01baebc] ehci_pci_setup+0xf0/0x600
| LR [c01a8264] usb_add_hcd+0x1a8/0x5e8
| Call Trace:
| [cf829d80] [00000001] 0x1 (unreliable)
| [cf829db0] [c01a8264] usb_add_hcd+0x1a8/0x5e8
| [cf829de0] [c01b395c] usb_hcd_pci_probe+0x158/0x2e4
| [cf829e10] [c015c0bc] local_pci_probe+0x24/0x34
| [cf829e20] [c015c2e4] pci_device_probe+0x84/0xa8
| [cf829e50] [c017b9ec] driver_probe_device+0xb4/0x1e8
| [cf829e70] [c017bbc4] __driver_attach+0xa4/0xa8
| [cf829e90] [c017b1a0] bus_for_each_dev+0x70/0xac
| [cf829ec0] [c017b804] driver_attach+0x24/0x34
| [cf829ed0] [c017aaa8] bus_add_driver+0x1d0/0x244
| [cf829ef0] [c017bde4] driver_register+0x70/0x160
| [cf829f10] [c015c58c] __pci_register_driver+0x4c/0xac
| [cf829f30] [c03061a0] ehci_hcd_init+0xb0/0xf0
| [cf829f50] [c00013d8] do_one_initcall+0x34/0x1b0
| [cf829fc0] [c02ec178] kernel_init+0x94/0x100
| [cf829ff0] [c000da64] kernel_thread+0x50/0x6c
| Instruction dump:
| 2f8001b5 409eff68 801e00e0 64002000 901e00e0 74082000 813f008c 7d2b4b78 
| 913f00b8 40a2ff60 7c0004ac 7c004c2c <0c000000> 4c00012c 5400063e 7c0b0214 
| ---[ end trace 8e7aeede5368187f ]---

With kind regards,

Geert Uytterhoeven
Software Architect

Sony Techsoft Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven at sonycom.com
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010



More information about the Linuxppc-dev mailing list