On Tue, Nov 11, 2014 at 01:44:57PM +0200, Alexey Kurinnij wrote:
> Sorry, in first message ddb only for one processor. This is fresh for both:
athn0 at pci3 dev 0 function 0 "Atheros AR9300" rev 0x01: apic 0 int 16
Sorry, this chip isn't supported. See the man page -- it's not listed.
Damien committed untested code for this chip years ago and made the
driver use that code (see r1.1 in CVS log for dev/ic/ar9003.c).
There have been various crashes as a result, some already fixed,
some not fixed.
Since this problem keeps coming up, and ar9003 cards are known to be
broken, and nobody is working on fixing them.... I believe we should
simply stop the kernel from attaching them for now.
Index: if_athn_pci.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_athn_pci.c,v
retrieving revision 1.16
diff -u -p -r1.16 if_athn_pci.c
--- if_athn_pci.c 8 Jul 2014 08:55:33 -0000 1.16
+++ if_athn_pci.c 11 Nov 2014 11:58:33 -0000
@@ -97,8 +97,7 @@ static const struct pci_matchid athn_pci
{ PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR9285 },
{ PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR2427 },
{ PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR9227 },
- { PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR9287 },
- { PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR9300 }
+ { PCI_VENDOR_ATHEROS, PCI_PRODUCT_ATHEROS_AR9287 }
};
int
>
> # ifconfig athn0 up
> panic: kernel diagnostic assertion "pin < sc->ngpiopins" failed: file
> "../../../../dev/ic/ar9003.c", line 512
> Stopped at Debugger+0x9: leave
> RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
> IF RUNNING SMP, USE 'mach ddbcpu <#>' AND 'trace' ON OTHER PROCESSORS, TOO.
> DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
> ddb{1}> trace
> Debugger() at Debugger+0x9
> panic() at panic+0xfe
> __assert() at __assert+0x25
> ar9003_gpio_write() at ar9003_gpio_write+0x9d
> athn_init() at athn_init+0xfb
> athn_ioctl() at athn_ioctl+0x1e6
> ifioctl() at ifioctl+0xb18
> sys_ioctl() at sys_ioctl+0x169
> syscall() at syscall+0x297
> --- syscall (number 54) ---
> end of kernel
> end trace frame: 0x7f7ffffbcca0, count: -9
> acpi_pdirpa+0x3fc50a:
> ddb{1}> mach ddbcpu 0
> Stopped at Debugger+0x9: leave
> RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC!
> IF RUNNING SMP, USE 'mach ddbcpu <#>' AND 'trace' ON OTHER PROCESSORS, TOO.
> DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION!
> ddb{0}> trace
> Debugger() at Debugger+0x9
> x86_ipi_handler() at x86_ipi_handler+0x64
> Xresume_lapic_ipi() at Xresume_lapic_ipi+0x1b
> --- interrupt ---
> Bad frame pointer: 0xffff80001ce45c08
> end trace frame: 0xffff80001ce45c08, count: -3
> __mp_lock+0x42:
> ddb{0}> ps
> PID PPID PGRP UID S FLAGS WAIT COMMAND
> 19450 13014 19450 0 7 0x3 ifconfig
> 13014 1 13014 0 3 0x8b pause ksh
> 25598 1 25598 0 3 0x83 ttyin getty
> 18456 1 18456 0 3 0x83 ttyin getty
> 11661 1 11661 0 3 0x83 ttyin getty
> 916 1 916 0 3 0x83 ttyin getty
> 6800 1 6800 0 3 0x83 ttyin getty
> 26728 1 26728 0 3 0x80 select cron
> 3038 1 3038 0 3 0x80 nanosleep sensorsd
> 19379 1 19379 0 3 0x80 kqread apmd
> 12318 1 12318 99 3 0x90 poll sndiod
> 10631 30214 30214 95 3 0x90 kqread smtpd
> 9723 30214 30214 95 3 0x90 kqread smtpd
> 20447 30214 30214 95 3 0x90 kqread smtpd
> 32443 30214 30214 95 3 0x90 kqread smtpd
> 10158 30214 30214 95 3 0x90 kqread smtpd
> 26620 30214 30214 103 3 0x90 kqread smtpd
> 30214 1 30214 0 3 0x80 kqread smtpd
> 25074 1 25074 77 3 0x90 poll dhcpd
> 5058 1 5058 0 3 0x80 select sshd
> 13567 28172 22 83 3 0x90 poll ntpd
> 28172 22 22 83 3 0x90 poll ntpd
> 22 1 22 0 3 0x80 poll ntpd
> 12313 17356 17356 70 3 0x90 select named
> 17356 1 17356 0 3 0x90 netio named
> 13591 11643 11643 74 3 0x90 bpf pflogd
> 11643 1 11643 0 3 0x80 netio pflogd
> 22160 30463 30463 73 3 0x90 poll syslogd
> 30463 1 30463 0 3 0x80 netio syslogd
> *16977 1 16977 77 7 0x90 dhclient
> 26597 1 26597 0 3 0x80 poll dhclient
> 27019 0 0 0 3 0x14200 bored ttm_swap
> 27833 0 0 0 3 0x14200 aiodoned aiodoned
> 13860 0 0 0 3 0x14200 syncer update
> 12987 0 0 0 3 0x14200 cleaner cleaner
> 29718 0 0 0 3 0x14200 reaper reaper
> 9873 0 0 0 3 0x14200 pgdaemon pagedaemon
> 30462 0 0 0 3 0x14200 bored crypto
> 28888 0 0 0 3 0x14200 pftm pfpurge
> 31001 0 0 0 3 0x14200 bored sensors
> 14441 0 0 0 3 0x14200 usbtsk usbtask
> 13312 0 0 0 3 0x14200 usbatsk usbatsk
> 16136 0 0 0 3 0x40014200 acpi0 acpi0
> 27548 0 0 0 3 0x40014200 idle1
> 20115 0 0 0 3 0x14200 bored systqmp
> 11558 0 0 0 3 0x14200 bored systq
> 14960 0 0 0 3 0x14200 bored syswq
> 14541 0 0 0 3 0x40014200 idle0
> 1 0 1 0 3 0x82 wait init
> 0 -1 0 0 3 0x10200 scheduler swapper
> ddb{0}>