kernel: bump 4.14 to 4.14.48 for 18.06
[openwrt/openwrt.git] / target / linux / generic / pending-4.14 / 811-pci_disable_usb_common_quirks.patch
index 410a2675977a34acda3a82e0be57763af60ec028..6be2098ca8de71b184638de457ec0286e098888f 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/usb/host/pci-quirks.c
 +++ b/drivers/usb/host/pci-quirks.c
-@@ -107,6 +107,8 @@ struct amd_chipset_type {
+@@ -124,6 +124,8 @@ struct amd_chipset_type {
        u8 rev;
  };
  
@@ -19,7 +19,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static struct amd_chipset_info {
        struct pci_dev  *nb_dev;
        struct pci_dev  *smbus_dev;
-@@ -511,6 +513,10 @@ void usb_amd_dev_put(void)
+@@ -528,6 +530,10 @@ void usb_amd_dev_put(void)
  }
  EXPORT_SYMBOL_GPL(usb_amd_dev_put);
  
@@ -28,9 +28,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +#if IS_ENABLED(CONFIG_USB_UHCI_HCD)
 +
  /*
-  * Make sure the controller is completely inactive, unable to
-  * generate interrupts or do DMA.
-@@ -590,8 +596,17 @@ reset_needed:
+  * Check if port is disabled in BIOS on AMD Promontory host.
+  * BIOS Disabled ports may wake on connect/disconnect and need
+@@ -699,8 +705,17 @@ reset_needed:
        uhci_reset_hc(pdev, base);
        return 1;
  }
@@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
  {
        u16 cmd;
-@@ -1178,3 +1193,4 @@ bool usb_xhci_needs_pci_reset(struct pci
+@@ -1287,3 +1302,4 @@ bool usb_xhci_needs_pci_reset(struct pci
        return false;
  }
  EXPORT_SYMBOL_GPL(usb_xhci_needs_pci_reset);
@@ -65,8 +65,8 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  int usb_amd_find_chipset_info(void);
  int usb_hcd_amd_remote_wakeup_quirk(struct pci_dev *pdev);
  bool usb_amd_hang_symptom_quirk(void);
-@@ -19,12 +22,29 @@ void sb800_prefetch(struct device *dev,
- bool usb_xhci_needs_pci_reset(struct pci_dev *pdev);
+@@ -20,12 +23,29 @@ bool usb_xhci_needs_pci_reset(struct pci
+ bool usb_amd_pt_check_port(struct device *device, int port);
  #else
  struct pci_dev;
 +static inline int usb_amd_find_chipset_info(void)
@@ -92,9 +92,9 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +{
 +      return false;
 +}
- #endif  /* CONFIG_USB_PCI */
- #endif  /*  __LINUX_USB_PCI_QUIRKS_H  */
+ static inline bool usb_amd_pt_check_port(struct device *device, int port)
+ {
+       return false;
 --- a/include/linux/usb/hcd.h
 +++ b/include/linux/usb/hcd.h
 @@ -465,7 +465,14 @@ extern int usb_hcd_pci_probe(struct pci_