View | Details | Raw Unified | Return to bug 143285
Collapse All | Expand All

(-)linux-2.6.15/drivers/ide/ide-disk.c~ (+10 lines)
Lines 555-560 Link Here
555
	return drive->capacity64 - drive->sect0;
555
	return drive->capacity64 - drive->sect0;
556
}
556
}
557
557
558
/*
559
 * hack to check if HPA is the reason for the disk access problems after resume
560
 */
561
static int idedisk_resume(ide_drive_t *drive)
562
{
563
	idedisk_check_hpa(drive);
564
	return 0;
565
}
566
558
#ifdef CONFIG_PROC_FS
567
#ifdef CONFIG_PROC_FS
559
568
560
static int smart_enable(ide_drive_t *drive)
569
static int smart_enable(ide_drive_t *drive)
Lines 1074-1079 Link Here
1074
	.error			= __ide_error,
1083
	.error			= __ide_error,
1075
	.abort			= __ide_abort,
1084
	.abort			= __ide_abort,
1076
	.proc			= idedisk_proc,
1085
	.proc			= idedisk_proc,
1086
	.resume			= idedisk_resume,
1077
};
1087
};
1078
1088
1079
static int idedisk_open(struct inode *inode, struct file *filp)
1089
static int idedisk_open(struct inode *inode, struct file *filp)
(-)linux-2.6.15/drivers/ide/ide-io.c~ (-1 / +8 lines)
Lines 231-237 Link Here
231
		args->handler = task_no_data_intr;
231
		args->handler = task_no_data_intr;
232
		return do_rw_taskfile(drive, args);
232
		return do_rw_taskfile(drive, args);
233
233
234
	case ide_pm_restore_dma:	/* Resume step 2 (restore DMA) */
234
	case ide_pm_restore_dma: {	/* Resume step 2 (restore DMA) */
235
		struct device *dev = &drive->gendev;
236
		ide_driver_t *drv = container_of(dev->driver, ide_driver_t, gen_driver);
237
238
		if (drv->resume)
239
			drv->resume(drive);
240
235
		/*
241
		/*
236
		 * Right now, all we do is call hwif->ide_dma_check(drive),
242
		 * Right now, all we do is call hwif->ide_dma_check(drive),
237
		 * we could be smarter and check for current xfer_speed
243
		 * we could be smarter and check for current xfer_speed
Lines 243-248 Link Here
243
			break;
249
			break;
244
		drive->hwif->ide_dma_check(drive);
250
		drive->hwif->ide_dma_check(drive);
245
		break;
251
		break;
252
		}
246
	}
253
	}
247
	rq->pm->pm_step = ide_pm_state_completed;
254
	rq->pm->pm_step = ide_pm_state_completed;
248
	return ide_stopped;
255
	return ide_stopped;
(-)linux-2.6.13-SL100_BRANCH/include/linux/ide.h~ (+1 lines)
Lines 1100-1105 Link Here
1100
	ide_proc_entry_t	*proc;
1100
	ide_proc_entry_t	*proc;
1101
	void		(*ata_prebuilder)(ide_drive_t *);
1101
	void		(*ata_prebuilder)(ide_drive_t *);
1102
	void		(*atapi_prebuilder)(ide_drive_t *);
1102
	void		(*atapi_prebuilder)(ide_drive_t *);
1103
	int		(*resume)(ide_drive_t *);
1103
	struct device_driver	gen_driver;
1104
	struct device_driver	gen_driver;
1104
} ide_driver_t;
1105
} ide_driver_t;
1105
1106

Return to bug 143285