Kernel panic when reboot on server with a Promise SX4000 and two ATA disks RAID1.

Alexander Motin mav at FreeBSD.org
Tue May 19 02:41:15 UTC 2009


Magnus Kling wrote:
> Compiled once again. No change. The kernel panics.

I don't see obvious problems there. I think something else may erase 
that controller softc pointer. Can you try to apply attached patch. It 
may give us some more clues about what is actually become wrong there.

May be it is somehow related to the RAID array built on controller. 
ata-raid part is quite complicated and historically was buggy quite 
often. Can you instead of your array drives try to attach some other one 
without any array built or just disable ata-raid module? Are you booting 
from some other device now?

-- 
Alexander Motin
-------------- next part --------------
--- ata-promise.c.prev	2009-05-14 17:57:13.000000000 +0300
+++ ata-promise.c	2009-05-19 05:20:13.000000000 +0300
@@ -1053,6 +1053,15 @@ ata_promise_sx4_command(struct ata_reque
 {
     device_t gparent = GRANDPARENT(request->dev);
     struct ata_pci_controller *ctlr = device_get_softc(gparent);
+
+if (ctlr == NULL) {
+    printf("ctlr IS NULL!!!\n");
+    device_printf(request->dev, "request->dev\n");
+    device_printf(request->parent, "request->parent\n");
+    device_printf(device_get_parent(request->dev), "device_get_parent(request->dev)\n");
+    device_printf(gparent, "gparent\n");
+}
+
     struct ata_channel *ch = device_get_softc(request->parent);
     struct ata_dma_prdentry *prd = request->dma->sg;
     caddr_t window = rman_get_virtual(ctlr->r_res1);


More information about the freebsd-current mailing list