Loading drivers/s390/net/ctcm_main.c +36 −1 Original line number Diff line number Diff line /* * drivers/s390/net/ctcm_main.c * * Copyright IBM Corp. 2001, 2007 * Copyright IBM Corp. 2001, 2009 * Author(s): * Original CTC driver(s): * Fritz Elfert (felfert@millenux.com) Loading Loading @@ -1688,6 +1688,38 @@ static void ctcm_remove_device(struct ccwgroup_device *cgdev) put_device(&cgdev->dev); } static int ctcm_pm_suspend(struct ccwgroup_device *gdev) { struct ctcm_priv *priv = dev_get_drvdata(&gdev->dev); if (gdev->state == CCWGROUP_OFFLINE) return 0; netif_device_detach(priv->channel[READ]->netdev); ctcm_close(priv->channel[READ]->netdev); ccw_device_set_offline(gdev->cdev[1]); ccw_device_set_offline(gdev->cdev[0]); return 0; } static int ctcm_pm_resume(struct ccwgroup_device *gdev) { struct ctcm_priv *priv = dev_get_drvdata(&gdev->dev); int rc; if (gdev->state == CCWGROUP_OFFLINE) return 0; rc = ccw_device_set_online(gdev->cdev[1]); if (rc) goto err_out; rc = ccw_device_set_online(gdev->cdev[0]); if (rc) goto err_out; ctcm_open(priv->channel[READ]->netdev); err_out: netif_device_attach(priv->channel[READ]->netdev); return rc; } static struct ccwgroup_driver ctcm_group_driver = { .owner = THIS_MODULE, .name = CTC_DRIVER_NAME, Loading @@ -1697,6 +1729,9 @@ static struct ccwgroup_driver ctcm_group_driver = { .remove = ctcm_remove_device, .set_online = ctcm_new_device, .set_offline = ctcm_shutdown_device, .freeze = ctcm_pm_suspend, .thaw = ctcm_pm_resume, .restore = ctcm_pm_resume, }; Loading Loading
drivers/s390/net/ctcm_main.c +36 −1 Original line number Diff line number Diff line /* * drivers/s390/net/ctcm_main.c * * Copyright IBM Corp. 2001, 2007 * Copyright IBM Corp. 2001, 2009 * Author(s): * Original CTC driver(s): * Fritz Elfert (felfert@millenux.com) Loading Loading @@ -1688,6 +1688,38 @@ static void ctcm_remove_device(struct ccwgroup_device *cgdev) put_device(&cgdev->dev); } static int ctcm_pm_suspend(struct ccwgroup_device *gdev) { struct ctcm_priv *priv = dev_get_drvdata(&gdev->dev); if (gdev->state == CCWGROUP_OFFLINE) return 0; netif_device_detach(priv->channel[READ]->netdev); ctcm_close(priv->channel[READ]->netdev); ccw_device_set_offline(gdev->cdev[1]); ccw_device_set_offline(gdev->cdev[0]); return 0; } static int ctcm_pm_resume(struct ccwgroup_device *gdev) { struct ctcm_priv *priv = dev_get_drvdata(&gdev->dev); int rc; if (gdev->state == CCWGROUP_OFFLINE) return 0; rc = ccw_device_set_online(gdev->cdev[1]); if (rc) goto err_out; rc = ccw_device_set_online(gdev->cdev[0]); if (rc) goto err_out; ctcm_open(priv->channel[READ]->netdev); err_out: netif_device_attach(priv->channel[READ]->netdev); return rc; } static struct ccwgroup_driver ctcm_group_driver = { .owner = THIS_MODULE, .name = CTC_DRIVER_NAME, Loading @@ -1697,6 +1729,9 @@ static struct ccwgroup_driver ctcm_group_driver = { .remove = ctcm_remove_device, .set_online = ctcm_new_device, .set_offline = ctcm_shutdown_device, .freeze = ctcm_pm_suspend, .thaw = ctcm_pm_resume, .restore = ctcm_pm_resume, }; Loading