/* reset controller */
        writel(AMD_BIT(UDC_DEVCFG_SOFTRESET), &dev->regs->cfg);
-       if (dev->irq_registered)
-               free_irq(pdev->irq, dev);
-       if (dev->virt_addr)
-               iounmap(dev->virt_addr);
-       if (dev->mem_region)
-               release_mem_region(pci_resource_start(pdev, 0),
-                               pci_resource_len(pdev, 0));
-       if (dev->active)
-               pci_disable_device(pdev);
+       free_irq(pdev->irq, dev);
+       iounmap(dev->virt_addr);
+       release_mem_region(pci_resource_start(pdev, 0),
+                          pci_resource_len(pdev, 0));
+       pci_disable_device(pdev);
 
        udc_remove(dev);
 }
                retval = -ENODEV;
                goto err_pcidev;
        }
-       dev->active = 1;
 
        /* PCI resource allocation */
        resource = pci_resource_start(pdev, 0);
                retval = -EBUSY;
                goto err_memreg;
        }
-       dev->mem_region = 1;
 
        dev->virt_addr = ioremap_nocache(resource, len);
        if (dev->virt_addr == NULL) {
                retval = -EBUSY;
                goto err_irq;
        }
-       dev->irq_registered = 1;
 
        pci_set_drvdata(pdev, dev);
 
 
        struct udc_ep                   ep[UDC_EP_NUM];
        struct usb_gadget_driver        *driver;
        /* operational flags */
-       unsigned                        active : 1,
-                                       stall_ep0in : 1,
+       unsigned                        stall_ep0in : 1,
                                        waiting_zlp_ack_ep0in : 1,
                                        set_cfg_not_acked : 1,
-                                       irq_registered : 1,
                                        data_ep_enabled : 1,
                                        data_ep_queued : 1,
-                                       mem_region : 1,
                                        sys_suspended : 1,
                                        connected;