lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 27 Oct 2011 13:55:21 -0500
From:	Paul Schilling <paul.s.schilling@...il.com>
To:	Alan Cox <alan@...rguk.ukuu.org.uk>
Cc:	Jeff Garzik <jgarzik@...ox.com>,
	"David S. Miller" <davem@...emloft.net>,
	Jesse Barnes <jbarnes@...tuousgeek.org>,
	linux-ide@...r.kernel.org, linux-kernel@...r.kernel.org,
	linux-pci@...r.kernel.org
Subject: Re: [PATCH 02/15] ATA : vortex86 : fix vortex86dx/sx hardware CRC bug.

The Vortex86dx uses RDC IDE peripheral integrated into the SOC.  The
CRC design is
broken in the Vortex86dx and sx.  The original reference can be found
in the Linux kernel itself.

The Vortex86sx uses the RDC D1010.
The Vortex86dx uses the RDC D1011.
Both of which have broken CRC hardware which breaks DMA.

The pata_821x.c had the following code in it to handle the RDC
hardware used in the Vortex86SX.

4fca377f (Jeff Garzik               2011-02-15 01:13:24 -0500 913)
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 914)
 if (pdev->vendor == PCI_VENDOR_ID_RDC) {
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 915)
         /* Deal with Vortex86SX */
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 916)
         if (pdev->revision == 0x11)
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 917)
                 ppi[0] = &info_rdc_11;
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 918)
         else
4a99d95f (Alan Cox                  2009-01-11 19:51:08 +0000 919)
                 ppi[0] = &info_rdc;
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 920)      } else {
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 921)
         /* Force the card into bypass mode if so requested */
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 922)
         if (it8212_noraid) {
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 923)
                 printk(KERN_INFO DRV_NAME ": forcing bypass
mode.\n");
963e4975 (Alan Cox                  2008-07-24 17:16:06 +0100 924)
                 it821x_disable_raid(pdev);

Thanks,
Paul Schilling

On Thu, Oct 27, 2011 at 2:43 AM, Alan Cox <alan@...rguk.ukuu.org.uk> wrote:
> On Tue, 25 Oct 2011 23:16:04 -0500
> Paul Schilling <paul.s.schilling@...il.com> wrote:
>
>> This fixes a DMA issue related to a CRC bug on
>> the RDC pata peripherial found on the vortex86sx and vortex86dx.
>
> What is the RDC erratum reference for this ? Also it seems to make no
> sense
>
>
>>       static const struct ata_port_info info_rdc_11 = {
>>               .flags = ATA_FLAG_SLAVE_POSS,
>>               .pio_mask = ATA_PIO4,
>> -             .mwdma_mask = ATA_MWDMA2,
>> +             .mwdma_mask = 0,
>> +             .udma_mask = 0,
>
> MWDMA is not part of the CRC hardware anyway
>
> Are you sure these newer variants are simply not using a different set of
> timing parameters thus showing bugs on your system ?
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ