mtip32xx: fix incorrectly setting MTIP_DDF_SEC_LOCK_BIT
authorAsai Thambi SP <asamymuthupa@micron.com>
Mon, 11 May 2015 22:50:50 +0000 (15:50 -0700)
committerSasha Levin <sasha.levin@oracle.com>
Mon, 18 Apr 2016 12:50:47 +0000 (08:50 -0400)
[ Upstream commit ee04bed690cb49a49512a641405bac42d13c2b2a ]

Fix incorrectly setting MTIP_DDF_SEC_LOCK_BIT

Signed-off-by: Selvan Mani <smani@micron.com>
Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/block/mtip32xx/mtip32xx.c

index b4e5a97..2a174a6 100644 (file)
@@ -995,15 +995,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) &&
@@ -1015,6 +1011,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;