VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / drivers / scsi / imm.c
index a4e953b..915d593 100644 (file)
@@ -793,7 +793,7 @@ static void imm_interrupt(void *data)
        imm_pb_dismiss(dev);
 
        spin_lock_irqsave(host->host_lock, flags);
-       dev->cur_cmd = 0;
+       dev->cur_cmd = NULL;
        cmd->scsi_done(cmd);
        spin_unlock_irqrestore(host->host_lock, flags);
        return;
@@ -1118,6 +1118,12 @@ static int device_check(imm_struct *dev)
        return -ENODEV;
 }
 
+static int imm_adjust_queue(struct scsi_device *device)
+{
+       blk_queue_bounce_limit(device->request_queue, BLK_BOUNCE_HIGH);
+       return 0;
+}
+
 static struct scsi_host_template imm_template = {
        .module                 = THIS_MODULE,
        .proc_name              = "imm",
@@ -1133,6 +1139,7 @@ static struct scsi_host_template imm_template = {
        .cmd_per_lun            = 1,
        .use_clustering         = ENABLE_CLUSTERING,
        .can_queue              = 1,
+       .slave_alloc            = imm_adjust_queue,
 };
 
 /***************************************************************************