ATA still broken

Marcel Moolenaar marcel at xcllnt.net
Tue Jan 20 15:25:21 PST 2004


On Wed, Jan 21, 2004 at 12:59:24AM +0200, Vladimir Kushnir wrote:
> Hello,
> An ATA problem seems to persist here. With last night's sources I still cannot 
> boot my -CURRENT box. Setup:
> MB - oldish 440BX - based ChainTech
> ata0: master - NEC CDRW, slave - none
> ata1: master - CDROM. slave - none
> External card (CMD649-based):
> ata2: master - 60G WD (the only HD), slave - none
> ata3 - nothing
> Tried both my customized config (with atapicam) and GENERIC, with or without 
> apic/ACPI - no difference.

I see you have a CMD649. Can you try the attached patch.

Thanks,

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net
-------------- next part --------------
Index: sys/dev/ata/ata-chipset.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-chipset.c,v
retrieving revision 1.57
diff -u -r1.57 ata-chipset.c
--- sys/dev/ata/ata-chipset.c	17 Jan 2004 23:34:13 -0000	1.57
+++ sys/dev/ata/ata-chipset.c	20 Jan 2004 03:34:23 -0000
@@ -103,7 +103,6 @@
 static int ata_sii_mio_allocate(device_t, struct ata_channel *);
 static void ata_sii_reset(struct ata_channel *);
 static void ata_sii_intr(void *);
-static void ata_cmd_intr(void *);
 static void ata_cmd_old_intr(void *);
 static void ata_sii_setmode(struct ata_device *, int);
 static void ata_cmd_setmode(struct ata_device *, int);
@@ -1667,7 +1666,7 @@
     else {
 	if ((bus_setup_intr(dev, ctlr->r_irq, ATA_INTR_FLAGS,
 			    ctlr->chip->cfg2 & SIIINTR ? 
-			    ata_cmd_intr : ata_cmd_old_intr,
+			    ata_cmd_old_intr : ata_cmd_old_intr,
 			    ctlr, &ctlr->handle))) {
 	    device_printf(dev, "unable to setup interrupt\n");
 	    return ENXIO;
@@ -1756,6 +1755,7 @@
     }
 }
 
+#if 0
 static void
 ata_cmd_intr(void *data)
 {
@@ -1785,6 +1785,7 @@
 	}
     }
 }
+#endif
 
 static void
 ata_cmd_old_intr(void *data)


More information about the freebsd-current mailing list