Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3654737pxb; Mon, 24 Jan 2022 14:32:59 -0800 (PST) X-Google-Smtp-Source: ABdhPJx4OxYrVlv5N5crfuaQJPhQ5GS9/qUR2cGXbujbGc78ZZhvGZrxQ6255FhmKiQDOzeIY8fF X-Received: by 2002:a05:6a00:1693:b0:44c:64a3:d318 with SMTP id k19-20020a056a00169300b0044c64a3d318mr15800423pfc.81.1643063472287; Mon, 24 Jan 2022 14:31:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643063472; cv=none; d=google.com; s=arc-20160816; b=r3pI6KijnqO/tzo+1yR2rNyd3fIHEN0yneXD4UfjuQPQzWKnUsRsInVMOut+YmEhle WW6GO7MTNRFC2xs6loLGXxyLekvKJzxvVoSMm9M2KBGzZL0j7dENPqyk/H15gA7kngIp IbSjdk0F+FwcIA8DRQzH1611nXCNpv5Ofly6PPayzW6meIND1sb0JgiA0Op20SC6mHWO fLHKtwgXoaKh1fq3cQ+BjxC+x3Xv1NaQo/8PaSWJ5Ru0lKfqx9eGh92gIEu3NGPw+m5t TlenlyuRX/iVX4O9pyrlx3cjo3KeG6dKhDlnIJT+oP6A9Pp2/4grHUlgiBTd0bjgjj3B Qerg== 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=hHpBLfyWCeQXp68EHRhY7V+hpcyfgA6NVIl8kNv/2j8=; b=PYOC6zwEqvguAOd1edE5sXL4GKs5IOEt0Me3aEoh8bqfg8mzVGc2MbyAFe4KSddy54 MuuhRECC9BwHM74fwH0DC+i0r1saAme1vW4+NCvtYLJ7LlLgx3RzywLDH3GtmfCqotUf azGmlMrSMYuQBOfiFmL9hkweq5fhjGcQzoBZoOksfAuJD67PkRZVOKNLGdiG60cU1nP6 nwjnkVaRExOlR1InshVJa1R1Vzfp2xg+/Silo91oP3nF+BtSX+ubqmuqB7vC9UnKFpKm boEj+c0TqVW9J6JNCOZyNsVl+7MJGxIUcncxvIXLvP10h1hqUXBfrnmV6jccnN41sFLy 6X7A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="2Tr50/Dq"; 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 k35si14995577pgl.310.2022.01.24.14.31.00; Mon, 24 Jan 2022 14:31:12 -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="2Tr50/Dq"; 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 S1586632AbiAXW1E (ORCPT + 99 others); Mon, 24 Jan 2022 17:27:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1453942AbiAXVbS (ORCPT ); Mon, 24 Jan 2022 16:31:18 -0500 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 323A6C06137C; Mon, 24 Jan 2022 12:20:31 -0800 (PST) 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 ams.source.kernel.org (Postfix) with ESMTPS id CCEB1B8122C; Mon, 24 Jan 2022 20:20:30 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07532C340E5; Mon, 24 Jan 2022 20:20:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643055629; bh=ipc7IAl6/w4aJnjz2NcJSJkZF0EoOSK7yODQSB9i+8k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=2Tr50/Dqu5BjSAWRAAgoL6tqzdqpfyhVmCBnGdsVeU2kXB/EQdhtByUS9zxE7z7eT zKQNacYFksCNaB4xmXWqmOzz5n17GT2vI+MI6hvpaDzxkBGo9tHMzPVVYs7QKj5GzD sB62CxUOzh1jiUDFzsNRIh5y/t90RflJuIeJEdrw= 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 5.15 212/846] media: si2157: Fix "warm" tuner state detection Date: Mon, 24 Jan 2022 19:35:29 +0100 Message-Id: <20220124184108.241067963@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184100.867127425@linuxfoundation.org> References: <20220124184100.867127425@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 fefb2625f6558..75ddf7ed1faff 100644 --- a/drivers/media/tuners/si2157.c +++ b/drivers/media/tuners/si2157.c @@ -90,7 +90,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