[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201014162721.GE712494@rowland.harvard.edu>
Date: Wed, 14 Oct 2020 12:27:21 -0400
From: Alan Stern <stern@...land.harvard.edu>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>,
"Ahmed S. Darwish" <a.darwish@...utronix.de>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
linux-usb@...r.kernel.org,
Thomas Winischhofer <thomas@...ischhofer.net>,
Johan Hovold <johan@...nel.org>,
Mathias Nyman <mathias.nyman@...el.com>,
Valentina Manea <valentina.manea.m@...il.com>,
Shuah Khan <shuah@...nel.org>, 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: Re: [patch 11/12] usb: core: Replace in_interrupt() in comments
On Wed, Oct 14, 2020 at 04:52:26PM +0200, Thomas Gleixner wrote:
> From: Ahmed S. Darwish <a.darwish@...utronix.de>
>
> The usage of in_interrupt() in drivers is phased out for various reasons.
>
> Various comments use !in_interrupt() to describe calling context for
> functions which might sleep. That's wrong because the calling context has
> to be preemptible task context, which is not what !in_interrupt()
> describes.
>
> Replace !in_interrupt() with more accurate plain text descriptions.
>
> The comment for usb_hcd_poll_rh_status() is misleading as this function is
> called from all kinds of contexts including preemptible task
> context. Remove it as there is obviously no restriction.
>
> Signed-off-by: Ahmed S. Darwish <a.darwish@...utronix.de>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
> Cc: linux-usb@...r.kernel.org
>
> ---
> --- a/drivers/usb/core/hcd.c
> +++ b/drivers/usb/core/hcd.c
> @@ -746,9 +746,6 @@ static int rh_call_control (struct usb_h
> * Root Hub interrupt transfers are polled using a timer if the
> * driver requests it; otherwise the driver is responsible for
> * calling usb_hcd_poll_rh_status() when an event occurs.
> - *
> - * Completions are called in_interrupt(), but they may or may not
> - * be in_irq().
This comment should not be removed; instead it should be changed to say
that completion handlers are called with interrupts disabled.
> @@ -1691,7 +1690,6 @@ static void usb_giveback_urb_bh(unsigned
> * @hcd: host controller returning the URB
> * @urb: urb being returned to the USB device driver.
> * @status: completion status code for the URB.
> - * Context: in_interrupt()
The comment should be changed to say that the routine runs in a BH
handler (or however you want to express it).
> --- a/drivers/usb/core/message.c
> +++ b/drivers/usb/core/message.c
> @@ -934,7 +939,7 @@ int usb_get_device_descriptor(struct usb
> /*
> * usb_set_isoch_delay - informs the device of the packet transmit delay
> * @dev: the device whose delay is to be informed
> - * Context: !in_interrupt()
> + * Context: can sleep
Why is this comment different from all the others?
Alan Stern
Powered by blists - more mailing lists