Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3551541pxb; Mon, 24 Jan 2022 12:02:48 -0800 (PST) X-Google-Smtp-Source: ABdhPJzY8XDVw8amKkAoUt8Iv/mYtUuasbXqddOb94nPOIEdHqTydXMO1vCxylzSp6raLivkum/2 X-Received: by 2002:a63:556:: with SMTP id 83mr4386733pgf.187.1643054568508; Mon, 24 Jan 2022 12:02:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643054568; cv=none; d=google.com; s=arc-20160816; b=z2FuQC4HV0COFzaVSkIM3u78TtaKVMnDWz3qRpdT5ltTnuFFK1KNp9OE8JnWpVgbQh AbIB9DjK/c748ERTKoZhxoLvwt4Vbj9BqYJhjcEoULMkopRK4sahFzG776EOpyHOxbgm ckIQxpDhoiedYbg702/pi/1UZSYAJg3Z18wyZOQWL9RZmzbiFOo9ixsAtlRajfnEAZL2 tF1CM3Xv3BKR8nkqj3GZeCpWDfrNt3D1MUPlVCqvEnvh8uxXbR7GqylcWz448ib2qNQt MLuCb0L57UAdSLTcGJkUDNGmrsAFJzjJRyLWGZzL5axlPQRE84ItJuxGtBkI+cqJOncj CrzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=FmV50j4t9KoUJWxi2L8dsP9OVO0j6VPfLEXTvGWU+UM=; b=l5QCTP2Kpp1+w67QRwTIhw2+n8EEqisdh1WamUoDTipfuq5BLX4pFte64ZrPBENFdA kxvkQzcZlj9Aau044Qsh+F0h3IT2HZWB+Q32mQADeozanyFbV73DGmWITpF2eFEY4Ghi yyiZRsigmyEnCtWg2OwPF1SNgtrJm3Le5YkqrdeoKwPrvDMc3OeMEFzxFzymbm/C1xY2 6xrl36S2AdrI7cPGAGtLcPRH7KixvjSQMHRYW6tAI/FvphUIq5V+YsjIwb+rcWTrPBAv v0P0+KhHXhgsOqRhe8h6zS6gFc05UdfBtVPiL5bYtp3TMh+1C0P3VmjxykTegFiL0kfi qL3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LVNNRTFk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i7si149512pla.230.2022.01.24.12.02.24; Mon, 24 Jan 2022 12:02:48 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LVNNRTFk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344575AbiAXTBl (ORCPT + 99 others); Mon, 24 Jan 2022 14:01:41 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]:56694 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241958AbiAXS5i (ORCPT ); Mon, 24 Jan 2022 13:57:38 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id E024961541; Mon, 24 Jan 2022 18:57:37 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7EB2C340E5; Mon, 24 Jan 2022 18:57:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643050657; bh=nfkrZ9vQdQXDle1iSPGaPmUkloG2VzjbMbrmFoaNN7s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LVNNRTFko74Fecs90MgWg52TCXeTV5ZfkPqSCuIb5b4Gbxh+htAkCOh01Ibfx5NZ2 Pjzwvjj8TDt1AWgytrZdUvyaNAf1XmnD9esRwmFRhrMqFGakjp9CLT9vgm8dE6bQkT Z67fV0Cn8LeFnE49lVo94CEdGt6tr2RmJWpbyTjo= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robert Schlabbach , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.9 044/157] media: si2157: Fix "warm" tuner state detection Date: Mon, 24 Jan 2022 19:42:14 +0100 Message-Id: <20220124183934.191880514@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124183932.787526760@linuxfoundation.org> References: <20220124183932.787526760@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Robert Schlabbach [ Upstream commit a6441ea29cb2c9314654e093a1cd8020b9b851c8 ] Commit e955f959ac52 ("media: si2157: Better check for running tuner in init") completely broke the "warm" tuner detection of the si2157 driver due to a simple endian error: The Si2157 CRYSTAL_TRIM property code is 0x0402 and needs to be transmitted LSB first. However, it was inserted MSB first, causing the warm detection to always fail and spam the kernel log with tuner initialization messages each time the DVB frontend device was closed and reopened: [ 312.215682] si2157 16-0060: found a 'Silicon Labs Si2157-A30' [ 312.264334] si2157 16-0060: firmware version: 3.0.5 [ 342.248593] si2157 16-0060: found a 'Silicon Labs Si2157-A30' [ 342.295743] si2157 16-0060: firmware version: 3.0.5 [ 372.328574] si2157 16-0060: found a 'Silicon Labs Si2157-A30' [ 372.385035] si2157 16-0060: firmware version: 3.0.5 Also, the reinitializations were observed disturb _other_ tuners on multi-tuner cards such as the Hauppauge WinTV-QuadHD, leading to missed or errored packets when one of the other DVB frontend devices on that card was opened. Fix the order of the property code bytes to make the warm detection work again, also reducing the tuner initialization message in the kernel log to once per power-on, as well as fixing the interference with other tuners. Link: https://lore.kernel.org/linux-media/trinity-2a86eb9d-6264-4387-95e1-ba7b79a4050f-1638392923493@3c-app-gmx-bap03 Fixes: e955f959ac52 ("media: si2157: Better check for running tuner in init") Reported-by: Robert Schlabbach Signed-off-by: Robert Schlabbach Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/tuners/si2157.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/tuners/si2157.c b/drivers/media/tuners/si2157.c index 72a47da0db2ae..e56837414e2c7 100644 --- a/drivers/media/tuners/si2157.c +++ b/drivers/media/tuners/si2157.c @@ -89,7 +89,7 @@ static int si2157_init(struct dvb_frontend *fe) dev_dbg(&client->dev, "\n"); /* Try to get Xtal trim property, to verify tuner still running */ - memcpy(cmd.args, "\x15\x00\x04\x02", 4); + memcpy(cmd.args, "\x15\x00\x02\x04", 4); cmd.wlen = 4; cmd.rlen = 4; ret = si2157_cmd_execute(client, &cmd); -- 2.34.1