From owner-svn-src-all@freebsd.org Fri Feb 12 16:47:58 2016 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E72A3AA6958; Fri, 12 Feb 2016 16:47:58 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (alchemy.franken.de [194.94.249.214]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "alchemy.franken.de", Issuer "alchemy.franken.de" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 813BA1D58; Fri, 12 Feb 2016 16:47:58 +0000 (UTC) (envelope-from marius@alchemy.franken.de) Received: from alchemy.franken.de (localhost [127.0.0.1]) by alchemy.franken.de (8.15.2/8.15.2/ALCHEMY.FRANKEN.DE) with ESMTPS id u1CGltaD055547 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 12 Feb 2016 17:47:55 +0100 (CET) (envelope-from marius@alchemy.franken.de) Received: (from marius@localhost) by alchemy.franken.de (8.15.2/8.15.2/Submit) id u1CGltAv055546; Fri, 12 Feb 2016 17:47:55 +0100 (CET) (envelope-from marius) Date: Fri, 12 Feb 2016 17:47:55 +0100 From: Marius Strobl To: Michal Meloun Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r295557 - head/sys/dev/uart Message-ID: <20160212164755.GC4980@alchemy.franken.de> References: <201602120514.u1C5EwWt053622@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201602120514.u1C5EwWt053622@repo.freebsd.org> User-Agent: Mutt/1.5.24 (2015-08-30) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (alchemy.franken.de [0.0.0.0]); Fri, 12 Feb 2016 17:47:55 +0100 (CET) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Feb 2016 16:47:59 -0000 On Fri, Feb 12, 2016 at 05:14:58AM +0000, Michal Meloun wrote: > Author: mmel > Date: Fri Feb 12 05:14:58 2016 > New Revision: 295557 > URL: https://svnweb.freebsd.org/changeset/base/295557 > > Log: > UART: Fix spurious interrupts generated by ns8250 and lpc drivers: > - don't enable transmitter empty interrupt before filling TX FIFO. Are you sure this doesn't create a race that leads to lost TX ready interrupts? For a single character, the TX FIFO very well may be empty again at the point in time IER_ETXRDY is enabled now. With the varying behavior of 8250/16x50 chips - some of which is documented in sio(4) - I'd expect there are many that no longer generate a TX ready at all with this change in place. In this case, receiving spurious interrupts (which ones? IIR_NOPEND? IIR_TXRDY?) with some devices appears to be the lesser evil. Marius