From patchwork Thu Nov 25 13:05:42 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans Verkuil X-Patchwork-Id: 356722 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oAPD6uYj028460 for ; Thu, 25 Nov 2010 13:06:56 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752757Ab0KYNGx (ORCPT ); Thu, 25 Nov 2010 08:06:53 -0500 Received: from smtp-vbr15.xs4all.nl ([194.109.24.35]:2450 "EHLO smtp-vbr15.xs4all.nl" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752533Ab0KYNGw convert rfc822-to-8bit (ORCPT ); Thu, 25 Nov 2010 08:06:52 -0500 Received: from durdane.localnet (marune.xs4all.nl [82.95.89.49]) (authenticated bits=0) by smtp-vbr15.xs4all.nl (8.13.8/8.13.8) with ESMTP id oAPD5hBD099383 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 25 Nov 2010 14:05:43 +0100 (CET) (envelope-from hverkuil@xs4all.nl) From: Hans Verkuil To: stable@kernel.org Subject: [PATCH] [media] msp3400: fix mute audio regression Date: Thu, 25 Nov 2010 14:05:42 +0100 User-Agent: KMail/1.13.5 (Linux/2.6.32-23-generic; KDE/4.4.5; x86_64; ; ) Cc: linux-media@vger.kernel.org MIME-Version: 1.0 Message-Id: <201011251405.42646.hverkuil@xs4all.nl> X-Virus-Scanned: by XS4ALL Virus Scanner Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Thu, 25 Nov 2010 13:06:56 +0000 (UTC) diff --git a/drivers/media/video/msp3400-driver.c b/drivers/media/video/msp3400-driver.c index fe18a0a..b1763ac 100644 --- a/drivers/media/video/msp3400-driver.c +++ b/drivers/media/video/msp3400-driver.c @@ -381,7 +381,12 @@ static int msp_s_ctrl(struct v4l2_ctrl *ctrl) void msp_update_volume(struct msp_state *state) { - v4l2_ctrl_s_ctrl(state->volume, v4l2_ctrl_g_ctrl(state->volume)); + /* Force an update of the volume/mute cluster */ + v4l2_ctrl_lock(state->volume); + state->volume->val = state->volume->cur.val; + state->muted->val = state->muted->cur.val; + msp_s_ctrl(state->volume); + v4l2_ctrl_unlock(state->volume); } /* --- v4l2 ioctls --- */