git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vserver 1.9.5.x5
[linux-2.6.git]
/
drivers
/
scsi
/
imm.c
diff --git
a/drivers/scsi/imm.c
b/drivers/scsi/imm.c
index
a4e953b
..
be7f2ca
100644
(file)
--- a/
drivers/scsi/imm.c
+++ b/
drivers/scsi/imm.c
@@
-60,7
+60,7
@@
static inline imm_struct *imm_dev(struct Scsi_Host *host)
return *(imm_struct **)&host->hostdata;
}
return *(imm_struct **)&host->hostdata;
}
-static
spinlock_t arbitration_lock = SPIN_LOCK_UNLOCKED
;
+static
DEFINE_SPINLOCK(arbitration_lock)
;
static void got_it(imm_struct *dev)
{
static void got_it(imm_struct *dev)
{
@@
-758,7
+758,7
@@
static void imm_interrupt(void *data)
case DID_OK:
break;
case DID_NO_CONNECT:
case DID_OK:
break;
case DID_NO_CONNECT:
- printk("imm: no device at SCSI ID %i\n", cmd->
target
);
+ printk("imm: no device at SCSI ID %i\n", cmd->
device->id
);
break;
case DID_BUS_BUSY:
printk("imm: BUS BUSY - EPP timeout detected\n");
break;
case DID_BUS_BUSY:
printk("imm: BUS BUSY - EPP timeout detected\n");
@@
-793,7
+793,7
@@
static void imm_interrupt(void *data)
imm_pb_dismiss(dev);
spin_lock_irqsave(host->host_lock, flags);
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;
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;
}
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",
static struct scsi_host_template imm_template = {
.module = THIS_MODULE,
.proc_name = "imm",
@@
-1133,6
+1139,11
@@
static struct scsi_host_template imm_template = {
.cmd_per_lun = 1,
.use_clustering = ENABLE_CLUSTERING,
.can_queue = 1,
.cmd_per_lun = 1,
.use_clustering = ENABLE_CLUSTERING,
.can_queue = 1,
+ .slave_alloc = imm_adjust_queue,
+ .unchecked_isa_dma = 1, /* imm cannot deal with highmem, so
+ * this is an easy trick to ensure
+ * all io pages for this host reside
+ * in low memory */
};
/***************************************************************************
};
/***************************************************************************