From patchwork Thu Oct 3 15:51:38 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 175113 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp540654ill; Thu, 3 Oct 2019 09:17:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqz9b6fDGKVFwN1LJ0Zn0XKnqNocBXYttRn/D+YbukuTn5vU7iPF/A5RXcm1IOUsXMlqq4QZ X-Received: by 2002:aa7:c1d4:: with SMTP id d20mr10223928edp.223.1570119457827; Thu, 03 Oct 2019 09:17:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570119457; cv=none; d=google.com; s=arc-20160816; b=sAjtnh3CMw4B9+mB98tUC6VHFn9UqTMM1JQWHrvY5DE1sjguR41mM1hu0TKXow06jX Et3dvOey/xNK06XFyYnHB4E2qMb0lQTId2Vin23n8C/0+kWbndenQ5SsCnxtQhF5J60X mbnpndXXIgj9lSTU62vPNb17dBJJjdcTtIn9gb8Tal73hFn0ud1mtx6Tij4H8sNGH4iv otxhjdE0s5Clv5kkbOo2bBmRGwtKQrNY9yNfv2MyA09OzKttB4pdgUuRKUrl+Uiccxhg svrdAZ/jjvP/c9H7Ib/1+QK2CnFtJ4uYvcz/sZZKvp6lNBNZctaYTFl9r/Wh0sPIDE9U GxNw== 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=upB8/aCGRQZCEn6iu75OIl7TeO2ImUo0jpXV4tAqlSc=; b=Xj5nzn096GVN/9+lYp/w8PBrwfDJ8s/arh869tr+Utxuw7w+ZBxY2TCOgx8uJpCzLC E8hXhOO+0jYuDTfBRS1BRNgiqEPKJQ6e6EIcuHG7Hh+22tChgl8b2vJefrWVDkH7Spxg Blr43wDJSJJZ25V5C/JbGwv2JaEhvlA8pY9/gCijCmhb6m70SWRXeAG6B7Npeqwddtcv vONlGyXCrjEH6rkKRUVfwh5YyTHjRFF5flTrhQb2N0kOYE3XKLHzMUuLm1F+k05Vod0k VKpWZSiLRY874MK+w1iEzV/NRZbSkV1HLQb1qkKmxkX4DSZOo9fx8265nY1Ak1I4liBc PmYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=iIFWplLG; 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 b56si1782064edb.418.2019.10.03.09.17.37; Thu, 03 Oct 2019 09:17:37 -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=iIFWplLG; 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 S2388196AbfJCQRe (ORCPT + 27 others); Thu, 3 Oct 2019 12:17:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:43368 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2389259AbfJCQRb (ORCPT ); Thu, 3 Oct 2019 12:17:31 -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 6E32E215EA; Thu, 3 Oct 2019 16:17:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1570119450; bh=IdPVXuf60uazzp9fR+CWv/TnPQCSTaI5VKp7xvYvocI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iIFWplLGq+ICmB99bmos7DoUX4Yn9eFMtKxauxX/t97qQH05h5W09Efc+CrS9IhO/ U7Ud9AV18hHZbwqTVlthZhzTud/t9uUsi96Sb4lZOsmX/W64fzdiya4/65juXyd1ai raiOJMMx1gNFCAP1nJaG2tQzv39YU4hrFB1G3ytI= 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 4.19 032/211] media: dib0700: fix link error for dibx000_i2c_set_speed Date: Thu, 3 Oct 2019 17:51:38 +0200 Message-Id: <20191003154454.531445479@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191003154447.010950442@linuxfoundation.org> References: <20191003154447.010950442@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 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(+) -- 2.20.1 diff --git a/drivers/media/usb/dvb-usb/dib0700_devices.c b/drivers/media/usb/dvb-usb/dib0700_devices.c index 091389fdf89ee..c8d79502827b7 100644 --- a/drivers/media/usb/dvb-usb/dib0700_devices.c +++ b/drivers/media/usb/dvb-usb/dib0700_devices.c @@ -2442,9 +2442,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); @@ -2520,10 +2524,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;