Move all to deprecated folder.
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
From: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>
|
||||
Subject: [PATCH] usb: pci-quirks: do not access OHCI_FMINTERVAL register on ULI hw
|
||||
|
||||
This access causes hang on Freescale P2020DS board (that has OHCI
|
||||
provided by ULI 1533 chip).
|
||||
|
||||
Since preserving OHCI_FMINTERVAL was originally done only for NVIDIA
|
||||
hardware and only later (in c6187597) was turned unconditional, and
|
||||
c6187597 commit message again mentions only NVIDIA, I think it should be
|
||||
safe to disable preserving OHCI_FMINTERVAL if device vendor is ULI.
|
||||
|
||||
Signed-off-by: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru>
|
||||
---
|
||||
drivers/usb/host/pci-quirks.c | 8 +++++---
|
||||
1 file changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
|
||||
index 00661d3..5acbd5b 100644
|
||||
--- a/drivers/usb/host/pci-quirks.c
|
||||
+++ b/drivers/usb/host/pci-quirks.c
|
||||
@@ -571,7 +571,7 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
{
|
||||
void __iomem *base;
|
||||
u32 control;
|
||||
- u32 fminterval;
|
||||
+ u32 uninitialized_var(fminterval);
|
||||
int cnt;
|
||||
|
||||
if (!mmio_resource_enabled(pdev, 0))
|
||||
@@ -619,7 +619,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
}
|
||||
|
||||
/* software reset of the controller, preserving HcFmInterval */
|
||||
- fminterval = readl(base + OHCI_FMINTERVAL);
|
||||
+ if (pdev->vendor != PCI_VENDOR_ID_AL)
|
||||
+ fminterval = readl(base + OHCI_FMINTERVAL);
|
||||
writel(OHCI_HCR, base + OHCI_CMDSTATUS);
|
||||
|
||||
/* reset requires max 10 us delay */
|
||||
@@ -628,7 +629,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev)
|
||||
break;
|
||||
udelay(1);
|
||||
}
|
||||
- writel(fminterval, base + OHCI_FMINTERVAL);
|
||||
+ if (pdev->vendor != PCI_VENDOR_ID_AL)
|
||||
+ writel(fminterval, base + OHCI_FMINTERVAL);
|
||||
|
||||
/* Now the controller is safely in SUSPEND and nothing can wake it up */
|
||||
iounmap(base);
|
||||
--
|
||||
1.7.10.4
|
||||
Reference in New Issue
Block a user