--- drivers/pcmcia/yenta_socket.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) Index: linux-2.6/drivers/pcmcia/yenta_socket.c =================================================================== --- linux-2.6.orig/drivers/pcmcia/yenta_socket.c +++ linux-2.6/drivers/pcmcia/yenta_socket.c @@ -1225,6 +1225,8 @@ static int __devinit yenta_probe (struct } #ifdef CONFIG_PM +static bool trigger; + static int yenta_dev_suspend_noirq(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); @@ -1232,6 +1234,7 @@ static int yenta_dev_suspend_noirq(struc int ret; ret = pcmcia_socket_dev_suspend(dev); + trigger = true; if (!socket) return ret; @@ -1275,7 +1278,12 @@ static int yenta_dev_resume_noirq(struct if (socket->type && socket->type->restore_state) socket->type->restore_state(socket); - return pcmcia_socket_dev_resume(dev); + if (trigger) { + trigger = false; + dev_info(dev, "Calling pcmcia_socket_dev_resume()\n"); + return pcmcia_socket_dev_resume(dev); + } + return 0; } static struct dev_pm_ops yenta_pm_ops = {