[PROBLEM + PATCH] Sata port disabled by BIOS gets initialized by ata_piix drive

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

 



Problem
Sata disks are connected to onboard sata ports of PowerEdge 1900 (ESB2 southbridge chipset). If one of the port is disabled in the bios then they get enabled again by the ata_piix driver because of a default port map being written to the Port control and status register(0x91-93). 
Instead the driver should preserve the bios setting by way of a fix like this.

Fix:
The BIOS configured PCS value must be anded logically with the default port map for the chipset. This way the BIOS information will not be lost by the reinitialization of the config space by the ata_piix driver. The below patch is against 2.6.21 kernel.

--- ata_piix.c.orig	2007-06-08 02:38:03.000000000 +0530
+++ ata_piix.c	2007-06-08 02:39:45.000000000 +0530
@@ -990,7 +990,7 @@ static void __devinit piix_init_pcs(stru
 
 	pci_read_config_word(pdev, ICH5_PCS, &pcs);
 
-	new_pcs = pcs | map_db->port_enable;
+	new_pcs = pcs & map_db->port_enable;
 
 	if (new_pcs != pcs) {
 		DPRINTK("updating PCS from 0x%x to 0x%x\n", pcs, new_pcs);

Signed-off-by: Shyam Iyer <shyam_iyer@xxxxxxxx>



--
This message was sent on behalf of shyam_iyer@xxxxxxxx at openSubscriber.com
http://www.opensubscriber.com/messages/linux-ide@xxxxxxxxxxxxxxx/topic.html
-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[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