summaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/mmconfig-shared.c
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-02-17 16:12:51 -0500
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-02-18 12:41:53 -0500
commit3d74a539ae07a8f3c061332e426fc07b2310cf05 (patch)
treed2e7fc97c31a8fe1ed74e5623f0ae2dffc38e366 /arch/x86/pci/mmconfig-shared.c
parentcc0f89c4a426fcd6400a89e9e34e4a8851abef76 (diff)
downloadblackbird-op-linux-3d74a539ae07a8f3c061332e426fc07b2310cf05.tar.gz
blackbird-op-linux-3d74a539ae07a8f3c061332e426fc07b2310cf05.zip
pci/xen: When free-ing MSI-X/MSI irq->desc also use generic code.
This code path is only run when an MSI/MSI-X PCI device is passed in to PV DomU. In 2.6.37 time-frame we over-wrote the default cleanup handler for MSI/MSI-X irq->desc to be "xen_teardown_msi_irqs". That function calls the the xen-pcifront driver which can tell the backend to cleanup/take back the MSI/MSI-X device. However, we forgot to continue the process of free-ing the MSI/MSI-X device resources (irq->desc) in the PV domU side. Which is what the default cleanup handler: default_teardown_msi_irqs did. Hence we would leak IRQ descriptors. Without this patch, doing "rmmod igbvf;modprobe igbvf" multiple times ends with abandoned IRQ descriptors: 28: 5 xen-pirq-pcifront-msi-x 29: 8 xen-pirq-pcifront-msi-x ... 130: 10 xen-pirq-pcifront-msi-x with the end result of running out of IRQ descriptors. Reviewed-by: Ian Campbell <Ian.Campbell@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'arch/x86/pci/mmconfig-shared.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud