Re: 2.6.18: hda_intel: azx_get_response timeout, switching to single_cmd mode...

From: Takashi Iwai
Date: Tue Sep 26 2006 - 12:09:51 EST


At Tue, 26 Sep 2006 08:56:11 -0700,
Randy Dunlap wrote:
>
> On Tue, 26 Sep 2006 17:48:33 +0200 Takashi Iwai wrote:
>
> > At Tue, 26 Sep 2006 08:37:20 -0700,
> > Randy Dunlap wrote:
> > >
> > > On Tue, 26 Sep 2006 12:16:33 +0200 Takashi Iwai wrote:
> > >
> > > > At Mon, 25 Sep 2006 12:58:08 -0700,
> > > > Jeremy Fitzhardinge wrote:
> > > > >
> > > > > I have a ThinkPad X60 which uses the Intel 82801G HDA audio chip. This
> > > > > used to work for me, but lately (sometime during 2.6.18-rcX series) it
> > > > > stopped working - programs trying to use it tend to just block forever
> > > > > waiting for /dev/dsp.
> > > > >
> > > > > The only obvious symptom is:
> > > > >
> > > > > hda_intel: azx_get_response timeout, switching to single_cmd mode...
> > > > >
> > > > > appearing in the kernel log when booting.
> > > > >
> > > >
> > > > There is no big change relevant to TP X60 during 2.6.18rc, so I don't
> > > > think it's a regression in the hd-audio driver code.
> > > >
> > > > > Details attached. The dmesg output is for the FC6 distro kernel
> > > > > 2.6.18-1.2689.fc6PAE, but I see the same symptoms with 2.6.18-mm1.
> > > >
> > > > You must see difference with mm1 (suppose that mm1 already includes
> > > > the latest ALSA patches). When the CORB/RIRB interrupt gets broken,
> > > > the driver first switches to poling mode, then single_cmd mode as
> > > > fallback.
> > > >
> > > > Also, try disable_msi=1 option for mm1. MSI seems broken on some
> > > > systems.
> > >
> > > is that "pci=nomsi" ?
> >
> > No, snd-hda-intel driver has a new module option "disable_msi" to
> > disable MSI support on that driver. As default, it's off, i.e. MSI is
> > enabled if available. (Well, I feel it's better to rename it
> > enable_msi and set on as default...)
> >
> > Sorry for unclear text.
>
> ugh. We shouldn't have drivers with such options IMO.
> I have seen/used MSI for ethernet, SATA, and audio.

Heh, you're a lucky guy :)

> It either works for all of them or none of them AFAIK.
>
> Why do you think that it should not just be a global system option/flag?

In the ealier version, we didn't call pci_enable_msi() in the driver
while the newer version does unless you pass disable_msi=1 option.
Thus, this option means to behave like the old driver. This makes
much easier to find out a regression than a global boot option
affecting all subsytems.


Takashi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/