
From: Dave Olien <dmo@osdl.org>

The dynamic queue allocation appears to have exposed a long-standing bug.



 25-akpm/drivers/block/DAC960.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/block/DAC960.c~dac960-oops-fix drivers/block/DAC960.c
--- 25/drivers/block/DAC960.c~dac960-oops-fix	Tue Aug 12 14:33:04 2003
+++ 25-akpm/drivers/block/DAC960.c	Tue Aug 12 14:33:04 2003
@@ -2487,6 +2487,7 @@ static boolean DAC960_RegisterBlockDevic
 
   for (n = 0; n < DAC960_MaxLogicalDrives; n++) {
 	struct gendisk *disk = Controller->disks[n];
+	Controller->disks[n]->queue = RequestQueue;
 	sprintf(disk->disk_name, "rd/c%dd%d", Controller->ControllerNumber, n);
 	sprintf(disk->devfs_name, "rd/c%dd%d", Controller->ControllerNumber, n);
 	disk->major = MajorNumber;
@@ -2717,7 +2718,6 @@ DAC960_DetectController(struct pci_dev *
 	if (!Controller->disks[i])
 		goto Failure;
 	Controller->disks[i]->private_data = (void *)i;
-	Controller->disks[i]->queue = Controller->RequestQueue;
   }
   init_waitqueue_head(&Controller->CommandWaitQueue);
   init_waitqueue_head(&Controller->HealthStatusWaitQueue);

_
