aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libsas/sas_scsi_host.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/libsas/sas_scsi_host.c')
-rw-r--r--drivers/scsi/libsas/sas_scsi_host.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c
index eee21a060d93..56d698af073d 100644
--- a/drivers/scsi/libsas/sas_scsi_host.c
+++ b/drivers/scsi/libsas/sas_scsi_host.c
@@ -940,13 +940,13 @@ int sas_slave_configure(struct scsi_device *scsi_dev)
940 sas_read_port_mode_page(scsi_dev); 940 sas_read_port_mode_page(scsi_dev);
941 941
942 if (scsi_dev->tagged_supported) { 942 if (scsi_dev->tagged_supported) {
943 scsi_adjust_queue_depth(scsi_dev, MSG_SIMPLE_TAG, SAS_DEF_QD); 943 scsi_adjust_queue_depth(scsi_dev, SAS_DEF_QD);
944 } else { 944 } else {
945 SAS_DPRINTK("device %llx, LUN %llx doesn't support " 945 SAS_DPRINTK("device %llx, LUN %llx doesn't support "
946 "TCQ\n", SAS_ADDR(dev->sas_addr), 946 "TCQ\n", SAS_ADDR(dev->sas_addr),
947 scsi_dev->lun); 947 scsi_dev->lun);
948 scsi_dev->tagged_supported = 0; 948 scsi_dev->tagged_supported = 0;
949 scsi_adjust_queue_depth(scsi_dev, 0, 1); 949 scsi_adjust_queue_depth(scsi_dev, 1);
950 } 950 }
951 951
952 scsi_dev->allow_restart = 1; 952 scsi_dev->allow_restart = 1;
@@ -967,7 +967,7 @@ int sas_change_queue_depth(struct scsi_device *sdev, int depth, int reason)
967 case SCSI_QDEPTH_RAMP_UP: 967 case SCSI_QDEPTH_RAMP_UP:
968 if (!sdev->tagged_supported) 968 if (!sdev->tagged_supported)
969 depth = 1; 969 depth = 1;
970 scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), depth); 970 scsi_adjust_queue_depth(sdev, depth);
971 break; 971 break;
972 case SCSI_QDEPTH_QFULL: 972 case SCSI_QDEPTH_QFULL:
973 scsi_track_queue_full(sdev, depth); 973 scsi_track_queue_full(sdev, depth);
@@ -979,19 +979,11 @@ int sas_change_queue_depth(struct scsi_device *sdev, int depth, int reason)
979 return depth; 979 return depth;
980} 980}
981 981
982int sas_change_queue_type(struct scsi_device *scsi_dev, int qt) 982int sas_change_queue_type(struct scsi_device *scsi_dev, int type)
983{ 983{
984 struct domain_device *dev = sdev_to_domain_dev(scsi_dev); 984 if (dev_is_sata(sdev_to_domain_dev(scsi_dev)))
985
986 if (dev_is_sata(dev))
987 return -EINVAL; 985 return -EINVAL;
988 986 return scsi_change_queue_type(scsi_dev, type);
989 if (!scsi_dev->tagged_supported)
990 return 0;
991
992 scsi_adjust_queue_depth(scsi_dev, qt, scsi_dev->queue_depth);
993
994 return qt;
995} 987}
996 988
997int sas_bios_param(struct scsi_device *scsi_dev, 989int sas_bios_param(struct scsi_device *scsi_dev,