tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: mfii0 disappears on warm reboot



Hi,

Here are the pcidumps from both the working mfii0 and mfii0 after warm reboot:

https://www.klos.com/~john/pcidump_raid.txt
https://www.klos.com/~john/pcidump_noraid.txt

This is what's different:

3c3
<     0x00: 0x005b1000 0x00100000 0x01040003 0x00000000
---
    0x00: 0x005b1000 0x00100007 0x01040003 0x00000010
7,10c7,10
<     Command register: 0x0000
<       I/O space accesses: off
<       Memory space accesses: off
<       Bus mastering: off
---
    Command register: 0x0007
      I/O space accesses: on
      Memory space accesses: on
      Bus mastering: on
40c40
<     Cache Line Size: 0bytes (0x00)
---
    Cache Line Size: 64bytes (0x10)
43c43
<     0x10: 0x00000001 0x00000004 0x00000000 0x00000004
---
    0x10: 0x0000e001 0xfea60004 0x00000000 0xfea00004
45c45
<     0x30: 0x00000000 0x00000050 0x00000000 0x00000100
---
    0x30: 0xfea40000 0x00000050 0x00000000 0x00000105
49c49
<       base: 0x00000000, disabled
---
      base: 0x0000e000
52c52
<       base: 0x0000000000000000, disabled
---
      base: 0x00000000fea60000
55c55
<       base: 0x0000000000000000, disabled
---
      base: 0x00000000fea00000
61,62c61,62
<     Expansion ROM Base Address Register: 0x00000000
<       base: 0x00000000
---
    Expansion ROM Base Address Register: 0xfea40000
      base: 0xfea40000
71c71
<     Interrupt line: 0x00
---
    Interrupt line: 0x05
141c141
<     Device Control Register: 0x2810
---
    Device Control Register: 0x2840
146,147c146,147
<       Enable Relaxed Ordering: on
<       Max Payload Size: 128 byte
---
      Enable Relaxed Ordering: off
      Max Payload Size: 512 byte
173c173
<     Link Control Register: 0x0080
---
    Link Control Register: 0x00c0
178c178
<       Common Clock Configuration: off
---
      Common Clock Configuration: on
257c257
<       MSI-X Enable: off
---
      MSI-X Enable: on
269c269
<     0x70: 0x00092810 0x00407482 0x10420080 0x00000000
---
    0x70: 0x00092840 0x00407482 0x104200c0 0x00000000
274c274
<     0xc0: 0x000f0011 0x00002001 0x00003001 0x00000000
---
    0xc0: 0x800f0011 0x00002001 0x00003001 0x00000000
383c383
<     0x120: 0x0000000f 0x0101004c 0x73cd647b
---
    0x120: 0x0000000f 0x0101004c 0x2d3319c8
471c471
<     0x120: 0x0000000f 0x0101004c 0x73cd647b 0x00000000
---
    0x120: 0x0000000f 0x0101004c 0x2d3319c8 0x00000000


When the RAID card is working, detaching with "drvctl -d mfii0" and trying to reattach caused a panic:

[   256.157518] dk5 at sd0 (doozerroot) deleted
[   256.157518] dk4 at sd0 (doozerswap) deleted
[   256.157518] sd0: detached
[   256.157518] scsibus0: detached
[   256.287530] mfii0: detached
[   269.317565] mfii0 at pci1 dev 0 function 0panic: kernel diagnostic assertion "msipic_find_msi_pic_locked(msipic->mp_devid) == NULL" failed: file "/usr/src/sys/arch/x86/pci/msipic.c", line 262
[   269.327575] cpu0: Begin traceback...
[   269.327575] vpanic() at netbsd:vpanic+0x183
[   269.327575] kern_assert() at netbsd:kern_assert+0x4b
[   269.327575] msipic_construct_common_msi_pic() at netbsd:msipic_construct_common_msi_pic+0x325
[   269.327575] msipic_construct_msix_pic() at netbsd:msipic_construct_msix_pic+0x6e
[   269.337510] pci_msix_alloc_common.part.0() at netbsd:pci_msix_alloc_common.part.0+0x26
[   269.337510] pci_msix_alloc_exact() at netbsd:pci_msix_alloc_exact+0x5c
[   269.337510] pci_intr_alloc() at netbsd:pci_intr_alloc+0x57
[   269.337510] mfii_attach() at netbsd:mfii_attach+0x2c0
[   269.337510] config_attach_internal() at netbsd:config_attach_internal+0x19f
[   269.347509] config_found() at netbsd:config_found+0xc3
[   269.347509] pci_probe_device() at netbsd:pci_probe_device+0x661
[   269.347509] pci_enumerate_bus() at netbsd:pci_enumerate_bus+0x1a4
[   269.347509] pcirescan() at netbsd:pcirescan+0x4e
[   269.347509] rescanbus() at netbsd:rescanbus+0x16d
[   269.347509] drvctl_ioctl() at netbsd:drvctl_ioctl+0x534
[   269.357510] sys_ioctl() at netbsd:sys_ioctl+0x56d
[   269.357510] syscall() at netbsd:syscall+0x196
[   269.357510] --- syscall (number 54) ---
[   269.357510] netbsd:syscall+0x196:
[   269.357510] cpu0: End traceback...

[   269.357510] dumping to dev 168,1 (offset=8, size=6146568):
[   269.357510] dump [   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,



As per some excellent recommendations, I'd like to try to reset the card, but I'm not sure how to use pcictl to do this. Does anyone have an idea?

John


Home | Main Index | Thread Index | Old Index