From owner-freebsd-usb@FreeBSD.ORG Sun Feb 1 19:26:41 2009 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DF346106564A; Sun, 1 Feb 2009 19:26:41 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from pele.citylink.co.nz (pele.citylink.co.nz [202.8.44.226]) by mx1.freebsd.org (Postfix) with ESMTP id 9523F8FC0A; Sun, 1 Feb 2009 19:26:41 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by pele.citylink.co.nz (Postfix) with ESMTP id 06CD1FF79; Mon, 2 Feb 2009 08:26:41 +1300 (NZDT) X-Virus-Scanned: Debian amavisd-new at citylink.co.nz Received: from pele.citylink.co.nz ([127.0.0.1]) by localhost (pele.citylink.co.nz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sjd+N1wb295M; Mon, 2 Feb 2009 08:26:37 +1300 (NZDT) Received: from citylink.fud.org.nz (unknown [202.8.44.45]) by pele.citylink.co.nz (Postfix) with ESMTP; Mon, 2 Feb 2009 08:26:37 +1300 (NZDT) Received: by citylink.fud.org.nz (Postfix, from userid 1001) id 2F6011142C; Mon, 2 Feb 2009 08:26:37 +1300 (NZDT) Date: Sun, 1 Feb 2009 11:26:37 -0800 From: Andrew Thompson To: Hans Petter Selasky Message-ID: <20090201192637.GG32503@citylink.fud.org.nz> References: <20090131231957.GB31825@citylink.fud.org.nz> <200902011220.18745.hselasky@c2i.net> <20090201175021.GA32503@citylink.fud.org.nz> <200902011922.16810.hselasky@c2i.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200902011922.16810.hselasky@c2i.net> User-Agent: Mutt/1.5.17 (2007-11-01) Cc: freebsd-usb@freebsd.org Subject: Re: USB2 patches X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Feb 2009 19:26:42 -0000 On Sun, Feb 01, 2009 at 07:22:15PM +0100, Hans Petter Selasky wrote: > > If you compare the old USB code with the new USB code for if_zyd for example > you see that there are dozens of error checks everywhere: > > if (error != 0) > goto fail; > > In the new USB code I've factored out all those checks into 3 lines of code in > every driver: > > if (usb2_config_td_is_gone(&sc->sc_config_td)) { > goto error; > } > > In your patch you remove all error checking! If the taskqueue system does not > have an API function that can tell if the taskqueue is being drained from > inside the taskqueue callback, the taskqueue system has to be modified! It > cannot replace the existing system like it is now! Things are still a work in progress, if I have missed some error checking then it can be fixed up. Andrew