aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/mvsas
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/mvsas')
-rw-r--r--drivers/scsi/mvsas/mv_init.c2
-rw-r--r--drivers/scsi/mvsas/mv_sas.c11
2 files changed, 3 insertions, 10 deletions
diff --git a/drivers/scsi/mvsas/mv_init.c b/drivers/scsi/mvsas/mv_init.c
index 6f589195746..cc59dff3810 100644
--- a/drivers/scsi/mvsas/mv_init.c
+++ b/drivers/scsi/mvsas/mv_init.c
@@ -60,7 +60,6 @@ static struct scsi_host_template mvs_sht = {
60 .queuecommand = sas_queuecommand, 60 .queuecommand = sas_queuecommand,
61 .target_alloc = sas_target_alloc, 61 .target_alloc = sas_target_alloc,
62 .slave_configure = sas_slave_configure, 62 .slave_configure = sas_slave_configure,
63 .slave_destroy = sas_slave_destroy,
64 .scan_finished = mvs_scan_finished, 63 .scan_finished = mvs_scan_finished,
65 .scan_start = mvs_scan_start, 64 .scan_start = mvs_scan_start,
66 .change_queue_depth = sas_change_queue_depth, 65 .change_queue_depth = sas_change_queue_depth,
@@ -74,7 +73,6 @@ static struct scsi_host_template mvs_sht = {
74 .use_clustering = ENABLE_CLUSTERING, 73 .use_clustering = ENABLE_CLUSTERING,
75 .eh_device_reset_handler = sas_eh_device_reset_handler, 74 .eh_device_reset_handler = sas_eh_device_reset_handler,
76 .eh_bus_reset_handler = sas_eh_bus_reset_handler, 75 .eh_bus_reset_handler = sas_eh_bus_reset_handler,
77 .slave_alloc = sas_slave_alloc,
78 .target_destroy = sas_target_destroy, 76 .target_destroy = sas_target_destroy,
79 .ioctl = sas_ioctl, 77 .ioctl = sas_ioctl,
80 .shost_attrs = mvst_host_attrs, 78 .shost_attrs = mvst_host_attrs,
diff --git a/drivers/scsi/mvsas/mv_sas.c b/drivers/scsi/mvsas/mv_sas.c
index 01ab9c4d346..fd3b2839843 100644
--- a/drivers/scsi/mvsas/mv_sas.c
+++ b/drivers/scsi/mvsas/mv_sas.c
@@ -308,7 +308,7 @@ int mvs_scan_finished(struct Scsi_Host *shost, unsigned long time)
308 if (mvs_prv->scan_finished == 0) 308 if (mvs_prv->scan_finished == 0)
309 return 0; 309 return 0;
310 310
311 scsi_flush_work(shost); 311 sas_drain_work(sha);
312 return 1; 312 return 1;
313} 313}
314 314
@@ -893,9 +893,6 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags,
893 893
894 mvi = ((struct mvs_device *)task->dev->lldd_dev)->mvi_info; 894 mvi = ((struct mvs_device *)task->dev->lldd_dev)->mvi_info;
895 895
896 if ((dev->dev_type == SATA_DEV) && (dev->sata_dev.ap != NULL))
897 spin_unlock_irq(dev->sata_dev.ap->lock);
898
899 spin_lock_irqsave(&mvi->lock, flags); 896 spin_lock_irqsave(&mvi->lock, flags);
900 rc = mvs_task_prep(task, mvi, is_tmf, tmf, &pass); 897 rc = mvs_task_prep(task, mvi, is_tmf, tmf, &pass);
901 if (rc) 898 if (rc)
@@ -906,9 +903,6 @@ static int mvs_task_exec(struct sas_task *task, const int num, gfp_t gfp_flags,
906 (MVS_CHIP_SLOT_SZ - 1)); 903 (MVS_CHIP_SLOT_SZ - 1));
907 spin_unlock_irqrestore(&mvi->lock, flags); 904 spin_unlock_irqrestore(&mvi->lock, flags);
908 905
909 if ((dev->dev_type == SATA_DEV) && (dev->sata_dev.ap != NULL))
910 spin_lock_irq(dev->sata_dev.ap->lock);
911
912 return rc; 906 return rc;
913} 907}
914 908
@@ -1480,10 +1474,11 @@ static int mvs_debug_issue_ssp_tmf(struct domain_device *dev,
1480static int mvs_debug_I_T_nexus_reset(struct domain_device *dev) 1474static int mvs_debug_I_T_nexus_reset(struct domain_device *dev)
1481{ 1475{
1482 int rc; 1476 int rc;
1483 struct sas_phy *phy = sas_find_local_phy(dev); 1477 struct sas_phy *phy = sas_get_local_phy(dev);
1484 int reset_type = (dev->dev_type == SATA_DEV || 1478 int reset_type = (dev->dev_type == SATA_DEV ||
1485 (dev->tproto & SAS_PROTOCOL_STP)) ? 0 : 1; 1479 (dev->tproto & SAS_PROTOCOL_STP)) ? 0 : 1;
1486 rc = sas_phy_reset(phy, reset_type); 1480 rc = sas_phy_reset(phy, reset_type);
1481 sas_put_local_phy(phy);
1487 msleep(2000); 1482 msleep(2000);
1488 return rc; 1483 return rc;
1489} 1484}