From owner-cvs-all@FreeBSD.ORG Sat Sep 27 03:30:05 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 860F816A4B3; Sat, 27 Sep 2003 03:30:05 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 014D344037; Sat, 27 Sep 2003 03:30:04 -0700 (PDT) (envelope-from bde@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8RAU3XJ016194; Sat, 27 Sep 2003 03:30:03 -0700 (PDT) (envelope-from bde@repoman.freebsd.org) Received: (from bde@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8RAU3Jb016193; Sat, 27 Sep 2003 03:30:03 -0700 (PDT) (envelope-from bde) Message-Id: <200309271030.h8RAU3Jb016193@repoman.freebsd.org> From: Bruce Evans Date: Sat, 27 Sep 2003 03:30:03 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/i386/isa cy.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2003 10:30:05 -0000 bde 2003/09/27 03:30:03 PDT FreeBSD src repository Modified files: sys/i386/isa cy.c Log: Quick fix for bitrot in locking in the SMP case. cd_getreg() and cd_setreg() were still using !(read_eflags() & PSL_I) as the condition for the lock hidden by COM_LOCK() (if any) being held. This worked when spin mutexes and/or critical_enter() used hard interrupt disablement, but it has caused recursion on the non-recursive mutex com_mtx since all relevant interrupt disablement became soft. The recursion is harmless unless there are other bugs, but it breaks an invariant so it is fatal if spinlocks are witnessed. Revision Changes Path 1.133 +24 -4 src/sys/i386/isa/cy.c