diff options
author | David Major <David.Major@Oracle.COM> | 2010-06-10 14:44:38 -0600 |
---|---|---|
committer | David Major <David.Major@Oracle.COM> | 2010-06-10 14:44:38 -0600 |
commit | 34a68653e11c2d0a52d0420ebe0772ebfda6b5d9 (patch) | |
tree | ce3c2787085580ae454d416936d591c076d27694 /usr/src/uts/sun4 | |
parent | 86c7bc49728b6a3228834132566f5262f2a04ba6 (diff) | |
download | illumos-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.c | 12 |
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; |