Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Jan 2009 00:27:31 +0000 (16:27 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 9 Jan 2009 00:27:31 +0000 (16:27 -0800)
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)
  [SCSI] qla2xxx: Update version number to 8.03.00-k1.
  [SCSI] qla2xxx: Add ISP81XX support.
  [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.
  [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.
  [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.
  [SCSI] qla2xxx: Don't pollute kernel logs with ZIO/RIO status messages.
  [SCSI] qla2xxx: Don't fallback to interrupt-polling during re-initialization with MSI-X enabled.
  [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.
  [SCSI] cxgb3i: add missing include
  [SCSI] scsi_lib: fix DID_RESET status problems
  [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD
  [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts
  [SCSI] sd: Correctly handle 6-byte commands with DIX
  [SCSI] sd: DIF: Fix tagging on platforms with signed char
  [SCSI] sd: DIF: Show app tag on error
  [SCSI] Fix error handling for DIF/DIX
  [SCSI] scsi_lib: don't decrement busy counters when inserting commands
  [SCSI] libsas: fix test for negative unsigned and typos
  [SCSI] a2091, gvp11: kill warn_unused_result warnings
  [SCSI] fusion: Move a dereference below a NULL test
  ...

Fixed up trivial conflict due to moving the async part of sd_probe
around in the async probes vs using dev_set_name() in naming.

1  2 
drivers/scsi/scsi_error.c
drivers/scsi/scsi_scan.c
drivers/scsi/sd.c

Simple merge
Simple merge
index e035c11140104c1db29bdf5fa1f9664e5a9dabb3,835aebf787100862493655de95012abf0aecdca9..d57566b8be0ad9f095a0ef0525b5c265b61e8b2c
@@@ -1803,71 -1802,6 +1803,71 @@@ static int sd_format_disk_name(char *pr
        return 0;
  }
  
-       strncpy(sdkp->dev.bus_id, sdp->sdev_gendev.bus_id, BUS_ID_SIZE);
 +/*
 + * The asynchronous part of sd_probe
 + */
 +static void sd_probe_async(void *data, async_cookie_t cookie)
 +{
 +      struct scsi_disk *sdkp = data;
 +      struct scsi_device *sdp;
 +      struct gendisk *gd;
 +      u32 index;
 +      struct device *dev;
 +
 +      sdp = sdkp->device;
 +      gd = sdkp->disk;
 +      index = sdkp->index;
 +      dev = &sdp->sdev_gendev;
 +
 +      if (!sdp->request_queue->rq_timeout) {
 +              if (sdp->type != TYPE_MOD)
 +                      blk_queue_rq_timeout(sdp->request_queue, SD_TIMEOUT);
 +              else
 +                      blk_queue_rq_timeout(sdp->request_queue,
 +                                           SD_MOD_TIMEOUT);
 +      }
 +
 +      device_initialize(&sdkp->dev);
 +      sdkp->dev.parent = &sdp->sdev_gendev;
 +      sdkp->dev.class = &sd_disk_class;
++      dev_set_name(&sdkp->dev, dev_name(&sdp->sdev_gendev));
 +
 +      if (device_add(&sdkp->dev))
 +              goto out_free_index;
 +
 +      get_device(&sdp->sdev_gendev);
 +
 +      if (index < SD_MAX_DISKS) {
 +              gd->major = sd_major((index & 0xf0) >> 4);
 +              gd->first_minor = ((index & 0xf) << 4) | (index & 0xfff00);
 +              gd->minors = SD_MINORS;
 +      }
 +      gd->fops = &sd_fops;
 +      gd->private_data = &sdkp->driver;
 +      gd->queue = sdkp->device->request_queue;
 +
 +      sd_revalidate_disk(gd);
 +
 +      blk_queue_prep_rq(sdp->request_queue, sd_prep_fn);
 +
 +      gd->driverfs_dev = &sdp->sdev_gendev;
 +      gd->flags = GENHD_FL_EXT_DEVT | GENHD_FL_DRIVERFS;
 +      if (sdp->removable)
 +              gd->flags |= GENHD_FL_REMOVABLE;
 +
 +      dev_set_drvdata(dev, sdkp);
 +      add_disk(gd);
 +      sd_dif_config_host(sdkp);
 +
 +      sd_printk(KERN_NOTICE, sdkp, "Attached SCSI %sdisk\n",
 +                sdp->removable ? "removable " : "");
 +
 +      return;
 +
 + out_free_index:
 +      ida_remove(&sd_index_ida, index);
 +}
 +
  /**
   *    sd_probe - called during driver initialization and whenever a
   *    new scsi device is attached to the system. It is called once