Date: Wed, 25 Jun 2003 13:33:52 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: louie@TransSys.COM Cc: freebsd-hackers@freebsd.org Subject: Re: USB, select/poll for ucom Message-ID: <20030625.133352.08453169.imp@bsdimp.com> In-Reply-To: <200306251858.h5PIwSW8017536@whizzo.transsys.com> References: <E19VCk7-000254-00@cs.huji.ac.il> <20030625.101549.78767546.imp@bsdimp.com> <200306251858.h5PIwSW8017536@whizzo.transsys.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200306251858.h5PIwSW8017536@whizzo.transsys.com> "Louis A. Mamakos" <louie@TransSys.COM> writes: : I think the problem is that the USB hardware doesn't try to read data : from the peripheral until the user-mode code does a read(2) system : call. I had this problem with the ugen device. I would guess that : the ucom/umodem devices could use the tty clist infrastructure as : the intermediate buffer for data to be stuck into absent the user : application doing a read. I thought that ucom does do that. It uses ttypoll as its polling function, and seems to insert data into the tty structure on an interrupt basis. That is hidden a little bit by the usb driver structure. In the middle of ucomopen we call ucomstartread which posts a read onto the bulk in pipe. This read fires a callback when it is 'finished' which the processes the data. So I think that maybe that transfer is never completing. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030625.133352.08453169.imp>