|
@@ -31,7 +31,7 @@ static int get_smart_data(ide_drive_t *drive, u8 *buf, u8 sub_cmd)
|
|
|
tf->command = ATA_CMD_SMART;
|
|
|
args.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE;
|
|
|
args.data_phase = TASKFILE_IN;
|
|
|
- (void) smart_enable(drive);
|
|
|
+
|
|
|
return ide_raw_taskfile(drive, &args, buf, 1);
|
|
|
}
|
|
|
|
|
@@ -67,6 +67,8 @@ static int proc_idedisk_read_smart(char *page, char **start, off_t off,
|
|
|
ide_drive_t *drive = (ide_drive_t *)data;
|
|
|
int len = 0, i = 0;
|
|
|
|
|
|
+ (void)smart_enable(drive);
|
|
|
+
|
|
|
if (get_smart_data(drive, page, sub_cmd) == 0) {
|
|
|
unsigned short *val = (unsigned short *) page;
|
|
|
char *out = (char *)val + SECTOR_SIZE;
|