Messages in this thread | | | Date | Tue, 10 Apr 2012 16:37:27 +0400 | From | Sergei Shtylyov <> | Subject | Re: [PATCH 1/2] usb/ehci-hub: Add workaround for EG20T/ML7213/ML7223/ML7831 |
| |
Hello.
On 10-04-2012 8:07, Tomoya MORINAGA wrote:
> ISSUE: When a bit of EHCI status register (USBSTS) is set > as 1, if the corresponded bit of EHCI interrupt enable > register(USBINTR) is set as 1, an interrupt occurs. > After that, even if the bit of USBINTR is set as 0, the > interrupt continues occurring. > Workaround: Clear the bit 3 of USBSTS before enabling the > interrupt, at resume process.
> This patch is for > Intel EG20T PCH > LAPIS Semiconductor ML7213 IOH > LAPIS Semiconductor ML7223 IOH > LAPIS Semiconductor ML7831 IOH
> Signed-off-by: Tomoya MORINAGA<tomoya.rohm@gmail.com> > --- > drivers/usb/host/ehci-hub.c | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-)
> diff --git a/drivers/usb/host/ehci-hub.c b/drivers/usb/host/ehci-hub.c > index 256fbd4..7ddb62e 100644 > --- a/drivers/usb/host/ehci-hub.c > +++ b/drivers/usb/host/ehci-hub.c [...] > @@ -451,6 +452,23 @@ static int ehci_bus_resume (struct usb_hcd *hcd) > > ehci->next_statechange = jiffies + msecs_to_jiffies(5); > > + if ((pdev->vendor == PCI_VENDOR_ID_INTEL&& pdev->device == 0x8807) || > + (pdev->vendor == PCI_VENDOR_ID_INTEL&& pdev->device == 0x880F) || > + (pdev->vendor == 0x10DB&& pdev->device == 0x801C) || /* ML7213 */ > + (pdev->vendor == 0x10DB&& pdev->device == 0x8007) || /* ML7223 */ > + (pdev->vendor == 0x10DB&& pdev->device == 0x8807)) { /* ML7831 */
Why not:
if ((pdev->vendor == PCI_VENDOR_ID_INTEL && (pdev->device == 0x8807 || pdev->device == 0x880F)) || (pdev->vendor == 0x10DB && (pdev->device == 0x801C || /* ML7213 */ pdev->device == 0x8007 || /* ML7223 */ pdev->device == 0x8807) /* ML7831 */ )) {
which avoids the duplicate checks? The same about the next patch.
WBR, Sergei
| |