[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201014145215.518912759@linutronix.de>
Date: Wed, 14 Oct 2020 16:52:15 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Peter Zijlstra <peterz@...radead.org>,
Thomas Winischhofer <thomas@...ischhofer.net>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org,
"Ahmed S. Darwish" <a.darwish@...utronix.de>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Johan Hovold <johan@...nel.org>,
Mathias Nyman <mathias.nyman@...el.com>,
Valentina Manea <valentina.manea.m@...il.com>,
Shuah Khan <shuah@...nel.org>,
Alan Stern <stern@...land.harvard.edu>,
linux-omap@...r.kernel.org, Kukjin Kim <kgene@...nel.org>,
Krzysztof Kozlowski <krzk@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, Felipe Balbi <balbi@...nel.org>,
Duncan Sands <duncan.sands@...e.fr>
Subject: [patch 00/12] UBS: Cleanup in_interupt/in_irq/in_atomic() usage
Folks,
in the discussion about preempt count consistency accross kernel configurations:
https://lore.kernel.org/r/20200914204209.256266093@linutronix.de/
Linus clearly requested that code in drivers and libraries which changes
behaviour based on execution context should either be split up so that
e.g. task context invocations and BH invocations have different interfaces
or if that's not possible the context information has to be provided by the
caller which knows in which context it is executing.
This includes conditional locking, allocation mode (GFP_*) decisions and
avoidance of code paths which might sleep.
In the long run, usage of 'preemptible, in_*irq etc.' should be banned from
driver code completely.
The usage of such constructs in USB is rather limited. Most of it is in
debug code and (misleading) comments. But of course there are also a few
few bugs including one unfixable.
With the following series applied, USB is clean.
Thanks,
tglx
---
atm/usbatm.c | 2
core/buffer.c | 6 +-
core/hcd-pci.c | 6 +-
core/hcd.c | 21 ++++----
core/hub.c | 3 -
core/message.c | 35 +++++++++-----
core/usb.c | 4 -
gadget/udc/core.c | 2
gadget/udc/dummy_hcd.c | 5 +-
gadget/udc/pxa27x_udc.c | 19 ++++---
host/ehci-fsl.c | 9 +--
host/ehci-pmcmsp.c | 15 +++---
host/isp1362.h | 5 +-
host/ohci-at91.c | 11 +++-
host/ohci-omap.c | 7 +-
host/ohci-pxa27x.c | 11 ++--
host/ohci-s3c2410.c | 12 ++---
host/xhci-mem.c | 2
host/xhci.c | 6 --
misc/sisusbvga/Kconfig | 2
serial/digi_acceleport.c | 7 +-
serial/keyspan_pda.c | 112 ++++++++++++++++++++---------------------------
usbip/usbip_common.c | 5 --
23 files changed, 156 insertions(+), 151 deletions(-)
Powered by blists - more mailing lists