powerpc/146888: commit references a PR

dfilter service dfilter at FreeBSD.ORG
Thu Jun 10 19:30:05 UTC 2010


The following reply was made to PR powerpc/146888; it has been noted by GNATS.

From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:  
Subject: Re: powerpc/146888: commit references a PR
Date: Thu, 10 Jun 2010 19:11:20 +0000 (UTC)

 Author: nwhitehorn
 Date: Thu Jun 10 19:11:00 2010
 New Revision: 208996
 URL: http://svn.freebsd.org/changeset/base/208996
 
 Log:
   MFC r208835:
   Make sure that interrupt sense settings set after interrupts are enabled
   are respected. This fixes loading the Apple onboard audio driver
   (snd_ai2s) as a module after boot, which would previously cause a panic.
   
   PR:		powerpc/146888
   Approved by:	re (kensmith)
 
 Modified:
   stable/8/sys/powerpc/powerpc/intr_machdep.c
 Directory Properties:
   stable/8/sys/   (props changed)
   stable/8/sys/amd64/include/xen/   (props changed)
   stable/8/sys/cddl/contrib/opensolaris/   (props changed)
   stable/8/sys/contrib/dev/acpica/   (props changed)
   stable/8/sys/contrib/pf/   (props changed)
   stable/8/sys/dev/xen/xenpci/   (props changed)
   stable/8/sys/geom/sched/   (props changed)
 
 Modified: stable/8/sys/powerpc/powerpc/intr_machdep.c
 ==============================================================================
 --- stable/8/sys/powerpc/powerpc/intr_machdep.c	Thu Jun 10 18:04:25 2010	(r208995)
 +++ stable/8/sys/powerpc/powerpc/intr_machdep.c	Thu Jun 10 19:11:00 2010	(r208996)
 @@ -164,6 +164,7 @@ intr_lookup(u_int irq)
  	i->trig = INTR_TRIGGER_CONFORM;
  	i->pol = INTR_POLARITY_CONFORM;
  	i->irq = irq;
 +	i->pic = NULL;
  	i->vector = -1;
  
  	mtx_lock(&intr_table_lock);
 @@ -325,6 +326,11 @@ powerpc_setup_intr(const char *name, u_i
  
  	if (!cold) {
  		error = powerpc_map_irq(i);
 +
 +		if (!error && (i->trig != INTR_TRIGGER_CONFORM ||
 +		    i->pol != INTR_POLARITY_CONFORM))
 +			PIC_CONFIG(i->pic, i->intline, i->trig, i->pol);
 +
  		if (!error && enable)
  			PIC_ENABLE(i->pic, i->intline, i->vector);
  	}
 @@ -350,7 +356,7 @@ powerpc_config_intr(int irq, enum intr_t
  	i->trig = trig;
  	i->pol = pol;
  
 -	if (!cold)
 +	if (!cold && i->pic != NULL)
  		PIC_CONFIG(i->pic, i->intline, trig, pol);
  
  	return (0);
 _______________________________________________
 svn-src-all at freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
 


More information about the freebsd-ppc mailing list