From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Tue, 5 Jan 2016 17:16:05 +0100 Subject: [U-Boot] [PATCH] usb: dwc2: Enhance interrupt handling for CONTROL transaction In-Reply-To: <1452009107.2276.9.camel@altera.com> References: <1451970004-2344-1-git-send-email-clsee@altera.com> <201601051536.11086.marex@denx.de> <1452009107.2276.9.camel@altera.com> Message-ID: <201601051716.05794.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tuesday, January 05, 2016 at 04:51:47 PM, Chin Liang See wrote: > On Tue, 2016-01-05 at 15:36 +0100, Marek Vasut wrote: > > On Tuesday, January 05, 2016 at 06:00:04 AM, Chin Liang See wrote: > > > Per DesignWare USB OTG databook, driver should retry up to > > > 3 times when transaction error (hcint.xacterr) happen. But > > > the 3 times doesn't count when the response is nack > > > (hcint.nak) or frame overrun (hcint.frmoverun) > > > > > > This patch solved the enumeration error as spotted at socfpga > > > cyclone5_socdk when plugging in certain pendrive. > > > > > > Signed-off-by: Chin Liang See > > > Cc: Marek Vasut > > > Cc: Dinh Nguyen > > > Cc: Dinh Nguyen > > > Cc: Pavel Machek > > > Cc: Oleksandr Tymoshenko > > > Cc: Stephen Warren > > > Cc: Alexander Stein > > > Cc: Peter Griffin > > > > I applied this change on top of u-boot-socfpga/master and tested it > > on > > SoCFPGA CycloneV SoCDK with "Sandisk cruzer force" stick. The board > > gets > > completely stuck if I have dcache ENABLED and perform 'usb reset'. > > This > > > patch is: > Thanks Marek for testing. I managed to find a SanDisk Cruzer Blade and > notice the same fail behaviours as yours. FYI, note that this patch > works well with other 3 pendrive that I have. > > With SanDisk, the dwc2 driver was timed out as hcint.xfercomp and > chhltd never get set even after 1s. It keep retrying endlessly due to > miss handling for the ETIMEDOUT within this patch. > > In short, the retry doesn't work for SanDisk but the dcache disable > works. Need to figure out more what cause the failure. Excellent, I have one of those too (I bought the entire lineup of these sandisk sticks at one point ;-) ) Best regards, Marek Vasut