diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2012-08-21 17:20:30 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-08-21 14:54:42 -0700 |
commit | 9974e43d900af7979e0a571b8e0c9674c7399b79 (patch) | |
tree | f01213908106e0508ef97c8c2b9b8aa08f70c4e6 /drivers/ide | |
parent | 1456c75a80dfd3fd02b9ea44d1223bb51a5683d5 (diff) | |
download | lwn-9974e43d900af7979e0a571b8e0c9674c7399b79.tar.gz lwn-9974e43d900af7979e0a571b8e0c9674c7399b79.zip |
ide: fix generic_ide_suspend/resume Oops
This patch fixes a regresion introduced by commit 0998d063 (device-core: Ensure
drvdata = NULL when no driver is bound).
Suspend oopses in generic_ide_suspend() because dev_get_drvdata()
returns NULL (dev->p->driver_data == NULL) and this function is not
prepared for this.
Fix is based on Alan Stern's suggestion.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-pm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/ide/ide-pm.c b/drivers/ide/ide-pm.c index 92406097efeb..8d1e32d7cd97 100644 --- a/drivers/ide/ide-pm.c +++ b/drivers/ide/ide-pm.c @@ -4,7 +4,7 @@ int generic_ide_suspend(struct device *dev, pm_message_t mesg) { - ide_drive_t *drive = dev_get_drvdata(dev); + ide_drive_t *drive = to_ide_device(dev); ide_drive_t *pair = ide_get_pair_dev(drive); ide_hwif_t *hwif = drive->hwif; struct request *rq; @@ -40,7 +40,7 @@ int generic_ide_suspend(struct device *dev, pm_message_t mesg) int generic_ide_resume(struct device *dev) { - ide_drive_t *drive = dev_get_drvdata(dev); + ide_drive_t *drive = to_ide_device(dev); ide_drive_t *pair = ide_get_pair_dev(drive); ide_hwif_t *hwif = drive->hwif; struct request *rq; |