From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264012AbUFXJXi (ORCPT ); Thu, 24 Jun 2004 05:23:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264048AbUFXJXi (ORCPT ); Thu, 24 Jun 2004 05:23:38 -0400 Received: from cantor.suse.de ([195.135.220.2]:55456 "EHLO Cantor.suse.de") by vger.kernel.org with ESMTP id S264012AbUFXJXe (ORCPT ); Thu, 24 Jun 2004 05:23:34 -0400 Date: Thu, 24 Jun 2004 11:23:33 +0200 Message-ID: From: Takashi Iwai To: linux-kernel@vger.kernel.org Subject: Re: [BUG] ali5451 not resumed properly under 2.6.7 ( fine under 2.6.6 ) In-Reply-To: <200406231004.27689.fedor@karpelevitch.net> References: <200406231004.27689.fedor@karpelevitch.net> User-Agent: Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.6 MULE XEmacs/21.4 (patch 15) (Security Through Obscurity) (i386-suse-linux) MIME-Version: 1.0 (generated by SEMI 1.14.5 - "Awara-Onsen") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org At Wed, 23 Jun 2004 10:04:17 -0700, Fedor Karpelevitch wrote: > > Hi, > > I upgraded to 2.6.7 recently and noticed that my ali5451 souncard > stopped behaving properly after resuming. > > Basically after resume it produces no sound even though everything > pretends that the card is working properly (mixer "changes" volume > etc...). > I found that executing something like 'alsactl -F power A5451 D1' > makes it produce sound again although the volume is noticably lower > than it should be. > > 2.6.6 works just fine. > > I looked at the diff for ali5451.c and noticed that in ali_suspend a > call to snd_pcm_suspend_all(chip->pcm) was added, but in ali_resume > no call to resume pcm was added. Could that be the cause of the > problem? No, the resume is done either in pcm_oss.c or by calling the resume ioctl explicitly from ALSA-native apps later on. > I will try adding that call and see if that fixes the problem. There is no function such as snd_pcm_resume_pcm(). Maybe you can remove the calls of snd_pcm_suspend_all(), snd_ac97_suspend() in suspend callback, and snd_ac97_resume() in resume callback. -- Takashi Iwai ALSA Developer - www.alsa-project.org