forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/media/usb/em28xx/em28xx-core.c
....@@ -777,6 +777,7 @@
777777 static void em28xx_irq_callback(struct urb *urb)
778778 {
779779 struct em28xx *dev = urb->context;
780
+ unsigned long flags;
780781 int i;
781782
782783 switch (urb->status) {
....@@ -793,9 +794,9 @@
793794 }
794795
795796 /* Copy data from URB */
796
- spin_lock(&dev->slock);
797
+ spin_lock_irqsave(&dev->slock, flags);
797798 dev->usb_ctl.urb_data_copy(dev, urb);
798
- spin_unlock(&dev->slock);
799
+ spin_unlock_irqrestore(&dev->slock, flags);
799800
800801 /* Reset urb buffers */
801802 for (i = 0; i < urb->number_of_packets; i++) {