adapter->pdev = pdev;
        adapter->hw.back = adapter;
        adapter->hw.reg = pcim_iomap_table(pdev)[PCH_GBE_PCI_BAR];
+
        adapter->pdata = (struct pch_gbe_privdata *)pci_id->driver_data;
-       if (adapter->pdata && adapter->pdata->platform_init)
-               adapter->pdata->platform_init(pdev);
+       if (adapter->pdata && adapter->pdata->platform_init) {
+               ret = adapter->pdata->platform_init(pdev);
+               if (ret)
+                       goto err_free_netdev;
+       }
 
        adapter->ptp_pdev =
                pci_get_domain_bus_and_slot(pci_domain_nr(adapter->pdev->bus),
  */
 static int pch_gbe_minnow_platform_init(struct pci_dev *pdev)
 {
-       unsigned long flags = GPIOF_DIR_OUT | GPIOF_INIT_HIGH | GPIOF_EXPORT;
+       unsigned long flags = GPIOF_OUT_INIT_HIGH;
        unsigned gpio = MINNOW_PHY_RESET_GPIO;
        int ret;