From a195726fa33097e56cf1c25c31feddb827e140f0 Mon Sep 17 00:00:00 2001 From: govinda Date: Thu, 13 Oct 2005 17:45:09 -0700 Subject: PSARC/2005/561 Obsolete DDI Interrupt Interfaces 6330182 Implement PSARC/2005/561 changes 6255855 ddi_intr_get_nintrs() returns DDI_SUCCESS for type = -1 6255872 ddi_intr_get_cap() returns 0 for capability structure 6256554 process_intr_ops() should check for pdip value 6280180 memory leaks in ddi_add_intr /ddi_intr_alloc 6320326 interrupt state should not be touched during interrupt re-routing 6320368 default px driver configuration should be MSIX 6320374 px driver should call ndi_ra_alloc() with proper arguments 6323264 px_err_reg_disable() access fire regsiters with incorrect csrbase 6328321 update sparc.fdbg for new DDI interrupt data structures --HG-- rename : usr/src/uts/common/sys/nexusintr.h => deleted_files/usr/src/uts/common/sys/nexusintr.h rename : usr/src/uts/sun4/sys/nexusintr_impl.h => deleted_files/usr/src/uts/sun4/sys/nexusintr_impl.h --- usr/src/uts/common/io/pci_intr_lib.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'usr/src/uts/common/io/pci_intr_lib.c') diff --git a/usr/src/uts/common/io/pci_intr_lib.c b/usr/src/uts/common/io/pci_intr_lib.c index eaf8b6d761..b204daad70 100644 --- a/usr/src/uts/common/io/pci_intr_lib.c +++ b/usr/src/uts/common/io/pci_intr_lib.c @@ -947,11 +947,13 @@ pci_intx_get_cap(dev_info_t *dip, int *flagsp) DDI_INTR_NEXDBG((CE_CONT, "pci_intx_get_cap: " "command register is now 0x%x\n", cmdreg)); + *flagsp = DDI_INTR_FLAG_LEVEL; + if (cmdreg & PCI_COMM_INTX_DISABLE) { DDI_INTR_NEXDBG((CE_CONT, "pci_intx_get_cap: " "masking supported\n")); - *flagsp = (DDI_INTR_FLAG_MASKABLE | - DDI_INTR_FLAG_PENDING | DDI_INTR_FLAG_LEVEL); + *flagsp |= (DDI_INTR_FLAG_MASKABLE | + DDI_INTR_FLAG_PENDING); } /* Restore the device back to the original state and return */ -- cgit v1.2.3