diff options
author | Tejun Heo <htejun@gmail.com> | 2006-12-12 06:17:32 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-12-16 10:13:29 -0500 |
commit | 551c012d7eea3dc5ec063c7ff9c718d39e77634f (patch) | |
tree | 244c89c1e0d6878a036fde806f080bf8885c661b /drivers/ata | |
parent | 33480a0ede8dcc7e6483054279008f972bd56fd3 (diff) |
[PATCH] ahci: do not mangle saved HOST_CAP while resetting controller
Do not mangle with HOST_CAP while resetting controller. The code is
there for a historical reason. The mangling breaks controller feature
detection and 0 PORTS_IMPL workaround code.
This problem was spotted by Manoj Kasichainula.
Signed-off-by: Tejun Heo <htejun@gmail.com>
Cc: Manoj Kasichainula <manoj@io.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/ahci.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index f36da488a2c1..dbae6d971041 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -645,8 +645,6 @@ static int ahci_reset_controller(void __iomem *mmio, struct pci_dev *pdev) | |||
645 | u32 cap_save, impl_save, tmp; | 645 | u32 cap_save, impl_save, tmp; |
646 | 646 | ||
647 | cap_save = readl(mmio + HOST_CAP); | 647 | cap_save = readl(mmio + HOST_CAP); |
648 | cap_save &= ( (1<<28) | (1<<17) ); | ||
649 | cap_save |= (1 << 27); | ||
650 | impl_save = readl(mmio + HOST_PORTS_IMPL); | 648 | impl_save = readl(mmio + HOST_PORTS_IMPL); |
651 | 649 | ||
652 | /* global controller reset */ | 650 | /* global controller reset */ |