mirror of https://gitee.com/openkylin/linux.git
ide: remove broken EXABYTENEST support
do_identify() marks EXABYTENEST device as non-present and frees drive->id so enable_nest() has absolutely no chance of working. The code was like this since at least 2.6.12-rc2 and nobody has noticed so just remove broken EXABYTENEST support. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
4cda15a099
commit
552d3a99bd
|
@ -465,37 +465,6 @@ static int do_probe (ide_drive_t *drive, u8 cmd)
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
static void enable_nest (ide_drive_t *drive)
|
|
||||||
{
|
|
||||||
ide_hwif_t *hwif = drive->hwif;
|
|
||||||
const struct ide_tp_ops *tp_ops = hwif->tp_ops;
|
|
||||||
u8 stat;
|
|
||||||
|
|
||||||
printk(KERN_INFO "%s: enabling %s -- ",
|
|
||||||
hwif->name, (char *)&drive->id[ATA_ID_PROD]);
|
|
||||||
|
|
||||||
SELECT_DRIVE(drive);
|
|
||||||
msleep(50);
|
|
||||||
tp_ops->exec_command(hwif, ATA_EXABYTE_ENABLE_NEST);
|
|
||||||
|
|
||||||
if (ide_busy_sleep(hwif, WAIT_WORSTCASE, 0)) {
|
|
||||||
printk(KERN_CONT "failed (timeout)\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
msleep(50);
|
|
||||||
|
|
||||||
stat = tp_ops->read_status(hwif);
|
|
||||||
|
|
||||||
if (!OK_STAT(stat, 0, BAD_STAT))
|
|
||||||
printk(KERN_CONT "failed (status = 0x%02x)\n", stat);
|
|
||||||
else
|
|
||||||
printk(KERN_CONT "success\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* probe_for_drives - upper level drive probe
|
* probe_for_drives - upper level drive probe
|
||||||
* @drive: drive to probe for
|
* @drive: drive to probe for
|
||||||
|
@ -534,7 +503,6 @@ static u8 probe_for_drive(ide_drive_t *drive)
|
||||||
|
|
||||||
/* skip probing? */
|
/* skip probing? */
|
||||||
if ((drive->dev_flags & IDE_DFLAG_NOPROBE) == 0) {
|
if ((drive->dev_flags & IDE_DFLAG_NOPROBE) == 0) {
|
||||||
retry:
|
|
||||||
/* if !(success||timed-out) */
|
/* if !(success||timed-out) */
|
||||||
if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
|
if (do_probe(drive, ATA_CMD_ID_ATA) >= 2)
|
||||||
/* look for ATAPI device */
|
/* look for ATAPI device */
|
||||||
|
@ -544,11 +512,6 @@ static u8 probe_for_drive(ide_drive_t *drive)
|
||||||
/* drive not found */
|
/* drive not found */
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (strstr(m, "E X A B Y T E N E S T")) {
|
|
||||||
enable_nest(drive);
|
|
||||||
goto retry;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* identification failed? */
|
/* identification failed? */
|
||||||
if ((drive->dev_flags & IDE_DFLAG_ID_READ) == 0) {
|
if ((drive->dev_flags & IDE_DFLAG_ID_READ) == 0) {
|
||||||
if (drive->media == ide_disk) {
|
if (drive->media == ide_disk) {
|
||||||
|
|
|
@ -244,8 +244,6 @@ enum {
|
||||||
ATA_CMD_MEDIA_UNLOCK = 0xDF,
|
ATA_CMD_MEDIA_UNLOCK = 0xDF,
|
||||||
/* marked obsolete in the ATA/ATAPI-7 spec */
|
/* marked obsolete in the ATA/ATAPI-7 spec */
|
||||||
ATA_CMD_RESTORE = 0x10,
|
ATA_CMD_RESTORE = 0x10,
|
||||||
/* EXABYTE specific */
|
|
||||||
ATA_EXABYTE_ENABLE_NEST = 0xF0,
|
|
||||||
|
|
||||||
/* READ_LOG_EXT pages */
|
/* READ_LOG_EXT pages */
|
||||||
ATA_LOG_SATA_NCQ = 0x10,
|
ATA_LOG_SATA_NCQ = 0x10,
|
||||||
|
|
Loading…
Reference in New Issue