From patchwork Wed Dec 9 16:42:41 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 7810591 X-Patchwork-Delegate: kvalo@adurom.com Return-Path: X-Original-To: patchwork-linux-wireless@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 84BDBBEEE1 for ; Wed, 9 Dec 2015 16:43:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id AA2D0204A2 for ; Wed, 9 Dec 2015 16:43:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 84CB320396 for ; Wed, 9 Dec 2015 16:43:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752180AbbLIQnS (ORCPT ); Wed, 9 Dec 2015 11:43:18 -0500 Received: from mout.kundenserver.de ([212.227.17.13]:54673 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751332AbbLIQnR (ORCPT ); Wed, 9 Dec 2015 11:43:17 -0500 Received: from wuerfel.localnet ([134.3.118.24]) by mrelayeu.kundenserver.de (mreue101) with ESMTPSA (Nemesis) id 0MI6MY-1a69KU0w8s-003yw5; Wed, 09 Dec 2015 17:42:44 +0100 From: Arnd Bergmann To: Stanislaw Gruszka , Kalle Valo Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, nico@linaro.org Subject: [PATCH] iwlegacy: mark il_adjust_beacon_interval as noinline Date: Wed, 09 Dec 2015 17:42:41 +0100 Message-ID: <36263581.L8412YxJjp@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) MIME-Version: 1.0 X-Provags-ID: V03:K0:5juzG75L1O/Sfm08DQgNrKh6YE1orK9O4GKwmUlJpD3DbNxw1rb MvluypvNKPXYEd+uGOcE65W3Zeoi0oTZ/7lfRrr6uLwJ5FC5HntXmdXVNl2+IoSi6sdneYP PDsI0SYLvBg3kzXNxaMkkhHzCnTW9pI3PzTqi+bFr/MBuANP9VKnUNIwnZmidNsa6K0uYxy PsgFmJ7BeojdHKRKluyKA== X-UI-Out-Filterresults: notjunk:1; V01:K0:i8s1zoM3pzc=:S+TXTZc1ZM/MvPAy+76wv5 0gdNR4xzDOXbZzVRERr8ZdqyFEJ8kpeEJ8ka3tsmkv/sb7+otY/cmC8liDA0jLsuurc9U4Xbl 5bdcHq6atkVwQzPXQCxirZzxoSe+RMB64XLgH6Pssl0i+KHyQK0DSLeiFRo5q4mSRuZJ8aaVV +bHW6r/5lpsWvZv7cPoSaZs4zMz46ECp1kKINEcatIoGQ1SAdqb5DoQC6siLGH+MC9N4/w0kL NhMxVTSrkCAAFOH8R7E1brRct5/OfZWVwwwNfy6gm1Yc0wsZ2FqRePsUOYldY6I6zYjkgDbA9 2LuQfO1sJshxRp8ZuSz5INZGU5nYHyeveNMq2WAuYoB9XK/7zu+AavNfO2ln05Ejem7dcqdNk tCp1aEik5rdsgoScfnMJUuTZESuM9hla7l+7bXqbZYWY55Jpux6qXmCJiIULzNNDA0SljtRZL RfxvEGCtZKjPaXwe9kSGLVyOlsKLSBZEDvyreMDQv+aUUM5HAif5cAb/5VJuBm5NfEqlMBy+7 mVBtkBFhZazMmNpDOTr3NJrDAsYPs3uo5HP3DvUyCZONusPHFex4jueqpX3YWvIBS9ECwfpa3 jVLgSNPyPPabhZ7r9aFyv2oyTQIO6zbx+YFQrg9cX0MMklSoyIhzQt0ySuFKEzMz65dBPzdq2 /5M7TyrUwMreldUAAu4o4V4ZH747XL/zfsRfNNiYKg7kuBHd8J6gKaFQtfG6rdXqbBt95qF9A q7TU9V0tiCRg6Wfb Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP With the new optimized do_div() code, some versions of gcc produce obviously incorrect code that leads to a link error in iwlegacy/common.o: drivers/built-in.o: In function `il_send_rxon_timing': :(.text+0xa6b4d4): undefined reference to `____ilog2_NaN' :(.text+0xa6b4f0): undefined reference to `__aeabi_uldivmod' In a few thousand randconfig builds, I have seen this problem a couple of times in this file, but never anywhere else in the kernel, so we can try to work around this in the only file that shows the behavior, by marking the il_adjust_beacon_interval function as noinline, which convinces gcc to use the unoptimized do_div() all the time. Signed-off-by: Arnd Bergmann Acked-by: Nicolas Pitre Acked-by: Stanislaw Gruszka --- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c index 887114582583..6308bb217454 100644 --- a/drivers/net/wireless/intel/iwlegacy/common.c +++ b/drivers/net/wireless/intel/iwlegacy/common.c @@ -3602,7 +3602,7 @@ il_is_ht40_tx_allowed(struct il_priv *il, struct ieee80211_sta_ht_cap *ht_cap) } EXPORT_SYMBOL(il_is_ht40_tx_allowed); -static u16 +static u16 noinline il_adjust_beacon_interval(u16 beacon_val, u16 max_beacon_val) { u16 new_val;