Re: test3 oops on Compaq 8500R

From: Francois Romieu
Date: Mon Aug 11 2003 - 15:34:15 EST


Zwane Mwaikambo <zwane@xxxxxxxxxxxxx> :
[...]
> NULL disk->queue->queuedata, what does the following (possibly
> fundamentally flawed) patch do?

Hmmm...

DAC960_Probe()
-> DAC960_DetectController()
-> for (i = 0; i < DAC960_MaxLogicalDrives; i++) {
Controller->disks[i] = alloc_disk(1<<DAC960_MaxPartitionsBits);
if (!Controller->disks[i])
goto Failure;
Controller->disks[i]->private_data = (void *)i;
Controller->disks[i]->queue = Controller->RequestQueue;
}
-> DAC960_InitializeController()
-> DAC960_RegisterBlockDevice()
-> RequestQueue = blk_init_queue(DAC960_RequestFunction,...);
if (!RequestQueue) {
unregister_blkdev(MajorNumber, "dac960");
return false;
}
Controller->RequestQueue = RequestQueue;

Controller->disks[i]->queue = ... should be done once Controller->RequestQueue
is set imho.

--
Ueimor
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/