diff options
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r-- | drivers/scsi/ipr.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 520461b9bc09..b90c118119d7 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
@@ -4295,7 +4295,7 @@ static void ipr_slave_destroy(struct scsi_device *sdev) | |||
4295 | res = (struct ipr_resource_entry *) sdev->hostdata; | 4295 | res = (struct ipr_resource_entry *) sdev->hostdata; |
4296 | if (res) { | 4296 | if (res) { |
4297 | if (res->sata_port) | 4297 | if (res->sata_port) |
4298 | ata_port_disable(res->sata_port->ap); | 4298 | res->sata_port->ap->link.device[0].class = ATA_DEV_NONE; |
4299 | sdev->hostdata = NULL; | 4299 | sdev->hostdata = NULL; |
4300 | res->sdev = NULL; | 4300 | res->sdev = NULL; |
4301 | res->sata_port = NULL; | 4301 | res->sata_port = NULL; |
@@ -5751,13 +5751,13 @@ static void ipr_ata_phy_reset(struct ata_port *ap) | |||
5751 | rc = ipr_device_reset(ioa_cfg, res); | 5751 | rc = ipr_device_reset(ioa_cfg, res); |
5752 | 5752 | ||
5753 | if (rc) { | 5753 | if (rc) { |
5754 | ata_port_disable(ap); | 5754 | ap->link.device[0].class = ATA_DEV_NONE; |
5755 | goto out_unlock; | 5755 | goto out_unlock; |
5756 | } | 5756 | } |
5757 | 5757 | ||
5758 | ap->link.device[0].class = res->ata_class; | 5758 | ap->link.device[0].class = res->ata_class; |
5759 | if (ap->link.device[0].class == ATA_DEV_UNKNOWN) | 5759 | if (ap->link.device[0].class == ATA_DEV_UNKNOWN) |
5760 | ata_port_disable(ap); | 5760 | ap->link.device[0].class = ATA_DEV_NONE; |
5761 | 5761 | ||
5762 | out_unlock: | 5762 | out_unlock: |
5763 | spin_unlock_irqrestore(ioa_cfg->host->host_lock, flags); | 5763 | spin_unlock_irqrestore(ioa_cfg->host->host_lock, flags); |