From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from fllnx209.ext.ti.com ([198.47.19.16]:53091 "EHLO fllnx209.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754622AbcKXEyJ (ORCPT ); Wed, 23 Nov 2016 23:54:09 -0500 Date: Wed, 23 Nov 2016 22:54:07 -0600 From: Bin Liu To: CC: Subject: Re: [PATCH 0/2] usb: musb: fix bogus rx endpoint interrupt Message-ID: <20161124045407.GA27536@uda0271908> References: <1479962614-27468-1-git-send-email-b-liu@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1479962614-27468-1-git-send-email-b-liu@ti.com> Sender: stable-owner@vger.kernel.org List-ID: On Wed, Nov 23, 2016 at 10:43:32PM -0600, Bin Liu wrote: > Hi, > > This fixes a long standing musb bogus rx interrupt problem. I am not sure on > other platforms, but on AM335x with CPPI DMA enabled, occasionally any of the > following kernel messages shows up from musb driver. (The endpoint number is > random, of cause.) > > musb_host_rx 1853: BOGUS RX2 ready, csr 0000, count 0 > > musb_host_rx 1936: RX3 dma busy, csr 2020 > > In one of the test cases with FT4232H I observed the issue when sometimes > closing the uart port. It turns out the issue is that during handling urb > dequeue, the controller is still receiving data while the CPPI channel is > already aborted, then musb core generates endpoint rx interrupt, instead of > rx dma interrupt in normal rx transfer. rx dma interrupt _as_ in normal rx transfer. > > Based on the inline comments, the fix is to call the new platform ops to clear > the rx ep interrupt in musb_cleanup_urb(). > > I am not sure if this fix should be back ported to all stable trees, but I > only tested up to v4.1, so cc'd stable v4.1+. > > Regards, > -Bin. > --- > > Bin Liu (2): > usb: musb: core: add clear_ep_rxintr() to musb_platform_ops > usb: musb: dsps: implement clear_ep_rxintr() callback > > drivers/usb/musb/musb_core.h | 7 +++++++ > drivers/usb/musb/musb_dsps.c | 12 ++++++++++++ > drivers/usb/musb/musb_host.c | 10 ++++------ > 3 files changed, 23 insertions(+), 6 deletions(-) > > -- > 1.9.1 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html