From: Fix bug #3125: This should fix the problem; however, we will need to repeat that for all PIO SCSI drivers (another immediate victim is ppa.c). We should start looking for sane solution; I _really_ don't like the kludge with using ->slave_alloc() for fixups after scsi_alloc_queue(). Signed-off-by: Andrew Morton --- 25-akpm/drivers/scsi/imm.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -puN drivers/scsi/imm.c~imm-oops-fix drivers/scsi/imm.c --- 25/drivers/scsi/imm.c~imm-oops-fix Wed Aug 4 14:56:45 2004 +++ 25-akpm/drivers/scsi/imm.c Wed Aug 4 14:56:45 2004 @@ -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_tem .cmd_per_lun = 1, .use_clustering = ENABLE_CLUSTERING, .can_queue = 1, + .slave_alloc = imm_adjust_queue, }; /*************************************************************************** _