Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3715479pxb; Mon, 24 Jan 2022 16:09:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJw0MpkK9DtOrW3RcMGWhifMUydmBqa6Tm4ZCfFje55xSZMTGFROjlFsy9Dxc0Thp3G4UOjz X-Received: by 2002:a63:a706:: with SMTP id d6mr13393179pgf.390.1643069352906; Mon, 24 Jan 2022 16:09:12 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643069352; cv=none; d=google.com; s=arc-20160816; b=cUnL3+i8Li/YClz8kTgO4XPEzvjq26wYgdIK4xTpj/twuybj+l6nK/gryHOdJyX65W ezDmP2aLOxGY66ZYcMrzhIFnshwGH8JcOPH1yAgTsXty4uXaTeOA0p8sxYAJ29Ps3Yld 70aTSXnTF3DQR0ykZIVvi9jWwkn1kzSt1IkQ+ESRuGAWInzH6UlHMkvglKmwBckQoCS/ iGPFXPfnwNnAKEM7ARp1CIqHjl3m/mnifgcZKQa85X3I7/ClCGVUitaloli/3EM84Hwd WsROsiH++apVdFJLMuaHGGQeXFH0GTO116h/kgTrb/j/nkcWHi0KpZOawDeZf590n2++ ZlaA== 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=I614Y3MCkkMfs6diUIT/cR6L54+x+6A4DnNtBvS17qksIOryHlPQN8uB8v3JeF5T3o 8MPDf1+1TVOPsQtMbQCsdqCFbY6kXfyfEua9u8xmnOHpkFLUoTBv+psZNlaVtvurobiY 63i5Xs5n5xu560TuZYCmlkjrsav0KKD81+chPLoJkq2za8YQRBarIRYGCwpguEAJ0rD7 Gc+pqtAEmhV+aSxBpZMglqSxp8tgFPxo32+C/oc+zF6Oeqb8OvEi5CEHLNLslcaVVxku UqYRAYBX3fcD66UDa41m3WjL0WyqPEfESSCK7psbVQgfySYkkJ9QypIQ2avzV3g+PBz/ Kv4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b="0AG/ACUc"; 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 bj12si14268005plb.182.2022.01.24.16.09.00; Mon, 24 Jan 2022 16:09: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="0AG/ACUc"; 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 S1388018AbiAYAFM (ORCPT + 99 others); Mon, 24 Jan 2022 19:05:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41490 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1381804AbiAXWlv (ORCPT ); Mon, 24 Jan 2022 17:41:51 -0500 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6EA4FC06B597; Mon, 24 Jan 2022 13:05:16 -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 dfw.source.kernel.org (Postfix) with ESMTPS id 0CF086141D; Mon, 24 Jan 2022 21:05:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2511C340E5; Mon, 24 Jan 2022 21:05:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1643058315; bh=ipc7IAl6/w4aJnjz2NcJSJkZF0EoOSK7yODQSB9i+8k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=0AG/ACUcPKhA06+zI4yJQOCwCGyQ7RnziR1MRjlepTwJ+ZEgXqckI0uejChb/r1bn PvbDOT2f1VHzJmLvToIuCM3fHczdEuJ+zjq8c3uUq1wDpi5gUCIDsxOyxOQ3+H9gKG m1hkfvR3nU0yx+M/OVbYV7jKa80rvX9COWZaVaG4= 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.16 0249/1039] media: si2157: Fix "warm" tuner state detection Date: Mon, 24 Jan 2022 19:33:58 +0100 Message-Id: <20220124184133.698755808@linuxfoundation.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220124184125.121143506@linuxfoundation.org> References: <20220124184125.121143506@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