Discussion:
snd_hda + ath = hard hang
(too old to reply)
Kostik Belousov
2007-11-25 20:20:06 UTC
Permalink
I have a laptop that shares interrupt between ath0 and snd_hda0 devices.
Machine works under the RELENG_6 normally. Now, on the RELENG_7 (and
CURRENT), attempt to ifconfig ath0 up usualy hangs the machine in the
next 2-5 minutes.

Hang is hard, I even cannot switch the console to look at the kernel
messages or enter the ddb. Also, laptop does not have a serial port.

Not setting the ath0 up, or, unloading snd_hda.ko before activating
the interface, allows machine to work. Wireless works without problem,
interrupt rate is as expected.

Any advice ?

pciconf:

***@pci0:0:0:0: class=0x060000 card=0x00901025 chip=0x27a08086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '955XM/945GM/PM/GMS/940GML Express Processor to DRAM Controller'
class = bridge
subclass = HOST-PCI
***@pci0:0:27:0: class=0x040300 card=0x00901025 chip=0x27d88086 rev=0x02 hdr=0x00
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) High Definition Audio'
class = multimedia
***@pci0:6:2:0: class=0x020000 card=0x04181468 chip=0x001a168c rev=0x01 hdr=0x00
vendor = 'Atheros Communications Inc.'
device = 'Atheros AR5005G Atheros AR5005G 802.11abg NIC Chipset / TP-Link (TL-WN551G)'
class = network
subclass = ethernet
Ariff Abdullah
2007-12-02 17:21:49 UTC
Permalink
On Sun, 25 Nov 2007 22:19:15 +0200
Post by Kostik Belousov
I have a laptop that shares interrupt between ath0 and snd_hda0
devices. Machine works under the RELENG_6 normally. Now, on the
RELENG_7 (and CURRENT), attempt to ifconfig ath0 up usualy hangs the
machine in the next 2-5 minutes.
Hang is hard, I even cannot switch the console to look at the kernel
messages or enter the ddb. Also, laptop does not have a serial port.
Not setting the ath0 up, or, unloading snd_hda.ko before activating
the interface, allows machine to work. Wireless works without
problem, interrupt rate is as expected.
Any advice ?
Try enabling msi via hint.pcm.%d.msi="1" . It is disabled by default
due to too many broken msi.

There is a poor man polling mode which can be enabled through sysctl
dev.pcm.%d.polling=1, but I won't recommend this for typical usage
(unless to debug this kind of weird issues).

This regression probably originated from somewhere else since you said
it was working fine under RELENG_6.
Post by Kostik Belousov
vendor = 'Intel Corporation'
device = '955XM/945GM/PM/GMS/940GML Express Processor to
DRAM Controller' class = bridge
subclass = HOST-PCI
vendor = 'Intel Corporation'
device = '82801G (ICH7 Family) High Definition Audio'
class = multimedia
vendor = 'Atheros Communications Inc.'
device = 'Atheros AR5005G Atheros AR5005G 802.11abg NIC
Chipset / TP-Link (TL-WN551G)' class = network
subclass = ethernet
--
Ariff Abdullah
FreeBSD

.. Recording in stereo is obviously too advanced
and confusing for us idiot ***** users :P ........
Kostik Belousov
2007-12-03 09:30:30 UTC
Permalink
Post by Ariff Abdullah
On Sun, 25 Nov 2007 22:19:15 +0200
Post by Kostik Belousov
I have a laptop that shares interrupt between ath0 and snd_hda0
devices. Machine works under the RELENG_6 normally. Now, on the
RELENG_7 (and CURRENT), attempt to ifconfig ath0 up usualy hangs the
machine in the next 2-5 minutes.
Hang is hard, I even cannot switch the console to look at the kernel
messages or enter the ddb. Also, laptop does not have a serial port.
Not setting the ath0 up, or, unloading snd_hda.ko before activating
the interface, allows machine to work. Wireless works without
problem, interrupt rate is as expected.
Any advice ?
Try enabling msi via hint.pcm.%d.msi="1" . It is disabled by default
due to too many broken msi.
There is a poor man polling mode which can be enabled through sysctl
dev.pcm.%d.polling=1, but I won't recommend this for typical usage
(unless to debug this kind of weird issues).
This regression probably originated from somewhere else since you said
it was working fine under RELENG_6.
I filled the PR 118316, see there for some kind of workaround/solution.
It seems that removing INTR_FILTER from kernel config solves it.
Ariff Abdullah
2007-12-03 14:39:24 UTC
Permalink
On Mon, 3 Dec 2007 11:29:43 +0200
Post by Kostik Belousov
Post by Ariff Abdullah
On Sun, 25 Nov 2007 22:19:15 +0200
Post by Kostik Belousov
I have a laptop that shares interrupt between ath0 and snd_hda0
devices. Machine works under the RELENG_6 normally. Now, on the
RELENG_7 (and CURRENT), attempt to ifconfig ath0 up usualy hangs
the machine in the next 2-5 minutes.
Hang is hard, I even cannot switch the console to look at the
kernel messages or enter the ddb. Also, laptop does not have a
serial port.
Not setting the ath0 up, or, unloading snd_hda.ko before
activating the interface, allows machine to work. Wireless works
without problem, interrupt rate is as expected.
Any advice ?
Try enabling msi via hint.pcm.%d.msi="1" . It is disabled by
default due to too many broken msi.
There is a poor man polling mode which can be enabled through
sysctl dev.pcm.%d.polling=1, but I won't recommend this for
typical usage (unless to debug this kind of weird issues).
This regression probably originated from somewhere else since you
said it was working fine under RELENG_6.
I filled the PR 118316, see there for some kind of
workaround/solution. It seems that removing INTR_FILTER from kernel
config solves it.
ah.. ok. Thanks.


--
Ariff Abdullah
FreeBSD

.. Recording in stereo is obviously too advanced
and confusing for us idiot ***** users :P ........

Loading...