if (pdu->base.direction == USBIP_DIR_IN)
address |= USB_DIR_IN;
- spin_lock_irq(&udc->lock);
+ spin_lock_irqsave(&udc->lock, flags);
urb_p->ep = vudc_find_endpoint(udc, address);
if (!urb_p->ep) {
/* we don't know the type, there may be isoc data! */
dev_err(&udc->pdev->dev, "request to nonexistent endpoint");
- spin_unlock_irq(&udc->lock);
+ spin_unlock_irqrestore(&udc->lock, flags);
usbip_event_add(&udc->ud, VUDC_EVENT_ERROR_TCP);
ret = -EPIPE;
goto free_urbp;
}
urb_p->type = urb_p->ep->type;
- spin_unlock_irq(&udc->lock);
+ spin_unlock_irqrestore(&udc->lock, flags);
urb_p->new = 1;
urb_p->seqnum = pdu->base.seqnum;