From owner-freebsd-arm@FreeBSD.ORG Sat May 9 09:06:37 2009 Return-Path: Delivered-To: freebsd-arm@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CD4E5106564A for ; Sat, 9 May 2009 09:06:37 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe13.swip.net [212.247.155.129]) by mx1.freebsd.org (Postfix) with ESMTP id 61AA08FC14 for ; Sat, 9 May 2009 09:06:37 +0000 (UTC) (envelope-from hselasky@c2i.net) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=SK9XPEhRChQA:10 a=MXw7gxVQKqGXY79tIT8aFQ==:17 a=QSX11yxy2x8J1Xq3pGUA:9 a=MYcD9l6sn4b7HO0Y_XEzVO4dj5IA:4 Received: from [62.113.132.61] (account mc467741@c2i.net HELO laptop) by mailfe13.swip.net (CommuniGate Pro SMTP 5.2.13) with ESMTPA id 848715676; Sat, 09 May 2009 10:06:32 +0200 From: Hans Petter Selasky To: freebsd-arm@freebsd.org Date: Sat, 9 May 2009 10:09:05 +0200 User-Agent: KMail/1.9.7 References: <260bb65e0905082115l4f017fb8g85ec88b81c191dc6@mail.gmail.com> In-Reply-To: <260bb65e0905082115l4f017fb8g85ec88b81c191dc6@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200905091009.06658.hselasky@c2i.net> Cc: freebsd-usb@freebsd.org Subject: Re: EHCI Problem on FreeBSD arm port X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to the StrongARM Processor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 May 2009 09:06:38 -0000 On Saturday 09 May 2009, Yohanes Nugroho wrote: > Hi all, > > This is where I got stuck. The EHCI controller is detected, most of > the time the hub is detected (2 ports), and some of the time the USB > mass controller is loaded. From my observation, it seems that even > though the USB transaction is completed successfully, it sometimes > doesn't return correct data. By "completing successfully", The result > is (error=0): Hi, If the strings are corrupt I would guess at a busdma issue. Flusing in device done is too late. Put your flush all / invalidate all code into: #if USB_HAVE_BUSDMA && defined(__FreeBSD__) ... usb2_pc_cpu_flush() usb2_pc_cpu_invalidate() ... #endif In "src/sys/dev/usb/usb_busdma.c". Are you running stock 8-current ? --HPS