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) {
                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");
-
-                               }
-                       }
+       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;
 }