diff options
Diffstat (limited to 'drivers/ata/libata-scsi.c')
| -rw-r--r-- | drivers/ata/libata-scsi.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index 22226350cd0c..8ec81ca8f659 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c | |||
| @@ -3445,6 +3445,7 @@ void ata_scsi_scan_host(struct ata_port *ap, int sync) | |||
| 3445 | if (!IS_ERR(sdev)) { | 3445 | if (!IS_ERR(sdev)) { |
| 3446 | dev->sdev = sdev; | 3446 | dev->sdev = sdev; |
| 3447 | scsi_device_put(sdev); | 3447 | scsi_device_put(sdev); |
| 3448 | ata_acpi_bind(dev); | ||
| 3448 | } else { | 3449 | } else { |
| 3449 | dev->sdev = NULL; | 3450 | dev->sdev = NULL; |
| 3450 | } | 3451 | } |
| @@ -3541,6 +3542,8 @@ static void ata_scsi_remove_dev(struct ata_device *dev) | |||
| 3541 | mutex_lock(&ap->scsi_host->scan_mutex); | 3542 | mutex_lock(&ap->scsi_host->scan_mutex); |
| 3542 | spin_lock_irqsave(ap->lock, flags); | 3543 | spin_lock_irqsave(ap->lock, flags); |
| 3543 | 3544 | ||
| 3545 | ata_acpi_unbind(dev); | ||
| 3546 | |||
| 3544 | /* clearing dev->sdev is protected by host lock */ | 3547 | /* clearing dev->sdev is protected by host lock */ |
| 3545 | sdev = dev->sdev; | 3548 | sdev = dev->sdev; |
| 3546 | dev->sdev = NULL; | 3549 | dev->sdev = NULL; |
