From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751397AbWFCWQH (ORCPT ); Sat, 3 Jun 2006 18:16:07 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751401AbWFCWQH (ORCPT ); Sat, 3 Jun 2006 18:16:07 -0400 Received: from perninha.conectiva.com.br ([200.140.247.100]:17345 "EHLO perninha.conectiva.com.br") by vger.kernel.org with ESMTP id S1751397AbWFCWQF (ORCPT ); Sat, 3 Jun 2006 18:16:05 -0400 Date: Sat, 3 Jun 2006 19:19:17 -0300 From: "Luiz Fernando N. Capitulino" To: Greg KH Cc: Pete Zaitcev , linux-kernel@vger.kernel.org, rmk@arm.linux.org.uk, linux-usb-devel@lists.sourceforge.net Subject: Re: [PATCH 8/11] usbserial: pl2303: Ports tty functions. Message-ID: <20060603191917.29967d61@home.brethil> In-Reply-To: <20060602224435.GA26061@suse.de> References: <1149217397133-git-send-email-lcapitulino@mandriva.com.br> <1149217398434-git-send-email-lcapitulino@mandriva.com.br> <20060602205014.GB31251@suse.de> <20060602154121.d3f19cbe.zaitcev@redhat.com> <20060602224435.GA26061@suse.de> Organization: Mandriva X-Mailer: Sylpheed-Claws 1.0.4 (GTK+ 1.2.10; x86_64-mandriva-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 2 Jun 2006 15:44:35 -0700 Greg KH wrote: | On Fri, Jun 02, 2006 at 03:41:21PM -0700, Pete Zaitcev wrote: | > On Fri, 2 Jun 2006 13:50:14 -0700, Greg KH wrote: | > > On Fri, Jun 02, 2006 at 12:03:14AM -0300, Luiz Fernando N.Capitulino wrote: | > | > > > 2. The new pl2303's set_termios() can (still) sleep. Serial Core's | > > > documentation says that that method must not sleep, but I couldn't find | > > > where in the Serial Core code it's called in atomic context. So, is this | > > > still true? Isn't the Serial Core's documentation out of date? | > > | > > If this is true then we should just stop the port right now, as the USB | > > devices can not handle this. They need to be able to sleep to | > > accomplish this functionality. | > > | > > Russell, is this a requirement of the serial layer? Why? | > | > Shouldn't it be all right to schedule the change at the moment of | > that call and have it happen later? Resisting a temptation to abuse | > keventd and schedule_work and using a tasklet may help with latency | > enough to make this tolerable. | | Some devices require more than one usb message to set all of the proper | termios bits in the device. Creating a way to queue them up and fire | them off later, and handle errors if something happened in the middle, | after we told userspace the termios change succeeded, might get quite | messy :( But set_termios() returns nothing, and look what termios man page says about tcsetattr() return value: """ Note that tcsetattr() returns success if any of the requested changes could be successfully carried out. Therefore, when making multiple changes it may be necessary to follow this call with a further call to tcgetattr() to check that all changes have been performed successfully. """ Also, why do they need to sleep? Did you note that my version of set_mctrl() is atomic? -- Luiz Fernando N. Capitulino