changeset 12603:4f17200860f5

6930947 ih_pri is referenced before being initialized in px_add_[intx, msiq]_intr()
author David Major <David.Major@Oracle.COM>
date Thu, 10 Jun 2010 14:44:38 -0600
parents cee34dc4a570
children 3b6b88cabb4b
files usr/src/uts/sun4/io/px/px_intr.c
diffstat 1 files changed, 6 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/uts/sun4/io/px/px_intr.c	Thu Jun 10 13:30:18 2010 -0700
+++ b/usr/src/uts/sun4/io/px/px_intr.c	Thu Jun 10 14:44:38 2010 -0600
@@ -966,6 +966,9 @@
 	ino_p = px_ib_locate_ino(ib_p, ino);
 	ipil_list = ino_p ? ino_p->ino_ipil_p : NULL;
 
+	if (hdlp->ih_pri == 0)
+		hdlp->ih_pri = pci_class_to_pil(rdip);
+
 	/* Sharing the INO using a PIL that already exists */
 	if (ino_p && (ipil_p = px_ib_ino_locate_ipil(ino_p, hdlp->ih_pri))) {
 		if (px_ib_intr_locate_ih(ipil_p, rdip, hdlp->ih_inum, 0, 0)) {
@@ -1012,9 +1015,6 @@
 		}
 	}
 
-	if (hdlp->ih_pri == 0)
-		hdlp->ih_pri = pci_class_to_pil(rdip);
-
 	ipil_p = px_ib_new_ino_pil(ib_p, ino, hdlp->ih_pri, ih_p);
 	ino_p = ipil_p->ipil_ino_p;
 
@@ -1190,6 +1190,9 @@
 	ino_p = px_ib_locate_ino(ib_p, ino);
 	ipil_list = ino_p ? ino_p->ino_ipil_p : NULL;
 
+	if (hdlp->ih_pri == 0)
+		hdlp->ih_pri = pci_class_to_pil(rdip);
+
 	/* Sharing ino */
 	if (ino_p && (ipil_p = px_ib_ino_locate_ipil(ino_p, hdlp->ih_pri))) {
 		if (px_ib_intr_locate_ih(ipil_p, rdip,
@@ -1211,9 +1214,6 @@
 		goto ino_done;
 	}
 
-	if (hdlp->ih_pri == 0)
-		hdlp->ih_pri = pci_class_to_pil(rdip);
-
 	ipil_p = px_ib_new_ino_pil(ib_p, ino, hdlp->ih_pri, ih_p);
 	ino_p = ipil_p->ipil_ino_p;