[alsa-devel] Fwd: Possible bug in sound/pci/atiixp.c ?
Amir Shamsuddin
AmirS2+alsa at gmail.com
Mon Mar 14 10:35:08 CET 2011
On Fri, Mar 11, 2011 at 2:50 PM, Amir Shamsuddin <AmirS2+alsa at gmail.com> wrote:
> On Fri, Mar 11, 2011 at 2:44 PM, Takashi Iwai <tiwai at suse.de> wrote:
>> At Fri, 11 Mar 2011 11:04:27 +0000,
>> Amir Shamsuddin wrote:
>>>
>>> Hi,
>>>
>>> My laptop occasionally fails to resume from suspend, and when it does,
>>> I see (only) this error message on screen:
>>>
>>> [nnn.nnn] atiixp: codec reset timeout
>>>
>>> I had a look at the code where this comes from, and while I'm not sure
>>> it's related to my resume problem, it does (to my untrained eyes) look
>>> like there is a small bug in the function snd_atiixp_aclink_reset in
>>> file sound/pci/atiixp.c:
>>>
>>> (lines 500 - 536 in latest git)
>>> static int snd_atiixp_aclink_reset(struct atiixp *chip)
>>> {
>>> int timeout;
>>> [snip]
>>> timeout = 10;
>>> while (! (atiixp_read(chip, CMD) & ATI_REG_CMD_ACLINK_ACTIVE)) {
>>> /* do a hard reset */
>>> [snip]
>>> if (--timeout) {
>>> snd_printk(KERN_ERR "atiixp: codec reset timeout\n");
>>> break;
>>> }
>>> }
>>> [snip]
>>> }
>>>
>>> Surely the timeout condition should be negated, so the timeout message
>>> and loop break is only hit when 'timeout' reaches zero? ie.
>>>
>>> if (! --timeout) {
>>>
>>> Or am I missing something?
>>
>> Indeed it's a bug. Does the message go away when you change it?
>
> I haven't tried a new kernel with it fixed yet (I'm not usually a
> kernel developer), but I'll give it a go and try and trigger the
> resume bug and let you know what happens.
I've tried it now, the message does go away with the fix in.
Unfortunately it doesn't help my laptop resume, but I think that's a
separate problem!
Amir
More information about the Alsa-devel
mailing list