Merge tag 'drm-next-2022-01-14' of git://anongit.freedesktop.org/drm/drm
[linux-2.6-microblaze.git] / drivers / pci / xen-pcifront.c
index 2156c63..d2a7b9f 100644 (file)
@@ -262,8 +262,8 @@ static int pci_frontend_enable_msix(struct pci_dev *dev,
        }
 
        i = 0;
-       for_each_pci_msi_entry(entry, dev) {
-               op.msix_entries[i].entry = entry->msi_attrib.entry_nr;
+       msi_for_each_desc(entry, &dev->dev, MSI_DESC_NOTASSOCIATED) {
+               op.msix_entries[i].entry = entry->msi_index;
                /* Vector is useless at this point. */
                op.msix_entries[i].vector = -1;
                i++;
@@ -588,61 +588,43 @@ static pci_ers_result_t pcifront_common_process(int cmd,
                                                struct pcifront_device *pdev,
                                                pci_channel_state_t state)
 {
-       pci_ers_result_t result;
        struct pci_driver *pdrv;
        int bus = pdev->sh_info->aer_op.bus;
        int devfn = pdev->sh_info->aer_op.devfn;
        int domain = pdev->sh_info->aer_op.domain;
        struct pci_dev *pcidev;
-       int flag = 0;
 
        dev_dbg(&pdev->xdev->dev,
                "pcifront AER process: cmd %x (bus:%x, devfn%x)",
                cmd, bus, devfn);
-       result = PCI_ERS_RESULT_NONE;
 
        pcidev = pci_get_domain_bus_and_slot(domain, bus, devfn);
-       if (!pcidev || !pcidev->driver) {
+       if (!pcidev || !pcidev->dev.driver) {
                dev_err(&pdev->xdev->dev, "device or AER driver is NULL\n");
                pci_dev_put(pcidev);
-               return result;
+               return PCI_ERS_RESULT_NONE;
        }
-       pdrv = pcidev->driver;
-
-       if (pdrv) {
-               if (pdrv->err_handler && pdrv->err_handler->error_detected) {
-                       pci_dbg(pcidev, "trying to call AER service\n");
-                       if (pcidev) {
-                               flag = 1;
-                               switch (cmd) {
-                               case XEN_PCI_OP_aer_detected:
-                                       result = pdrv->err_handler->
-                                                error_detected(pcidev, state);
-                                       break;
-                               case XEN_PCI_OP_aer_mmio:
-                                       result = pdrv->err_handler->
-                                                mmio_enabled(pcidev);
-                                       break;
-                               case XEN_PCI_OP_aer_slotreset:
-                                       result = pdrv->err_handler->
-                                                slot_reset(pcidev);
-                                       break;
-                               case XEN_PCI_OP_aer_resume:
-                                       pdrv->err_handler->resume(pcidev);
-                                       break;
-                               default:
-                                       dev_err(&pdev->xdev->dev,
-                                               "bad request in aer recovery "
-                                               "operation!\n");
-
-                               }
-                       }
+       pdrv = to_pci_driver(pcidev->dev.driver);
+
+       if (pdrv->err_handler && pdrv->err_handler->error_detected) {
+               pci_dbg(pcidev, "trying to call AER service\n");
+               switch (cmd) {
+               case XEN_PCI_OP_aer_detected:
+                       return pdrv->err_handler->error_detected(pcidev, state);
+               case XEN_PCI_OP_aer_mmio:
+                       return pdrv->err_handler->mmio_enabled(pcidev);
+               case XEN_PCI_OP_aer_slotreset:
+                       return pdrv->err_handler->slot_reset(pcidev);
+               case XEN_PCI_OP_aer_resume:
+                       pdrv->err_handler->resume(pcidev);
+                       return PCI_ERS_RESULT_NONE;
+               default:
+                       dev_err(&pdev->xdev->dev,
+                               "bad request in aer recovery operation!\n");
                }
        }
-       if (!flag)
-               result = PCI_ERS_RESULT_NONE;
 
-       return result;
+       return PCI_ERS_RESULT_NONE;
 }