Re: [PATCH] sata_mv: Warn about Highpoint RocketRAID BIOS treatment of "Legacy" drives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mark Lord wrote:
The Highpoint RocketRAID boards using Marvell 7042 chips
overwrite the 9th sector of attached drives at boot time,
when those drives are configured as "Legacy" (the default)
in the HighPoint BIOS.

This kills GRUB, and probably other stuff.
But it all happens *before* Linux is even loaded.

So, for now we'll log a WARNING when such boards are detected,
and advise users to configure BIOS "JBOD" volumes instead,
which don't appear to suffer from this problem.

Signed-off-by: Mark Lord <mlord@xxxxxxxxx>

applied #upstream-fixes with modifications (style, printk message), see attached.


commit 306b30f74d37f289033c696285e07ce0158a5d7b
Author: Mark Lord <mlord@xxxxxxxxx>
Date:   Tue Dec 4 14:07:52 2007 -0500

    sata_mv:  Warn about HPT RocketRAID BIOS treatment of "Legacy" drives
    
    The Highpoint RocketRAID boards using Marvell 7042 chips
    overwrite the 9th sector of attached drives at boot time,
    when those drives are configured as "Legacy" (the default)
    in the HighPoint BIOS.
    
    This kills GRUB, and probably other stuff.
    But it all happens *before* Linux is even loaded.
    
    So, for now we'll log a WARNING when such boards are detected,
    and advise users to configure BIOS "JBOD" volumes instead,
    which don't appear to suffer from this problem.
    
    Signed-off-by: Mark Lord <mlord@xxxxxxxxx>
    Signed-off-by: Jeff Garzik <jgarzik@xxxxxxxxxx>

 drivers/ata/sata_mv.c |    9 +++++++++
 1 file changed, 9 insertions(+)

306b30f74d37f289033c696285e07ce0158a5d7b
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 8d864e5..fe0105d 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -2503,6 +2503,15 @@ static int mv_chip_id(struct ata_host *host, unsigned int board_idx)
 
 	case chip_7042:
 		hp_flags |= MV_HP_PCIE;
+		if (pdev->vendor == PCI_VENDOR_ID_TTI &&
+		    (pdev->device == 0x2300 || pdev->device == 0x2310))
+		{
+			printk(KERN_WARNING "sata_mv: Highpoint RocketRAID BIOS"
+				" will CORRUPT DATA on attached drives when"
+				" configured as \"Legacy\".  BEWARE!\n");
+			printk(KERN_WARNING "sata_mv: Use BIOS \"JBOD\" volumes"
+				" instead for safety.\n");
+		}
 	case chip_6042:
 		hpriv->ops = &mv6xxx_ops;
 		hp_flags |= MV_HP_GEN_IIE;

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux