Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp4011473imm; Mon, 14 May 2018 00:57:49 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpqzj7ffxFxHbzYB1KnDajJnAxUAroza7Od0HEaDNX9463zOhyGD5kvWR7jGHy0tevG28+p X-Received: by 2002:a17:902:5382:: with SMTP id c2-v6mr8794069pli.335.1526284669110; Mon, 14 May 2018 00:57:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526284669; cv=none; d=google.com; s=arc-20160816; b=YSwJQ1gp5n0PMXvBr1vxBDpnGkmCffQnOilJwI53hcGMM1KFsAH4Gyf5tDBnp1zUo8 cZ4fW6AdwK9FlT6zO6/s+6rRrbyXhNZxXK7RhRd51x1JEyrKWiJdz9MVgeEHDxGz+MgV U36NYKN4PFEyTz2O9vuRl7fS+fllazOPjyhHHm2TjUTJ6s4i+AaYE6ODjf/EW3OOy/Fo +BzGSkRAGKoCoiYmPD4BSESU7HSLMjQZ+v2OMAc1c8zY94ipoT2ABbmlNUqPOlwdMFWL xeSMx1mIwbsUTDodj8Vz9wPgs1VEI26ASFhnszeWeTVwRIw7h4t54JidiN4MtQgFXplN u7oQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=cPtPTIA8KmwXvSQmQxFD42QZxqLoKC3IcPAAObZsQIA=; b=y80czt6RZ7RHV55EzzSbjtnEjiBww6Nd1vYOkvJcjG3TWENoXuCx/vd4/n7ne/h+tq QKXPApNoty5gE/ZF5Qena5cJ06BtWWVHHPROi9AqTIXnluS568pth878g3S7cA+nxFMv 0ChT0wYIf9NToy191rP4ElqDtlFjH+WbGwQ57JHPHuOz2aFkEs6O0ELofNx0ePRrIZnP /IV85SQKQUpW4007tinGrA7KTbKFIxhR3GeTNGfJpNPV643mQKXXupolm6EksfuQHzYR BXF03Rj4AQ+lXJ6+FPCIN5jyzj+lEG8f/Jf+Bh/ttC7CQOYLfCr94K/3BCtCZ3IKUrf2 Kx1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zln3ObOV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f7-v6si9070377pfa.78.2018.05.14.00.57.34; Mon, 14 May 2018 00:57:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=zln3ObOV; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752102AbeENH5K (ORCPT + 99 others); Mon, 14 May 2018 03:57:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:56846 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751533AbeENGuJ (ORCPT ); Mon, 14 May 2018 02:50:09 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id A43E9205F4; Mon, 14 May 2018 06:50:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1526280609; bh=b8U9umW8BJN82GQkT8MwfbvKFwOZFm9pg3xNW1lyPPw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zln3ObOVcEpez2LBL7xRAVpUZPn/A9cbb30EZ/9VgLQ5ylCZ/16GK09IGB6N7H2t4 S+NS8vf0WqmyDh1CNRxDnHx8dVKIBUyQL+6N3W55bVIcPmhon1u0pCRAyLgCRqjM4k H4q4BmmH8QD++7F+qSi9rIXDVHiidJWmuaezObZM= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robert Rosengren , Takashi Iwai Subject: [PATCH 3.18 06/23] ALSA: aloop: Mark paused device as inactive Date: Mon, 14 May 2018 08:48:35 +0200 Message-Id: <20180514064704.324642743@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180514064704.046463679@linuxfoundation.org> References: <20180514064704.046463679@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Robert Rosengren commit 306a4f3ca7f3c7dfa473ebd19d66e40e59d99734 upstream. Show paused ALSA aloop device as inactive, i.e. the control "PCM Slave Active" set as false. Notification sent upon state change. This makes it possible for client capturing from aloop device to know if data is expected. Without it the client expects data even if playback is paused. Signed-off-by: Robert Rosengren Signed-off-by: Takashi Iwai Signed-off-by: Greg Kroah-Hartman --- sound/drivers/aloop.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) --- a/sound/drivers/aloop.c +++ b/sound/drivers/aloop.c @@ -297,6 +297,8 @@ static int loopback_trigger(struct snd_p cable->pause |= stream; loopback_timer_stop(dpcm); spin_unlock(&cable->lock); + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + loopback_active_notify(dpcm); break; case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: case SNDRV_PCM_TRIGGER_RESUME: @@ -305,6 +307,8 @@ static int loopback_trigger(struct snd_p cable->pause &= ~stream; loopback_timer_start(dpcm); spin_unlock(&cable->lock); + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + loopback_active_notify(dpcm); break; default: return -EINVAL; @@ -894,9 +898,11 @@ static int loopback_active_get(struct sn [kcontrol->id.subdevice][kcontrol->id.device ^ 1]; unsigned int val = 0; - if (cable != NULL) - val = (cable->running & (1 << SNDRV_PCM_STREAM_PLAYBACK)) ? - 1 : 0; + if (cable != NULL) { + unsigned int running = cable->running ^ cable->pause; + + val = (running & (1 << SNDRV_PCM_STREAM_PLAYBACK)) ? 1 : 0; + } ucontrol->value.integer.value[0] = val; return 0; }