From owner-freebsd-bugs@FreeBSD.ORG Sun Mar 13 21:10:05 2005 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D074A16A4CE for ; Sun, 13 Mar 2005 21:10:05 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 902A543D49 for ; Sun, 13 Mar 2005 21:10:05 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.3/8.13.3) with ESMTP id j2DLA5cQ066236 for ; Sun, 13 Mar 2005 21:10:05 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.3/8.13.1/Submit) id j2DLA57E066235; Sun, 13 Mar 2005 21:10:05 GMT (envelope-from gnats) Date: Sun, 13 Mar 2005 21:10:05 GMT Message-Id: <200503132110.j2DLA57E066235@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: security@jim-liesl.org Subject: Re: kern/78707: New nvidia MCP2S chipset SATA no supported by 5.3 release X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: security@jim-liesl.org List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Mar 2005 21:10:05 -0000 The following reply was made to PR kern/78707; it has been noted by GNATS. From: security@daemon.jim-liesl.org To: freebsd-gnats-submit@FreeBSD.org, security@jim-liesl.org Cc: Subject: Re: kern/78707: New nvidia MCP2S chipset SATA no supported by 5.3 release Date: Sun, 13 Mar 2005 14:05:35 -0700 fixes based on 75540 diff -Naur sys/dev/ata/ata-pci.h.orig sys/dev/ata/ata-pci.h --- sys/dev/ata/ata-pci.h.orig Thu Mar 10 14:02:23 2005 +++ sys/dev/ata/ata-pci.h Sun Mar 13 12:18:14 2005 @@ -132,6 +132,7 @@ #define ATA_NFORCE1 0x01bc10de #define ATA_NFORCE2 0x006510de #define ATA_NFORCE2_MCP 0x008510de +#define ATA_NFORCE2_MCP_S2 0x008e10de #define ATA_NFORCE3 0x00d510de #define ATA_NFORCE3_PRO 0x00e510de #define ATA_NFORCE3_PRO_S1 0x00e310de diff -Naur sys/dev/ata/ata-chipset.c.orig sys/dev/ata/ata-chipset.c --- sys/dev/ata/ata-chipset.c.orig Sun Mar 13 12:20:03 2005 +++ sys/dev/ata/ata-chipset.c Sun Mar 13 12:57:03 2005 @@ -1112,6 +1112,7 @@ {{ ATA_NFORCE1, 0, AMDNVIDIA, NVIDIA, ATA_UDMA5, "nVidia nForce" }, { ATA_NFORCE2, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce2" }, { ATA_NFORCE2_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce2 MCP" }, + { ATA_NFORCE2_MCP_S2, 0, AMDNVIDIA, NVIDIA, ATA_SA150, "nVidia nForce2 MCP_S2" }, { ATA_NFORCE3, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3" }, { ATA_NFORCE3_PRO, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3 Pro" }, { ATA_NFORCE3_MCP, 0, AMDNVIDIA, NVIDIA, ATA_UDMA6, "nVidia nForce3 MCP" }, @@ -2861,9 +2862,17 @@ static int ata_check_80pin(struct ata_device *atadev, int mode) { + device_t parent = device_get_parent(atadev->channel->dev); + struct ata_pci_controller *ctlr = device_get_softc(parent); + + if (mode >= ATA_UDMA2 && mode < ATA_SA150 && ctlr->chip->max_dma >= ATA_SA150) { + ata_prtdev(atadev,"DMA set to SA150 for any device attached to SATA controller\n"); + return ATA_SA150; + } + if (mode > ATA_UDMA2 && !(atadev->param->hwres & ATA_CABLE_ID)) { ata_prtdev(atadev,"DMA limited to UDMA33, non-ATA66 cable or device\n"); - mode = ATA_UDMA2; + return ATA_UDMA2; } return mode; } ---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.