From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42CCAC4727E for ; Mon, 28 Sep 2020 06:50:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0A1292311C for ; Mon, 28 Sep 2020 06:50:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601275807; bh=9RLOX5t9/gxEad4ACFbvcDY/LFaF2xfXrQ+4kIuB910=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=oLUZUSfvJpc2gB3Iwlrj3+4dYsoObIe4M+R0jy6QxGqTeZFNgJTgbwSMC8HA9CXKY BXcCMTLGgL0Dcv+qb42hZBGzVY0FrO+Tuw5EnMI1gHrQtPLNsKzMEWoI3wyjh/Qflw qGIE261QCt8pEmN9RE4/lKibtYtb23k54900JuW4= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726589AbgI1GuF (ORCPT ); Mon, 28 Sep 2020 02:50:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:40480 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725308AbgI1GuE (ORCPT ); Mon, 28 Sep 2020 02:50:04 -0400 Received: from localhost (83-86-74-64.cable.dynamic.v4.ziggo.nl [83.86.74.64]) (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 B6B5F23119; Mon, 28 Sep 2020 06:50:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1601275803; bh=9RLOX5t9/gxEad4ACFbvcDY/LFaF2xfXrQ+4kIuB910=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=og/c53pjfRJcUKFeQP/+XI4TOYNopKOah3CJmIRZAuZ+nrH0Uy20x6XZnt3Z/X1dh JeK8r/a3UKPHoivUomFM2K1bM9dcKwGFsDHijBQ1CCRza4shtATy1PrMIsKBAhOnw2 rdb1pWc6X3HzXQVcC44b8MBTu/96Qe9iId0hF4pE= Date: Mon, 28 Sep 2020 08:50:11 +0200 From: Greg Kroah-Hartman To: Thomas Gleixner Cc: LKML , Peter Zijlstra , Linus Torvalds , Paul McKenney , Matthew Wilcox , Sebastian Andrzej Siewior , "David S. Miller" , Jakub Kicinski , linux-usb@vger.kernel.org, netdev@vger.kernel.org, Christian Benvenuti , Govindarajulu Varadarajan <_govind@gmx.com>, Jonathan Corbet , Mauro Carvalho Chehab , linux-doc@vger.kernel.org, Luc Van Oostenryck , Jay Cliburn , Chris Snook , Vishal Kulkarni , Jeff Kirsher , intel-wired-lan@lists.osuosl.org, Shannon Nelson , Pensando Drivers , Andrew Lunn , Heiner Kallweit , Russell King , Thomas Bogendoerfer , Solarflare linux maintainers , Edward Cree , Martin Habets , Jon Mason , Daniel Drake , Ulrich Kunitz , Kalle Valo , linux-wireless@vger.kernel.org, Arend van Spriel , Franky Lin , Hante Meuleman , Chi-Hsien Lin , Wright Feng , brcm80211-dev-list.pdl@broadcom.com, brcm80211-dev-list@cypress.com, Stanislav Yakovlev , Stanislaw Gruszka , Johannes Berg , Emmanuel Grumbach , Luca Coelho , Intel Linux Wireless , Jouni Malinen , Amitkumar Karwar , Ganapathi Bhat , Xinming Hu , libertas-dev@lists.infradead.org, Pascal Terjan , Ping-Ke Shih Subject: Re: [patch 21/35] net: usb: kaweth: Remove last user of kaweth_control() Message-ID: <20200928065011.GB381927@kroah.com> References: <20200927194846.045411263@linutronix.de> <20200927194921.948595516@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200927194921.948595516@linutronix.de> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Sep 27, 2020 at 09:49:07PM +0200, Thomas Gleixner wrote: > From: Sebastian Andrzej Siewior > > kaweth_async_set_rx_mode() invokes kaweth_contol() and has two callers: > > - kaweth_open() which is invoked from preemptible context > . > - kaweth_start_xmit() which holds a spinlock and has bottom halfs disabled. > > If called from kaweth_start_xmit() kaweth_async_set_rx_mode() obviously > cannot block, which means it can't call kaweth_control(). This is detected > with an in_interrupt() check. > > Replace the in_interrupt() check in kaweth_async_set_rx_mode() with an > argument which is set true by the caller if the context is safe to sleep, > otherwise false. > > Now kaweth_control() is only called from preemptible context which means > there is no need for GFP_ATOMIC allocations anymore. Replace it with > usb_control_msg(). Cleanup the code a bit while at it. > > Finally remove kaweth_control() since the last user is gone. > > Signed-off-by: Sebastian Andrzej Siewior > Signed-off-by: Thomas Gleixner > Cc: "David S. Miller" > Cc: Jakub Kicinski > Cc: Greg Kroah-Hartman > Cc: linux-usb@vger.kernel.org > Cc: netdev@vger.kernel.org Thanks for the cleanup, that driver really needed it! Reviewed-by: Greg Kroah-Hartman