Received: by 2002:a25:b323:0:0:0:0:0 with SMTP id l35csp3034302ybj; Mon, 23 Sep 2019 13:36:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+dSMMUY63Pyg030SbDsYxS2nSw4C10bS1tzpr1MvVWUubDdZqqy0Wpnfu9jjOedWJzZZ+ X-Received: by 2002:a50:f09d:: with SMTP id v29mr2110458edl.4.1569271017584; Mon, 23 Sep 2019 13:36:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569271017; cv=none; d=google.com; s=arc-20160816; b=DiInsCIRlVQkUBrrtk2qVQGlf5hshGHLSLcRHyQSLX89334a2y2ylz63tJ7WE9kGCM 8cLNygp6MGe3TuGw3GWl2HxybxdPn4/To0Qu1Hvvw8JukkLTxxtTx+/3V8Xs+UW2p4pr NB/jS+Vy1u1tqnLim89PVcLT4UUbU+CmyujfMmaiongBXlijWZytArM86UGZ6XDZvR3r Nxw2x6qTz7EFmJoRBX+nGG5XPM1hXqLheCGhZrvUQTfp2zTzS4P3hbUBWT9fbsO4Z8Cy zC05m3YUe4Xtefljvh/dGOZWYMC+FBWwkbZIur9CbkRyHIF3lv8+m8mPnHVeLoHMAK4l oOYg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=QHVLwMC1p3AYP9xxLitC8cEk9nOs4UkOszNh6XmzQvo=; b=Cxvf9wJEx3sMzKC5k/b+LPzirOB5dGW6DuiHByphAdSdJXiFQ5MQJJAcC9HudLrQMt nqC5Z9lWwNzDuPbvqFPeQQ4jhXIaQiNwx+FAgpzoGyaPqCKq+4Jnfom8iEx2O4RAMRvi MlKVYM2hin7muAdjJOWPozGCxjerRuy7LeCR1X9FoQotFCjqvy1UmezQ4eo1Plu3F+ni atF/JSH4GlR5HVQuTApS3VASJTNZ12ymVKsZvp3dcHVnA/dMkBP2YJFYJ7pKcT0gXFx8 er3GaZxTEP6TixC8uK3acYjJ/fmcs93SQUVFkfVDcy8n8mIWfdhH4p15CLN6T2pQCrFd EizQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1C4bWyW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o2si1164993ejm.367.2019.09.23.13.36.34; Mon, 23 Sep 2019 13:36:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=b1C4bWyW; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388778AbfIVSoY (ORCPT + 99 others); Sun, 22 Sep 2019 14:44:24 -0400 Received: from mail.kernel.org ([198.145.29.99]:39878 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388711AbfIVSoK (ORCPT ); Sun, 22 Sep 2019 14:44:10 -0400 Received: from sasha-vm.mshome.net (c-73-47-72-35.hsd1.nh.comcast.net [73.47.72.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B815921479; Sun, 22 Sep 2019 18:44:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1569177849; bh=48xQrCMOZWQY0GMUtiT7ORhyY7JKh36Uou8DfkPsZ14=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=b1C4bWyWq02P3/8HYtovHl2Y8E1/rKYMAAvJmqQNKd+Doy/sxHOpd3o7qJtZ9sFHh 7s9YjilMnTJfOD6b6jItazfypSX0be6SrOm2wA3I3j7Vp59ZXQZlL25kQH0vLxEHjk 25gfIl1JiIo4yA9byw9saLqcnyEVsONEyTMlDYw8= From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Sean Young , Mauro Carvalho Chehab , Sasha Levin , linux-media@vger.kernel.org Subject: [PATCH AUTOSEL 5.3 015/203] media: dib0700: fix link error for dibx000_i2c_set_speed Date: Sun, 22 Sep 2019 14:40:41 -0400 Message-Id: <20190922184350.30563-15-sashal@kernel.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190922184350.30563-1-sashal@kernel.org> References: <20190922184350.30563-1-sashal@kernel.org> MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnd Bergmann [ Upstream commit 765bb8610d305ee488b35d07e2a04ae52fb2df9c ] When CONFIG_DVB_DIB9000 is disabled, we can still compile code that now fails to link against dibx000_i2c_set_speed: drivers/media/usb/dvb-usb/dib0700_devices.o: In function `dib01x0_pmu_update.constprop.7': dib0700_devices.c:(.text.unlikely+0x1c9c): undefined reference to `dibx000_i2c_set_speed' The call sites are both through dib01x0_pmu_update(), which gets passed an 'i2c' pointer from dib9000_get_i2c_master(), which has returned NULL. Checking this pointer seems to be a good idea anyway, and it avoids the link failure in most cases. Sean Young found another case that is not fixed by that, where certain gcc versions leave an unused function in place that causes the link error, but adding an explict IS_ENABLED() check also solves this. Fixes: b7f54910ce01 ("V4L/DVB (4647): Added module for DiB0700 based devices") Signed-off-by: Arnd Bergmann Signed-off-by: Sean Young Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/usb/dvb-usb/dib0700_devices.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/media/usb/dvb-usb/dib0700_devices.c b/drivers/media/usb/dvb-usb/dib0700_devices.c index 66d685065e065..ab7a100ec84fe 100644 --- a/drivers/media/usb/dvb-usb/dib0700_devices.c +++ b/drivers/media/usb/dvb-usb/dib0700_devices.c @@ -2439,9 +2439,13 @@ static int dib9090_tuner_attach(struct dvb_usb_adapter *adap) 8, 0x0486, }; + if (!IS_ENABLED(CONFIG_DVB_DIB9000)) + return -ENODEV; if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &dib9090_dib0090_config) == NULL) return -ENODEV; i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0); + if (!i2c) + return -ENODEV; if (dib01x0_pmu_update(i2c, data_dib190, 10) != 0) return -ENODEV; dib0700_set_i2c_speed(adap->dev, 1500); @@ -2517,10 +2521,14 @@ static int nim9090md_tuner_attach(struct dvb_usb_adapter *adap) 0, 0x00ef, 8, 0x0406, }; + if (!IS_ENABLED(CONFIG_DVB_DIB9000)) + return -ENODEV; i2c = dib9000_get_tuner_interface(adap->fe_adap[0].fe); if (dvb_attach(dib0090_fw_register, adap->fe_adap[0].fe, i2c, &nim9090md_dib0090_config[0]) == NULL) return -ENODEV; i2c = dib9000_get_i2c_master(adap->fe_adap[0].fe, DIBX000_I2C_INTERFACE_GPIO_1_2, 0); + if (!i2c) + return -ENODEV; if (dib01x0_pmu_update(i2c, data_dib190, 10) < 0) return -ENODEV; -- 2.20.1