Re: BETA4 installer doesn't attach my HDD controller; BETA3 did

From: Søren Schmidt <sos_at_deepcore.dk>
Date: Fri, 07 Dec 2007 11:51:06 +0100
Andrey V. Elsukov wrote:
> Todd Wasson wrote:
>>> Todd Wasson wrote:
>>>> I've got a Maxtor 6Y080L0 YAR41VW0 drive on a JMicron JMB368 UDMA133
>>>> controller, and in the BETA4 installer the controller doesn't seem to
>>>> be properly attaching, which leads to the drive not being found.  The
>>>> relevant sections from dmesg (as I'm not sure where else to look while
>>>> running the installer CD) are:
>>>
>>> Did you try "Safe Boot" key 3.
>
> I think this changes may create a regression:
>
> 1. the BETA3's version:
>
>         ctlr->r_type2 = SYS_RES_MEMORY;
>         ctlr->r_rid2 = PCIR_BAR(5);
>         if ((ctlr->r_res2 = bus_alloc_resource_any(dev, ctlr->r_type2,
>                                           &ctlr->r_rid2, RF_ACTIVE))){
>             if ((error = ata_ahci_chipinit(dev)))
>                 return error;
>         }
> We have two checks here. Probably your controller doesn't allocate a
> memory resource for the AHCI, but it works because it skips second
> checks.
>
> 2. the BETA4's version:
>
>         if ((error = ata_ahci_chipinit(dev)))
>             return error;
>
> In this version driver doesn't pass it. I've already sent patch
> for test to your PR, but i attach it again.
> May be Soren can comment it?
Yeah, there's a bug allright, attached patch is the right way to fix it, 
I'll commit when I get a few..

-Søren



? JMicrom-p1
? ich-sata-fix
Index: ata-chipset.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
retrieving revision 1.209
diff -u -r1.209 ata-chipset.c
--- ata-chipset.c	26 Nov 2007 19:08:08 -0000	1.209
+++ ata-chipset.c	7 Dec 2007 10:49:06 -0000
_at__at_ -2260,7 +2309,7 _at__at_
 	pci_write_config(dev, 0x40, 0x80c0a131, 4);
 	pci_write_config(dev, 0x80, 0x01200000, 4);
 
-	if ((error = ata_ahci_chipinit(dev)))
+	if (ctlr->chip->cfg1 && (error = ata_ahci_chipinit(dev)))
 	    return error;
 
 	ctlr->allocate = ata_jmicron_allocate;
Received on Fri Dec 07 2007 - 09:51:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:23 UTC