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

Alexander Motin mav at
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