Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 151108
b: refs/heads/master
c: b8a2d42
h: refs/heads/master
v: v3
  • Loading branch information
Frank Blaschka authored and Martin Schwidefsky committed Jun 16, 2009
1 parent 0a7af24 commit c91c2d6
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bbcfcdc8324e75532c4d2592a545a91fcb45f229
refs/heads/master: b8a2d42a8276d4dbc5a5c99f4422132c43ce3e1d
37 changes: 36 additions & 1 deletion trunk/drivers/s390/net/ctcm_main.c
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/*
* 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)
Expand Down Expand Up @@ -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,
Expand All @@ -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,
};


Expand Down

0 comments on commit c91c2d6

Please sign in to comment.