From owner-cvs-src@FreeBSD.ORG  Mon Jul 24 22:25:17 2006
Return-Path: <owner-cvs-src@FreeBSD.ORG>
X-Original-To: cvs-src@FreeBSD.org
Delivered-To: cvs-src@FreeBSD.org
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 4B0C916A4E2;
	Mon, 24 Jul 2006 22:25:17 +0000 (UTC)
	(envelope-from marcel@FreeBSD.org)
Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 1C07043D46;
	Mon, 24 Jul 2006 22:25:17 +0000 (GMT)
	(envelope-from marcel@FreeBSD.org)
Received: from repoman.freebsd.org (localhost [127.0.0.1])
	by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k6OMPGCX048243;
	Mon, 24 Jul 2006 22:25:17 GMT
	(envelope-from marcel@repoman.freebsd.org)
Received: (from marcel@localhost)
	by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k6OMPG61048242;
	Mon, 24 Jul 2006 22:25:16 GMT (envelope-from marcel)
Message-Id: <200607242225.k6OMPG61048242@repoman.freebsd.org>
From: Marcel Moolenaar <marcel@FreeBSD.org>
Date: Mon, 24 Jul 2006 22:25:16 +0000 (UTC)
To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
X-FreeBSD-CVS-Branch: HEAD
Cc: 
Subject: cvs commit: src/sys/dev/scc scc_core.c
X-BeenThere: cvs-src@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: CVS commit messages for the src tree <cvs-src.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/cvs-src>
List-Post: <mailto:cvs-src@freebsd.org>
List-Help: <mailto:cvs-src-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/cvs-src>,
	<mailto:cvs-src-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Jul 2006 22:25:17 -0000

marcel      2006-07-24 22:25:16 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/scc          scc_core.c 
  Log:
  If we have multiple interrupt resources, like for Z8530 clones on the
  mac-io bus, we cannot setup FAST interrupt handlers. This because we
  use spinlocks to protect the hardware and all interrupt resources are
  assigned the same interrupt handler. When the interrupt handler is
  invoked for interrupt X, it could be preempted for interrupt Y while
  it was holding the lock (where X and Y are the interrupt resources
  corresponding a single instance of this driver). This is a deadlock.
  By only using a MPSAFE handler in that case we prevent preemption.
  
  Revision  Changes    Path
  1.4       +13 -11    src/sys/dev/scc/scc_core.c