These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / scsi / scsi.c
index 3833bf5..d07fb65 100644 (file)
@@ -98,52 +98,6 @@ EXPORT_SYMBOL(scsi_sd_probe_domain);
 ASYNC_DOMAIN_EXCLUSIVE(scsi_sd_pm_domain);
 EXPORT_SYMBOL(scsi_sd_pm_domain);
 
-/* NB: These are exposed through /proc/scsi/scsi and form part of the ABI.
- * You may not alter any existing entry (although adding new ones is
- * encouraged once assigned by ANSI/INCITS T10
- */
-static const char *const scsi_device_types[] = {
-       "Direct-Access    ",
-       "Sequential-Access",
-       "Printer          ",
-       "Processor        ",
-       "WORM             ",
-       "CD-ROM           ",
-       "Scanner          ",
-       "Optical Device   ",
-       "Medium Changer   ",
-       "Communications   ",
-       "ASC IT8          ",
-       "ASC IT8          ",
-       "RAID             ",
-       "Enclosure        ",
-       "Direct-Access-RBC",
-       "Optical card     ",
-       "Bridge controller",
-       "Object storage   ",
-       "Automation/Drive ",
-       "Security Manager ",
-       "Direct-Access-ZBC",
-};
-
-/**
- * scsi_device_type - Return 17 char string indicating device type.
- * @type: type number to look up
- */
-
-const char * scsi_device_type(unsigned type)
-{
-       if (type == 0x1e)
-               return "Well-known LUN   ";
-       if (type == 0x1f)
-               return "No Device        ";
-       if (type >= ARRAY_SIZE(scsi_device_types))
-               return "Unknown          ";
-       return scsi_device_types[type];
-}
-
-EXPORT_SYMBOL(scsi_device_type);
-
 struct scsi_host_cmd_pool {
        struct kmem_cache       *cmd_slab;
        struct kmem_cache       *sense_slab;
@@ -662,32 +616,11 @@ void scsi_finish_command(struct scsi_cmnd *cmd)
  */
 int scsi_change_queue_depth(struct scsi_device *sdev, int depth)
 {
-       unsigned long flags;
-
-       if (depth <= 0)
-               goto out;
-
-       spin_lock_irqsave(sdev->request_queue->queue_lock, flags);
-
-       /*
-        * Check to see if the queue is managed by the block layer.
-        * If it is, and we fail to adjust the depth, exit.
-        *
-        * Do not resize the tag map if it is a host wide share bqt,
-        * because the size should be the hosts's can_queue. If there
-        * is more IO than the LLD's can_queue (so there are not enuogh
-        * tags) request_fn's host queue ready check will handle it.
-        */
-       if (!shost_use_blk_mq(sdev->host) && !sdev->host->bqt) {
-               if (blk_queue_tagged(sdev->request_queue) &&
-                   blk_queue_resize_tags(sdev->request_queue, depth) != 0)
-                       goto out_unlock;
+       if (depth > 0) {
+               sdev->queue_depth = depth;
+               wmb();
        }
 
-       sdev->queue_depth = depth;
-out_unlock:
-       spin_unlock_irqrestore(sdev->request_queue->queue_lock, flags);
-out:
        return sdev->queue_depth;
 }
 EXPORT_SYMBOL(scsi_change_queue_depth);