Resume from RAM on HPC nx6325 broken

generic_ide_resume() should check if dev->driver is not NULL before applying
to_ide_driver() to it. Fix that.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

authored by Rafael J. Wysocki and committed by Bartlomiej Zolnierkiewicz ce9b2b0a d09c6b80

+6 -3
+6 -3
drivers/ide/ide.c
··· 1010 { 1011 ide_drive_t *drive = dev->driver_data; 1012 ide_hwif_t *hwif = HWIF(drive); 1013 - ide_driver_t *drv = to_ide_driver(dev->driver); 1014 struct request rq; 1015 struct request_pm_state rqpm; 1016 ide_task_t args; ··· 1032 1033 err = ide_do_drive_cmd(drive, &rq, ide_head_wait); 1034 1035 - if (err == 0 && drv && drv->resume) 1036 - drv->resume(drive); 1037 1038 return err; 1039 }
··· 1010 { 1011 ide_drive_t *drive = dev->driver_data; 1012 ide_hwif_t *hwif = HWIF(drive); 1013 struct request rq; 1014 struct request_pm_state rqpm; 1015 ide_task_t args; ··· 1033 1034 err = ide_do_drive_cmd(drive, &rq, ide_head_wait); 1035 1036 + if (err == 0 && dev->driver) { 1037 + ide_driver_t *drv = to_ide_driver(dev->driver); 1038 + 1039 + if (drv->resume) 1040 + drv->resume(drive); 1041 + } 1042 1043 return err; 1044 }