|
@@ -990,15 +990,11 @@ static bool mtip_pause_ncq(struct mtip_port *port,
|
|
|
reply = port->rxfis + RX_FIS_D2H_REG;
|
|
|
task_file_data = readl(port->mmio+PORT_TFDATA);
|
|
|
|
|
|
- if (fis->command == ATA_CMD_SEC_ERASE_UNIT)
|
|
|
- clear_bit(MTIP_DDF_SEC_LOCK_BIT, &port->dd->dd_flag);
|
|
|
-
|
|
|
if ((task_file_data & 1))
|
|
|
return false;
|
|
|
|
|
|
if (fis->command == ATA_CMD_SEC_ERASE_PREP) {
|
|
|
set_bit(MTIP_PF_SE_ACTIVE_BIT, &port->flags);
|
|
|
- set_bit(MTIP_DDF_SEC_LOCK_BIT, &port->dd->dd_flag);
|
|
|
port->ic_pause_timer = jiffies;
|
|
|
return true;
|
|
|
} else if ((fis->command == ATA_CMD_DOWNLOAD_MICRO) &&
|
|
@@ -1010,6 +1006,7 @@ static bool mtip_pause_ncq(struct mtip_port *port,
|
|
|
((fis->command == 0xFC) &&
|
|
|
(fis->features == 0x27 || fis->features == 0x72 ||
|
|
|
fis->features == 0x62 || fis->features == 0x26))) {
|
|
|
+ clear_bit(MTIP_DDF_SEC_LOCK_BIT, &port->dd->dd_flag);
|
|
|
/* Com reset after secure erase or lowlevel format */
|
|
|
mtip_restart_port(port);
|
|
|
return false;
|