On Thu, 16 Aug 2012, Miklos Szeredi wrote: > Yes, this appears to work. Following patch fixes the suspend oops. > > Thanks, > Miklos > > --- > 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 9240609..8d1e32d 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;
And now you can get rid of the useless dev_set_drvdata() call. Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/