Received: by 2002:a5b:505:0:0:0:0:0 with SMTP id o5csp58212ybp; Thu, 3 Oct 2019 10:08:40 -0700 (PDT) X-Google-Smtp-Source: APXvYqwUWZBsP1RPNfBjh8YvVjK+8K6K6o8acGMDs+ya3imBueq4/mX5ij8r2rWYLw6hsDKcxUFF X-Received: by 2002:a05:6402:17ad:: with SMTP id j13mr10685142edy.212.1570122520591; Thu, 03 Oct 2019 10:08:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570122520; cv=none; d=google.com; s=arc-20160816; b=OcJkdBjOZwIympWHVUyuUWEtMYOPZcRdnz5CsNTjXcW8rEM149yf0mO7FaU77ppdaN eImdVq29+3SZusq9HaN3lr10ChC3R4NkKeVVmVWMpRxFimP33q8ylIN1JPUTl/0vHfiT dSBhu+UlUjxMm9YpAEFDWaf25rNf2VaKGwnYTLA/fvIaM32TtsBdPTHYgDaVzmfGL5QN chB+lZadg7LPy5uhCa276gukKPqw4cXrEzFmXe7QWDAhCakiRr5/RzfT0MAwM4ffonZP LCIS9kyG6Its9XAtxMJ4YrFB2h99R5Md2rsZXTRymZUMaJZ94sTX+7Kc0aORyhJM9fvZ 3PFw== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=QHVLwMC1p3AYP9xxLitC8cEk9nOs4UkOszNh6XmzQvo=; b=Qd0I79CIwwJATxYpgntJRFonsxeaqMpNOUvHZI/A1R6XgnMPtXR7OpnU1KUPI43u0/ ONvF4d0AOss7rIPQcQMKehoxuy/0BBiFyAAbkPkONXjjy8G5BUV6RnrgKaHlyXZTNQRr cZQG14rH52j63qvu2yh9Cn5XFBlQCpAqVh6BcQVjpA6ONrN8Y/l0M1tvAjchW9DRKWru N4Jo6Zhhteqr41/eZfcmuVnKIpLYn0CLMpq12sjapW9PPqDGj0/rzyThho7THdMC6zgw lIE5CJND7ZlpsS3PMY78N9K3ZFum9dvwzGy5WwbWc6KoghdiSa6/Zaaf9RIK14dt1DKE 0tHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=uA+N0BME; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h91si1941459edd.270.2019.10.03.10.08.16; Thu, 03 Oct 2019 10:08:40 -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=uA+N0BME; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2404918AbfJCQkd (ORCPT + 99 others); Thu, 3 Oct 2019 12:40:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:50650 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2404204AbfJCQk1 (ORCPT ); Thu, 3 Oct 2019 12:40:27 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AD71A2070B; Thu, 3 Oct 2019 16:40:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570120827; bh=48xQrCMOZWQY0GMUtiT7ORhyY7JKh36Uou8DfkPsZ14=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uA+N0BMEI+oCWvxP7MxzRTBkzKKKIBPRDXrqvKOTdC/2W6ydojmeGAbVtpDT4eNk6 j57vyf2JF6/hnYbCkL52Q2LLZ5UjIWkjAM7GCuk87gXVuaN64dH1qoSNIcHvr/LYXz 9Pn8ZlVpKjlaQ3/vEXGgIUYU3Pk5yD5XwzDn7ngQ= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Arnd Bergmann , Sean Young , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 5.3 052/344] media: dib0700: fix link error for dibx000_i2c_set_speed Date: Thu, 3 Oct 2019 17:50:17 +0200 Message-Id: <20191003154545.281559676@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154540.062170222@linuxfoundation.org> References: <20191003154540.062170222@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 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