V4L/DVB: ngene: MSI cleanup

MSI cleanup.

Signed-off-by: Oliver Endriss <o.endriss@gmx.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
diff --git a/drivers/media/dvb/ngene/ngene-core.c b/drivers/media/dvb/ngene/ngene-core.c
index 2bdcf59..dcf1f45 100644
--- a/drivers/media/dvb/ngene/ngene-core.c
+++ b/drivers/media/dvb/ngene/ngene-core.c
@@ -1300,8 +1300,10 @@
 	ngwritel(0, NGENE_EVENT);
 	ngwritel(0, NGENE_EVENT_HI);
 	free_irq(dev->pci_dev->irq, dev);
+#ifdef CONFIG_PCI_MSI
 	if (dev->msi_enabled)
 		pci_disable_msi(dev->pci_dev);
+#endif
 }
 
 static int ngene_start(struct ngene *dev)
@@ -1339,7 +1341,7 @@
 
 #ifdef CONFIG_PCI_MSI
 	/* enable MSI if kernel and card support it */
-	if (dev->card_info->msi_supported) {
+	if (pci_msi_enabled() && dev->card_info->msi_supported) {
 		ngwritel(0, NGENE_INT_ENABLE);
 		free_irq(dev->pci_dev->irq, dev);
 		stat = pci_enable_msi(dev->pci_dev);
@@ -1391,9 +1393,11 @@
 fail:
 	ngwritel(0, NGENE_INT_ENABLE);
 	free_irq(dev->pci_dev->irq, dev);
+#ifdef CONFIG_PCI_MSI
 fail2:
 	if (dev->msi_enabled)
 		pci_disable_msi(dev->pci_dev);
+#endif
 	return stat;
 }