Messages in this thread | | | Date | Mon, 22 Apr 2013 11:19:07 +0200 | From | Takashi Iwai <> | Subject | Re: irq 16: nobody cared |
| |
At Mon, 22 Apr 2013 11:13:10 +0200, Borislav Petkov wrote: > > On Mon, Apr 22, 2013 at 10:32:17AM +0200, Takashi Iwai wrote: > > Hm, if it's really due to a stray irq, just adding the missing > > synchronize_irq() like below would help? > > > > > > Takashi > > > > --- > > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c > > index 7b213d5..262dbf1 100644 > > --- a/sound/pci/hda/hda_intel.c > > +++ b/sound/pci/hda/hda_intel.c > > @@ -2682,6 +2682,8 @@ static void azx_stop_chip(struct azx *chip) > > /* disable interrupts */ > > azx_int_disable(chip); > > azx_int_clear(chip); > > + if (chip->irq >= 0) > > + synchronize_irq(chip->irq); > > Nope, it doesn't help - I see the same splat.
Thanks. Then I have no idea what's missing in the current azx_suspend() and azx_resume() codes.
Is the PCI device a HD-audio controller for the built-in analog or a HDMI audio controller coupled with a graphics chip?
I wonder why no MSI is used there. MSI should have been used for most of controllers except for cases where blacklisted with PCI SSID or Nvidia / Creative controllers.
Takashi
| |