Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'usb-3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
"Here are 2 USB patches for 3.14-rc5, one a new device id, and the
other fixes a reported problem with threaded irqs and the USB EHCI
driver"

* tag 'usb-3.14-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
usb: ehci: fix deadlock when threadirqs option is used
USB: ftdi_sio: add Cressi Leonardo PID

+18 -3
+10 -3
drivers/usb/host/ehci-hcd.c
··· 685 685 struct ehci_hcd *ehci = hcd_to_ehci (hcd); 686 686 u32 status, masked_status, pcd_status = 0, cmd; 687 687 int bh; 688 + unsigned long flags; 688 689 689 - spin_lock (&ehci->lock); 690 + /* 691 + * For threadirqs option we use spin_lock_irqsave() variant to prevent 692 + * deadlock with ehci hrtimer callback, because hrtimer callbacks run 693 + * in interrupt context even when threadirqs is specified. We can go 694 + * back to spin_lock() variant when hrtimer callbacks become threaded. 695 + */ 696 + spin_lock_irqsave(&ehci->lock, flags); 690 697 691 698 status = ehci_readl(ehci, &ehci->regs->status); 692 699 ··· 711 704 712 705 /* Shared IRQ? */ 713 706 if (!masked_status || unlikely(ehci->rh_state == EHCI_RH_HALTED)) { 714 - spin_unlock(&ehci->lock); 707 + spin_unlock_irqrestore(&ehci->lock, flags); 715 708 return IRQ_NONE; 716 709 } 717 710 ··· 822 815 823 816 if (bh) 824 817 ehci_work (ehci); 825 - spin_unlock (&ehci->lock); 818 + spin_unlock_irqrestore(&ehci->lock, flags); 826 819 if (pcd_status) 827 820 usb_hcd_poll_rh_status(hcd); 828 821 return IRQ_HANDLED;
+2
drivers/usb/serial/ftdi_sio.c
··· 907 907 /* Crucible Devices */ 908 908 { USB_DEVICE(FTDI_VID, FTDI_CT_COMET_PID) }, 909 909 { USB_DEVICE(FTDI_VID, FTDI_Z3X_PID) }, 910 + /* Cressi Devices */ 911 + { USB_DEVICE(FTDI_VID, FTDI_CRESSI_PID) }, 910 912 { } /* Terminating entry */ 911 913 }; 912 914
+6
drivers/usb/serial/ftdi_sio_ids.h
··· 1320 1320 * Manufacturer: Smart GSM Team 1321 1321 */ 1322 1322 #define FTDI_Z3X_PID 0x0011 1323 + 1324 + /* 1325 + * Product: Cressi PC Interface 1326 + * Manufacturer: Cressi 1327 + */ 1328 + #define FTDI_CRESSI_PID 0x87d0