Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 May 2009 08:53:15 +0200
From:      Magnus Kling <klingfon@gmail.com>
To:        Alexander Motin <mav@freebsd.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Kernel panic when reboot on server with a Promise SX4000 and two ATA disks RAID1.
Message-ID:  <43b1bb350905182353v3812c523pa52cdf41ce886907@mail.gmail.com>
In-Reply-To: <4A121C40.7040201@FreeBSD.org>
References:  <43b1bb350905150939s5d503f00x27116e7ffe79a37@mail.gmail.com> <4A10F3E3.40306@FreeBSD.org> <43b1bb350905180025g682d3764qba5a450d85d8f961@mail.gmail.com> <43b1bb350905181331r44b35b13i22aa1ba6a18103ed@mail.gmail.com> <4A121C40.7040201@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/5/19 Alexander Motin <mav@freebsd.org>

> 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 giv=
e
> 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 som=
e
> other device now?
>
> --
> Alexander Motin
>
> --- 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 =3D GRANDPARENT(request->dev);
>     struct ata_pci_controller *ctlr =3D device_get_softc(gparent);
> +
> +if (ctlr =3D=3D 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 =3D device_get_softc(request->parent);
>     struct ata_dma_prdentry *prd =3D request->dma->sg;
>     caddr_t window =3D rman_get_virtual(ctlr->r_res1);
>
>
I applied the patch and rebuilt the kernel. But when should this be printed=
?
At shutdown or boot? I can=B4t see it at all.
When panic occurs I got the attached text as output on my serial console.

The raidcontroller has two ata disks attached. Using RAID 1. My OS is on a
separate disk using the motherboards ata connector.
Should I disable(unplug the disks) and add a spare harddrive in non-raid
state to the raid card?

/magnus



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?43b1bb350905182353v3812c523pa52cdf41ce886907>