From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3FE6A379C24 for ; Fri, 7 Aug 2026 18:35:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.174 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786127742; cv=none; b=CrQfbdj3KM3B9sIjJZwuqpaG55bY382yYp2EWqzMgFKQw5NEYNrsecpE07chSJr02Rb4e8Dk9B9g2Y0dTuRudb0P5dHde0yHnSjszErJaQ39jNY8cnKqAluydkX/M6+VpEHJVh9IMfnf7Zne6zdkwvAj9hfrrtqiIfM5GhtPbfY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786127742; c=relaxed/simple; bh=VkHbva5W99Uv3RRqgpizsgyvAOc+Mc0RUY1poJKh+gA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Roqi6AYqFJBahyTSoB8HFdaDCAx2WxJcNZHrAcvRmOgeHVOhAE3xRJNHpdfIr8L8ygwtLKhT2+FcsGqggphTJ20Wa2B+esMTn83T6BqRVzphVWVvIV3gFUOpkAUtaXTL33o9U1Q5tPLPeSbcKH5lBKQngaSB2rhcwRHd1G4aQFQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=APymVQ5h; arc=none smtp.client-ip=209.85.214.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="APymVQ5h" Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-2d0407aedd6so42430925ad.0 for ; Fri, 07 Aug 2026 11:35:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786127741; x=1786732541; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=bKveWy+y6pUgTVKmIL9d8hPlJnPWCasWboYBiG5h69M=; b=APymVQ5hkvEmuXFWt3VY8dTYWtv048HevyLlrNMQIVU3H6bDw8BNKmMWRNxZ0B6vn5 z9DVG40GgwI5pT5N+Qu1zpOn8cMLSLIJbViZG9Fq5tcmNY1evwTOvLoZqiR7SCIlsDZ7 SJwSxPBWyq+F+TLGHN8eL0pHjiiADmTe2DIgQlMuqLZtwCqBg3rGt8Uawnft/x3jlQz3 KJKycHQWTUw/8eRlIGFmuRgyqL/uzbE8MO6Lqn9QTs9ptpOnRmiexLFP0IsVRxEUbk2I ELqCAWB3GKhSQh74tideH3gzgqkcqjRcuv1cr5HUTfQgS9ewLV2NVjPzIn35wH2wyans HysQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786127741; x=1786732541; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=bKveWy+y6pUgTVKmIL9d8hPlJnPWCasWboYBiG5h69M=; b=bUmZfWkr3A4p0aBMryOi/1dOB2R0jFpPd5T8FZV1YmG/bUn+QtKouy4A9pMEz3otOQ N08gT9n5fv9oRBGRpvCPppOhA1p7mHHA3qNZj/SvETB3JqfLNzyg1kGk35sQMWfk12OB xyxsWNjEyPW3+rgKLGbS+tSXS+du77DMXBgO86Y0MIah9mSfsPh1ciD4m4RxK9NY116U q3LF+o3bw0sxtFjTmg8Q0I4hDqABuNkbStIj9IS36iueo+Rc39jORQmCD++LHe1uw979 aTSPhBL/1+WjvDlV6dATKd3nP/kVvrQbdUOeH9E8dNv5HyYyKn4yyYf5MFqjYhkz04K7 mX/A== X-Forwarded-Encrypted: i=1; AHgh+RrWWGC9lpxlVsQXckbTCCsf81Dc7cWFDUoQ/06kH+PHvb+dj2lalhyC0inDdPMCrEAeizJabOPPaQYqrl4=@vger.kernel.org X-Gm-Message-State: AOJu0YyDJLxOpYvic7XfXErV8kzso3Gw7Wu6Lo//B6jOFSqDsQ9EGgle /L/CBBO/wdSJys8gNaPpoekRzMpzwkxkCpZ0xibboDnXSeSn0m6rm7Y0 X-Gm-Gg: AR+sD13W8JX3dHMMxwCk8uQCxMxsEJ0VrOzukgZtaSP36fo2FbkiEo5wMtvMOT9UD5G BkVy6rsm50vCu0yvjk3RHixDzLslr36N7twv9G92fgNvlOHBflvfWdy6MffeMC9QX+1zyObIB1r 5vEAmRMKUKWYRw0qcCe8dVkuIPV4av+z811YCmLUloqtOfs0md+Vs3lT443YJ/mU0+wWtqngYlH 7FHOyY+l6pQ23nSM3rqeNy7Hl0nNAxeKU2hVj+xdpNPRbohnyJeNAfm9APLutKELBeSqivTFQ7a IVGN7Jrl04aG6Ty03goXOEeN3ulnzzPF90aQIRDzKW+EyFDlFQ/5P1HfFaMlrU5UQWlRGKgy53F cLtXtiAnWaaXDaZuZkYl5DEf2x0XFyNxrYGfNse9WezIcdCDYgsQb3FjMkGr78QqR7itGTTDDpK gewdi2VEm5tQs+LF7TCZMg5eDcjMN+JXl1w6VaMwgG0XoR/eBnS7bfNykJtbYq0yUVYdpmuPVOB WAubQrEaW1iiT8BZdvKWLpvqdlGtA== X-Received: by 2002:a17:902:da82:b0:2cf:7bfe:6043 with SMTP id d9443c01a7336-2d0ca949b71mr225134925ad.19.1786127740572; Fri, 07 Aug 2026 11:35:40 -0700 (PDT) Received: from localhost ([2401:4900:1c70:5a7c:d1d2:a457:c3e3:35a1]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315bec128a0sm11483405eec.25.2026.08.07.11.35.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 11:35:40 -0700 (PDT) From: Punnay Sharma To: gregkh@linuxfoundation.org, mchehab@kernel.org Cc: error27@gmail.com, linux-media@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org, Punnay Sharma Subject: [PATCH v2 2/2] staging: media: av7110: fix sp8870 initialization failure state Date: Sat, 8 Aug 2026 00:04:43 +0530 Message-ID: <20260807183443.13912-2-punnaysharma805@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260807183443.13912-1-punnaysharma805@gmail.com> References: <20260807183443.13912-1-punnaysharma805@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit The SP8870 DVB frontend driver prematurely flags the device as initialized at the very beginning of the sp8870_init() routine, prior to requesting the firmware (dvb-fe-sp8870.fw) and executing the I2C upload sequence. If request_firmware() times out or sp8870_firmware_upload() encounters an I2C bus error, the function aborts and returns -EIO. However, because `state->initialised` is already set to 1, all subsequent invocations of `fe->ops.init()` by the DVB core will immediately return 0 (success) without attempting to load the firmware again. This leaves the demodulator microcontroller halted and the frontend permanently dead until the module is forcibly reloaded. Relocate the `state->initialised = 1` assignment to the end of sp8870_init(), ensuring the flag is only set after the firmware is successfully uploaded and the system controller is actually restarted. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Punnay Sharma --- drivers/staging/media/av7110/sp8870.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/av7110/sp8870.c b/drivers/staging/media/av7110/sp8870.c index 77bebf2c7..be62933ce 100644 --- a/drivers/staging/media/av7110/sp8870.c +++ b/drivers/staging/media/av7110/sp8870.c @@ -315,7 +315,6 @@ static int sp8870_init(struct dvb_frontend *fe) sp8870_wake_up(state); if (state->initialised) return 0; - state->initialised = 1; dprintk("initialising frontend...\n"); @@ -353,6 +352,8 @@ static int sp8870_init(struct dvb_frontend *fe) sp8870_writereg(state, 0x0D00, 0x010); sp8870_writereg(state, 0x0D01, 0x000); + state->initialised = 1; + return 0; } -- 2.55.0