2020-10-19 11:34:53

by Thomas Gleixner

[permalink] [raw]
Subject: [patch V2 13/13] usb: atm: Replace in_interrupt() usage in comment

in_interrupt() is a pretty vague context description as it means: hard
interrupt, soft interrupt or bottom half disabled regions.

Replace the vague comment with a proper reasoning why spin_lock_irqsave()
needs to be used.

Signed-off-by: Ahmed S. Darwish <[email protected]>
Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Cc: Duncan Sands <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: [email protected]

---
drivers/usb/atm/usbatm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/usb/atm/usbatm.c
+++ b/drivers/usb/atm/usbatm.c
@@ -249,7 +249,7 @@ static void usbatm_complete(struct urb *
/* vdbg("%s: urb 0x%p, status %d, actual_length %d",
__func__, urb, status, urb->actual_length); */

- /* usually in_interrupt(), but not always */
+ /* Can be invoked from task context, protect against interrupts */
spin_lock_irqsave(&channel->lock, flags);

/* must add to the back when receiving; doesn't matter when sending */


2020-10-19 22:43:05

by Duncan Sands

[permalink] [raw]
Subject: Re: [patch V2 13/13] usb: atm: Replace in_interrupt() usage in comment

On 10/19/20 12:06 PM, Thomas Gleixner wrote:
> in_interrupt() is a pretty vague context description as it means: hard
> interrupt, soft interrupt or bottom half disabled regions.
>
> Replace the vague comment with a proper reasoning why spin_lock_irqsave()
> needs to be used.
>
> Signed-off-by: Ahmed S. Darwish <[email protected]>
> Signed-off-by: Sebastian Andrzej Siewior <[email protected]>
> Signed-off-by: Thomas Gleixner <[email protected]>
> Cc: Duncan Sands <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: [email protected]
>
> ---
> drivers/usb/atm/usbatm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/drivers/usb/atm/usbatm.c
> +++ b/drivers/usb/atm/usbatm.c
> @@ -249,7 +249,7 @@ static void usbatm_complete(struct urb *
> /* vdbg("%s: urb 0x%p, status %d, actual_length %d",
> __func__, urb, status, urb->actual_length); */
>
> - /* usually in_interrupt(), but not always */
> + /* Can be invoked from task context, protect against interrupts */
> spin_lock_irqsave(&channel->lock, flags);
>
> /* must add to the back when receiving; doesn't matter when sending */
>


Signed-off-by: Duncan Sands <[email protected]>