]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'scsi-queue/drivers-for-3.17' into for-next
authorJames Bottomley <JBottomley@Parallels.com>
Wed, 6 Aug 2014 17:26:55 +0000 (10:26 -0700)
committerJames Bottomley <JBottomley@Parallels.com>
Wed, 6 Aug 2014 17:26:55 +0000 (10:26 -0700)
drivers/scsi/scsi.c
drivers/scsi/scsi_devinfo.c
drivers/scsi/scsi_scan.c
drivers/scsi/u14-34f.c
include/scsi/scsi_devinfo.h

index 33318f5ebb4b781cbe7c3db22af09ad2039edb27..df3306019a7eeaf2009411ba0328dc7450fc6034 100644 (file)
@@ -365,8 +365,8 @@ scsi_alloc_host_cmd_pool(struct Scsi_Host *shost)
        if (!pool)
                return NULL;
 
-       pool->cmd_name = kasprintf(GFP_KERNEL, "%s_cmd", hostt->name);
-       pool->sense_name = kasprintf(GFP_KERNEL, "%s_sense", hostt->name);
+       pool->cmd_name = kasprintf(GFP_KERNEL, "%s_cmd", hostt->proc_name);
+       pool->sense_name = kasprintf(GFP_KERNEL, "%s_sense", hostt->proc_name);
        if (!pool->cmd_name || !pool->sense_name) {
                scsi_free_host_cmd_pool(pool);
                return NULL;
index f969aca0b54eee3bef3f314bd50226f319b72bfb..49014a143c6a9ab56ec81a56d3c7180156341d95 100644 (file)
@@ -222,6 +222,7 @@ static struct {
        {"PIONEER", "CD-ROM DRM-602X", NULL, BLIST_FORCELUN | BLIST_SINGLELUN},
        {"PIONEER", "CD-ROM DRM-604X", NULL, BLIST_FORCELUN | BLIST_SINGLELUN},
        {"PIONEER", "CD-ROM DRM-624X", NULL, BLIST_FORCELUN | BLIST_SINGLELUN},
+       {"Promise", "VTrak E610f", NULL, BLIST_SPARSELUN | BLIST_NO_RSOC},
        {"Promise", "", NULL, BLIST_SPARSELUN},
        {"QUANTUM", "XP34301", "1071", BLIST_NOTQ},
        {"REGAL", "CDC-4X", NULL, BLIST_MAX5LUN | BLIST_SINGLELUN},
index 50536cd6b3f2728f30cf93dafc7d7e1cd7498ca4..56675dbbf681c35318b8a4b9cfa92120187952ef 100644 (file)
@@ -900,6 +900,12 @@ static int scsi_add_lun(struct scsi_device *sdev, unsigned char *inq_result,
        if (*bflags & BLIST_USE_10_BYTE_MS)
                sdev->use_10_for_ms = 1;
 
+       /* some devices don't like REPORT SUPPORTED OPERATION CODES
+        * and will simply timeout causing sd_mod init to take a very
+        * very long time */
+       if (*bflags & BLIST_NO_RSOC)
+               sdev->no_report_opcodes = 1;
+
        /* set the device running here so that slave configure
         * may do I/O */
        ret = scsi_device_set_state(sdev, SDEV_RUNNING);
index 4e76fe863fc4561933e09a646183038bde22d61b..d8dcf36aed11ec5250b8e710cd2796544fac5d23 100644 (file)
@@ -1006,7 +1006,7 @@ static int port_detect \
           sh[j]->irq, dma_name, sh[j]->sg_tablesize, sh[j]->can_queue);
 
    if (sh[j]->max_id > 8 || sh[j]->max_lun > 8)
-      printk("%s: wide SCSI support enabled, max_id %u, max_lun %u.\n",
+      printk("%s: wide SCSI support enabled, max_id %u, max_lun %llu.\n",
              BN(j), sh[j]->max_id, sh[j]->max_lun);
 
    for (i = 0; i <= sh[j]->max_channel; i++)
@@ -1285,7 +1285,7 @@ static int u14_34f_queuecommand_lck(struct scsi_cmnd *SCpnt, void (*done)(struct
    cpp->cpp_index = i;
    SCpnt->host_scribble = (unsigned char *) &cpp->cpp_index;
 
-   if (do_trace) printk("%s: qcomm, mbox %d, target %d.%d:%llu.\n",
+   if (do_trace) printk("%s: qcomm, mbox %d, target %d.%d:%u.\n",
                         BN(j), i, SCpnt->device->channel, SCpnt->device->id,
                         (u8)SCpnt->device->lun);
 
index 1fdd6fc5492bbeee2c73c84feebac77c8bee88e5..183eaab7c3803dcd081b5a9c30a3b9963767ffe5 100644 (file)
@@ -35,4 +35,6 @@
 #define BLIST_SCSI3LUN         0x8000000 /* Scan more than 256 LUNs
                                             for sequential scan */
 #define BLIST_TRY_VPD_PAGES    0x10000000 /* Attempt to read VPD pages */
+#define BLIST_NO_RSOC          0x20000000 /* don't try to issue RSOC */
+
 #endif