From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <550152EA.7030203@linux.intel.com> Date: Thu, 12 Mar 2015 16:48:42 +0800 From: "Lu, Baolu" MIME-Version: 1.0 To: Greg Kroah-Hartman CC: Mathias Nyman , dheitmueller@kernellabs.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH 1/1] usb: xhci: apply XHCI_AVOID_BEI quirk to Intel ValleyView and LynxPoint LP References: <1426124346-23365-1-git-send-email-baolu.lu@linux.intel.com> <20150312075433.GA32051@kroah.com> In-Reply-To: <20150312075433.GA32051@kroah.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: On 03/12/2015 03:54 PM, Greg Kroah-Hartman wrote: > On Thu, Mar 12, 2015 at 09:39:06AM +0800, Lu Baolu wrote: >> When a device with an isochronous endpoint is plugged into the Intel >> xHCI host controller, and the driver submits multiple frames per URB, >> the xHCI driver will set the Block Event Interrupt (BEI) flag on all >> but the last TD for the URB. This causes the host controller to place >> an event on the event ring, but not send an interrupt. When the last >> TD for the URB completes, BEI is cleared, and we get an interrupt for >> the whole URB. >> >> However, under some Intel xHCI host controllers like ValleyView and >> Lynx Point LP, if the event ring is full of events from transfers with >> BEI set, a "Event Ring is Full" event will be posted to the last entry >> of the event ring, but no interrupt is generated. Host will cease all >> transfer and command executions and wait until software completes >> handling the pending events in event ring. That means xHC stops but >> event of "event ring is full" is not notified. As the result, the xHC >> looks like dead to user. >> >> The patch is to apply XHCI_AVOID_BEI to Intel VallyView and Lynx Point >> LP devices. And it should be backported to kernels as old as 3.0, that >> contains the commit 69e848c2090a ("Intel xhci: Support EHCI/xHCI port >> switching.") >> >> Signed-off-by: Lu Baolu >> Cc: stable@vger.kernel.org >> --- >> drivers/usb/host/xhci-pci.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c >> index fd53c9e..5aa4893 100644 >> --- a/drivers/usb/host/xhci-pci.c >> +++ b/drivers/usb/host/xhci-pci.c >> @@ -40,6 +40,7 @@ >> #define PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI 0x22b5 >> #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f >> #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f >> +#define PCI_DEVICE_ID_INTEL_VALLEYVIEW_XHCI 0x0f35 > Minor nit, you added a tab where the rest of the file was using a space > :( Yes, thanks for reminding. > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > >