aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorMark Lord <mlord@pobox.com>2007-12-04 14:07:52 -0500
committerJeff Garzik <jeff@garzik.org>2007-12-04 14:07:52 -0500
commit306b30f74d37f289033c696285e07ce0158a5d7b (patch)
tree9299e34c8b2442dc6fbb5e5a42ea8614ca0ee86d /drivers/ata
parent3f3debdbfb7713aa06c4370bab6bef277dfd7a37 (diff)
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@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/sata_mv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 8d864e5e97ed..fe0105d35bae 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)
2503 2503
2504 case chip_7042: 2504 case chip_7042:
2505 hp_flags |= MV_HP_PCIE; 2505 hp_flags |= MV_HP_PCIE;
2506 if (pdev->vendor == PCI_VENDOR_ID_TTI &&
2507 (pdev->device == 0x2300 || pdev->device == 0x2310))
2508 {
2509 printk(KERN_WARNING "sata_mv: Highpoint RocketRAID BIOS"
2510 " will CORRUPT DATA on attached drives when"
2511 " configured as \"Legacy\". BEWARE!\n");
2512 printk(KERN_WARNING "sata_mv: Use BIOS \"JBOD\" volumes"
2513 " instead for safety.\n");
2514 }
2506 case chip_6042: 2515 case chip_6042:
2507 hpriv->ops = &mv6xxx_ops; 2516 hpriv->ops = &mv6xxx_ops;
2508 hp_flags |= MV_HP_GEN_IIE; 2517 hp_flags |= MV_HP_GEN_IIE;