From owner-cvs-src-old@FreeBSD.ORG Fri Dec 11 03:08:20 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D8DB310657E2 for ; Fri, 11 Dec 2009 03:08:20 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id C72388FC1B for ; Fri, 11 Dec 2009 03:08:20 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id nBB38KrT006533 for ; Fri, 11 Dec 2009 03:08:20 GMT (envelope-from marcel@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id nBB38KtR006532 for cvs-src-old@freebsd.org; Fri, 11 Dec 2009 03:08:20 GMT (envelope-from marcel@repoman.freebsd.org) Message-Id: <200912110308.nBB38KtR006532@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to marcel@repoman.freebsd.org using -f From: Marcel Moolenaar Date: Fri, 11 Dec 2009 03:08:07 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/dev/puc puc.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Dec 2009 03:08:20 -0000 marcel 2009-12-11 03:08:07 UTC FreeBSD src repository Modified files: sys/dev/puc puc.c Log: SVN rev 200397 on 2009-12-11 03:08:07Z by marcel Fix interrupt handling. It started off broken and grew worse over time. The rewrite of the interrupt handler includes: o loop until all pending interrupts are handled. This closes a race condition. o count the number of interrupt sources we handled so that we can properly return FILTER_HANDLED or FILTER_STRAY when we break out of the loop. o When matching the interrupt source to the devices that have that source pending, check only from the set of devices we found to have a pending interrupt. PR: kern/140947 MFC after: 3 days Revision Changes Path 1.51 +62 -46 src/sys/dev/puc/puc.c