aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
-rw-r--r--drivers/scsi/scsi_sysfs.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c
index ea7f3a433572..a77b32deaf8f 100644
--- a/drivers/scsi/scsi_sysfs.c
+++ b/drivers/scsi/scsi_sysfs.c
@@ -106,7 +106,10 @@ static int scsi_scan(struct Scsi_Host *shost, const char *str)
106 return -EINVAL; 106 return -EINVAL;
107 if (check_set(&lun, s3)) 107 if (check_set(&lun, s3))
108 return -EINVAL; 108 return -EINVAL;
109 res = scsi_scan_host_selected(shost, channel, id, lun, 1); 109 if (shost->transportt->user_scan)
110 res = shost->transportt->user_scan(shost, channel, id, lun);
111 else
112 res = scsi_scan_host_selected(shost, channel, id, lun, 1);
110 return res; 113 return res;
111} 114}
112 115
@@ -745,9 +748,9 @@ void scsi_remove_device(struct scsi_device *sdev)
745{ 748{
746 struct Scsi_Host *shost = sdev->host; 749 struct Scsi_Host *shost = sdev->host;
747 750
748 down(&shost->scan_mutex); 751 mutex_lock(&shost->scan_mutex);
749 __scsi_remove_device(sdev); 752 __scsi_remove_device(sdev);
750 up(&shost->scan_mutex); 753 mutex_unlock(&shost->scan_mutex);
751} 754}
752EXPORT_SYMBOL(scsi_remove_device); 755EXPORT_SYMBOL(scsi_remove_device);
753 756