--- zzzz-none-000/linux-2.6.19.2/drivers/pcmcia/yenta_socket.c 2007-01-10 19:10:37.000000000 +0000 +++ davinci-8020-5505/linux-2.6.19.2/drivers/pcmcia/yenta_socket.c 2007-01-11 07:38:19.000000000 +0000 @@ -1197,12 +1197,8 @@ ret = pcmcia_register_socket(&socket->socket); if (ret == 0) { /* Add the yenta register attributes */ - ret = device_create_file(&dev->dev, &dev_attr_yenta_registers); - if (ret == 0) - goto out; - - /* error path... */ - pcmcia_unregister_socket(&socket->socket); + device_create_file(&dev->dev, &dev_attr_yenta_registers); + goto out; } unmap: @@ -1217,7 +1213,7 @@ return ret; } -#ifdef CONFIG_PM + static int yenta_dev_suspend (struct pci_dev *dev, pm_message_t state) { struct yenta_socket *socket = pci_get_drvdata(dev); @@ -1252,18 +1248,12 @@ struct yenta_socket *socket = pci_get_drvdata(dev); if (socket) { - int rc; - pci_set_power_state(dev, 0); /* FIXME: pci_restore_state needs to have a better interface */ pci_restore_state(dev); pci_write_config_dword(dev, 16*4, socket->saved_state[0]); pci_write_config_dword(dev, 17*4, socket->saved_state[1]); - - rc = pci_enable_device(dev); - if (rc) - return rc; - + pci_enable_device(dev); pci_set_master(dev); if (socket->type && socket->type->restore_state) @@ -1272,7 +1262,7 @@ return pcmcia_socket_dev_resume(&dev->dev); } -#endif + #define CB_ID(vend,dev,type) \ { \ @@ -1369,10 +1359,8 @@ .id_table = yenta_table, .probe = yenta_probe, .remove = __devexit_p(yenta_close), -#ifdef CONFIG_PM .suspend = yenta_dev_suspend, .resume = yenta_dev_resume, -#endif };