diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 15:55:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-22 15:55:29 -0400 |
commit | 424a6f6ef990b7e9f56f6627bfc6c46b493faeb4 (patch) | |
tree | 0028356ed8003495fbbe1f716f359e3c8ebc35b6 /drivers/scsi/mvsas | |
parent | 1ab142d499294b844ecc81e8004db4ce029b0b61 (diff) | |
parent | cd8df932d894f3128c884e3ae1b2b484540513db (diff) |
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
SCSI updates from James Bottomley:
"The update includes the usual assortment of driver updates (lpfc,
qla2xxx, qla4xxx, bfa, bnx2fc, bnx2i, isci, fcoe, hpsa) plus a huge
amount of infrastructure work in the SAS library and transport class
as well as an iSCSI update. There's also a new SCSI based virtio
driver."
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (177 commits)
[SCSI] qla4xxx: Update driver version to 5.02.00-k15
[SCSI] qla4xxx: trivial cleanup
[SCSI] qla4xxx: Fix sparse warning
[SCSI] qla4xxx: Add support for multiple session per host.
[SCSI] qla4xxx: Export CHAP index as sysfs attribute
[SCSI] scsi_transport: Export CHAP index as sysfs attribute
[SCSI] qla4xxx: Add support to display CHAP list and delete CHAP entry
[SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry
[SCSI] pm8001: fix endian issue with code optimization.
[SCSI] pm8001: Fix possible racing condition.
[SCSI] pm8001: Fix bogus interrupt state flag issue.
[SCSI] ipr: update PCI ID definitions for new adapters
[SCSI] qla2xxx: handle default case in qla2x00_request_firmware()
[SCSI] isci: improvements in driver unloading routine
[SCSI] isci: improve phy event warnings
[SCSI] isci: debug, provide state-enum-to-string conversions
[SCSI] scsi_transport_sas: 'enable' phys on reset
[SCSI] libsas: don't recover end devices attached to disabled phys
[SCSI] libsas: fixup target_port_protocols for expanders that don't report sata
[SCSI] libsas: set attached device type and target protocols for local phys
...
Diffstat (limited to 'drivers/scsi/mvsas')
-rw-r--r-- | drivers/scsi/mvsas/mv_init.c | 2 | ||||
-rw-r--r-- | drivers/scsi/mvsas/mv_sas.c | 11 |
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, | |||
1480 | static int mvs_debug_I_T_nexus_reset(struct domain_device *dev) | 1474 | static 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 | } |