On Sun, Jun 24, 2018 at 12:32:05AM +0200, Sebastian Andrzej Siewior wrote: > From: John Ogness <john.ogness@xxxxxxxxxxxxx> > > The USB completion callback does not disable interrupts while acquiring > the lock. We want to remove the local_irq_disable() invocation from > __usb_hcd_giveback_urb() and therefore it is required for the callback > handler to disable the interrupts while acquiring the lock. > The callback may be invoked either in IRQ or BH context depending on the > USB host controller. > Use the _irqsave() variant of the locking primitives. > > Cc: Johan Hovold <johan@xxxxxxxxxx> > Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: John Ogness <john.ogness@xxxxxxxxxxxxx> > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> > --- > drivers/usb/serial/digi_acceleport.c | 23 +++++++++++++---------- > 1 file changed, 13 insertions(+), 10 deletions(-) > > diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c > index b0526786fb02..ae512fed08af 100644 > --- a/drivers/usb/serial/digi_acceleport.c > +++ b/drivers/usb/serial/digi_acceleport.c > @@ -1381,6 +1382,7 @@ static int digi_read_inb_callback(struct urb *urb) > struct usb_serial_port *port = urb->context; > struct digi_port *priv = usb_get_serial_port_data(port); > unsigned char *buf = urb->transfer_buffer; > + unsigned long flags; > int opcode; > int len; > int port_status; We already had a "flag" variable in this function, which could now possibly get mixed up with "flags". I'll add a "tty_" prefix to the former in a follow-up patch. Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html