From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753316AbbCLIpF (ORCPT ); Thu, 12 Mar 2015 04:45:05 -0400 Received: from mga11.intel.com ([192.55.52.93]:42825 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751221AbbCLIpA (ORCPT ); Thu, 12 Mar 2015 04:45:00 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.11,387,1422950400"; d="scan'208";a="697637444" Message-ID: <55015267.4050108@linux.intel.com> Date: Thu, 12 Mar 2015 10:46:31 +0200 From: Mathias Nyman User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 MIME-Version: 1.0 To: Lu Baolu , Mathias Nyman , Greg Kroah-Hartman CC: 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> In-Reply-To: <1426124346-23365-1-git-send-email-baolu.lu@linux.intel.com> X-Enigmail-Version: 1.6 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 12.03.2015 03:39, 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.") > Maybe we should set the quirk for all Intel xHCI controllers. So far the list includes Pantherpoint, Lynxpoint and valleyview. I bet it concerns most Intel platforms. -Mathias