From owner-cvs-src@FreeBSD.ORG Wed Nov 22 19:46:10 2006 Return-Path: X-Original-To: cvs-src@freebsd.org Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7B1A216A47E; Wed, 22 Nov 2006 19:46:10 +0000 (UTC) (envelope-from Danovitsch@vitsch.net) Received: from amsfep15-int.chello.nl (amsfep17-int.chello.nl [213.46.243.15]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4A26043D62; Wed, 22 Nov 2006 19:45:32 +0000 (GMT) (envelope-from Danovitsch@vitsch.net) Received: from Tuinhuisje.Vitsch.net ([62.195.87.223]) by amsfep15-int.chello.nl (InterMail vM.6.01.04.04 201-2131-118-104-20050224) with ESMTP id <20061122194555.NMZX1751.amsfep15-int.chello.nl@Tuinhuisje.Vitsch.net>; Wed, 22 Nov 2006 20:45:55 +0100 Received: from self (f23025.upc-f.chello.nl [80.56.23.25]) (authenticated bits=0) by Tuinhuisje.Vitsch.net (8.13.1/8.13.1) with ESMTP id kAMJjlsf068359; Wed, 22 Nov 2006 20:45:47 +0100 (CET) (envelope-from Danovitsch@vitsch.net) From: "Daan Vreeken [PA4DAN]" Organization: Vitsch Electronics To: Warner Losh Date: Wed, 22 Nov 2006 20:45:54 +0100 User-Agent: KMail/1.9.1 References: <200611221756.kAMHuapt020379@repoman.freebsd.org> In-Reply-To: <200611221756.kAMHuapt020379@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200611222045.54325.Danovitsch@vitsch.net> Cc: cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/dev/usb usbdi.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Nov 2006 19:46:10 -0000 On Wednesday 22 November 2006 18:56, Warner Losh wrote: > imp 2006-11-22 17:56:36 UTC > > FreeBSD src repository > > Modified files: > sys/dev/usb usbdi.c > Log: > Fix coherency issue. From submitter: > > I have been debugging the usb problems some more. Your were > right in your assumption (thanks for the pointer) about lack > of calls to bus_dmamap_sync(). In usbdi.c bus_dmamap_sync() > does get used for transfers that move data from PC to USB and > it is used for transfers that move data from USB to PC. But > someone forgot that control transfers consist of possibly two > data chunks : the request itself and optionally a buffer of > data that should be transfered to or from the USB device. On > requests to the control endpoint without additional data > bus_dmamap_sync() didn't get called. For some reason my first > tests with umass worked (due to enough cache poisening I > guess). The attached patch adds a call to bus_dmamap_sync() > to usbdi.c and now all devices I have tried work out of the > box. I have successfully transfered large files using the > if_axe driver and I have mounted several different umass > devices. > > submitted by: Daan Vreeken > sponsored by: Vitsch Electronics > reviewed by: cognet@ Thanks! -- Daan