From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: Is there a function I can call from my ISR to tell ALSA to abort playback? Date: Thu, 15 Nov 2007 12:45:17 +0100 Message-ID: References: <473B5D83.2020408@freescale.com> <473C5F26.2050807@freescale.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx1.suse.de (ns.suse.de [195.135.220.2]) by alsa0.perex.cz (Postfix) with ESMTP id B85DA103821 for ; Thu, 15 Nov 2007 16:46:14 +0100 (CET) In-Reply-To: <473C5F26.2050807@freescale.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: alsa-devel-bounces@alsa-project.org Errors-To: alsa-devel-bounces@alsa-project.org To: Timur Tabi Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org At Thu, 15 Nov 2007 09:00:54 -0600, Timur Tabi wrote: > > Jaroslav Kysela wrote: > > > Yes, call snd_pcm_stop() function. The call must be protected with > > snd_pcm_stream_lock... See to i2c/other/ak4117.c for an example. > > That code calls snd_pcm_stop() from a timer, not an ISR. Do I need the call to > wake_up() as well? snd_pcm_stop() can be called from ISR, too (e.g. snd_pcm_period_elapsed() may call snd_pcm_stop() when XRUN occurs). You only need to protect it via snd_pcm_stream_lock*(). Takashi