scsi: always assign block layer tags if enabled
[linux-2.6-block.git] / drivers / scsi / scsi.c
index 22c449e926fa9197ab0da4bbd4f1b32c4f148049..a3426f1bf0dd2621e3a82c831c98feca7ed817e2 100644 (file)
@@ -864,16 +864,12 @@ EXPORT_SYMBOL(scsi_track_queue_full);
  */
 int scsi_change_queue_type(struct scsi_device *sdev, int tag_type)
 {
-       if (sdev->tagged_supported) {
-               scsi_set_tag_type(sdev, tag_type);
-               if (tag_type)
-                       scsi_activate_tcq(sdev, sdev->queue_depth);
-               else
-                       scsi_deactivate_tcq(sdev, sdev->queue_depth);
-       } else
-               tag_type = 0;
+       if (!sdev->tagged_supported)
+               return 0;
 
+       scsi_adjust_queue_depth(sdev, tag_type, sdev->queue_depth);
        return tag_type;
+
 }
 EXPORT_SYMBOL(scsi_change_queue_type);