Module Name:    src
Committed By:   jakllsch
Date:           Sun Apr  8 13:08:02 UTC 2012

Modified Files:
        src/sys/dev/pci: slide.c

Log Message:
As suggested in the previous commit, the overwrite of the pci_attach_args
is a bug.  Although I have not tested on real hardware, Linux's
pata_sl82c105.c only looks at the revision of the PCI bridge.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/sys/dev/pci/slide.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/slide.c
diff -u src/sys/dev/pci/slide.c:1.22 src/sys/dev/pci/slide.c:1.23
--- src/sys/dev/pci/slide.c:1.22	Mon Apr  4 20:37:56 2011
+++ src/sys/dev/pci/slide.c	Sun Apr  8 13:08:02 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: slide.c,v 1.22 2011/04/04 20:37:56 dyoung Exp $	*/
+/*	$NetBSD: slide.c,v 1.23 2012/04/08 13:08:02 jakllsch Exp $	*/
 
 /*-
  * Copyright (c) 2002 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: slide.c,v 1.22 2011/04/04 20:37:56 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: slide.c,v 1.23 2012/04/08 13:08:02 jakllsch Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -128,7 +128,6 @@ sl82c105_bugchk(const struct pci_attach_
 static void
 sl82c105_chip_map(struct pciide_softc *sc, const struct pci_attach_args *pa)
 {
-	struct pci_attach_args pa0;
 	struct pciide_channel *cp;
 	pcireg_t interface, idecr;
 	int channel;
@@ -141,10 +140,9 @@ sl82c105_chip_map(struct pciide_softc *s
 
 	/*
 	 * Check to see if we're part of the Winbond 83c553 Southbridge.
-	 * If so, we need to disable DMA on rev. <= 5 of that chip.
+	 * If so, we need to disable DMA on rev. <= 5 of the southbridge.
 	 */
-	if (pci_find_device(&pa0, sl82c105_bugchk)) {
-		pa = &pa0;
+	if (pci_find_device(NULL, sl82c105_bugchk)) {
 		aprint_verbose(" but disabled due to 83c553 rev. <= 0x05");
 		sc->sc_dma_ok = 0;
 	} else

Reply via email to