summaryrefslogtreecommitdiff
path: root/usr/src/uts/sun4
diff options
context:
space:
mode:
authorDavid Major <David.Major@Oracle.COM>2010-06-10 14:44:38 -0600
committerDavid Major <David.Major@Oracle.COM>2010-06-10 14:44:38 -0600
commit34a68653e11c2d0a52d0420ebe0772ebfda6b5d9 (patch)
treece3c2787085580ae454d416936d591c076d27694 /usr/src/uts/sun4
parent86c7bc49728b6a3228834132566f5262f2a04ba6 (diff)
downloadillumos-joyent-34a68653e11c2d0a52d0420ebe0772ebfda6b5d9.tar.gz
6930947 ih_pri is referenced before being initialized in px_add_[intx, msiq]_intr()
Diffstat (limited to 'usr/src/uts/sun4')
-rw-r--r--usr/src/uts/sun4/io/px/px_intr.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/usr/src/uts/sun4/io/px/px_intr.c b/usr/src/uts/sun4/io/px/px_intr.c
index a22d649eac..6444d0dce8 100644
--- a/usr/src/uts/sun4/io/px/px_intr.c
+++ b/usr/src/uts/sun4/io/px/px_intr.c
@@ -966,6 +966,9 @@ px_add_intx_intr(dev_info_t *dip, dev_info_t *rdip,
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 @@ px_add_intx_intr(dev_info_t *dip, dev_info_t *rdip,
}
}
- 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 @@ px_add_msiq_intr(dev_info_t *dip, dev_info_t *rdip,
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 @@ px_add_msiq_intr(dev_info_t *dip, dev_info_t *rdip,
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;