Mercurial > illumos > illumos-gate
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;