[libata] AHCI: fix newly introduced host-reset bug
The recent fix to host reset introduced a problem, whereby AHCI-enable bit would be cleared upon reset, if it was not asserted prior to reset. Unconditionally enable AHCI-enable bit. Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
360737a982
commit
ab6fc95f60
@ -898,8 +898,10 @@ static int ahci_reset_controller(struct ata_host *host)
|
|||||||
* AHCI-specific, such as HOST_RESET.
|
* AHCI-specific, such as HOST_RESET.
|
||||||
*/
|
*/
|
||||||
tmp = readl(mmio + HOST_CTL);
|
tmp = readl(mmio + HOST_CTL);
|
||||||
if (!(tmp & HOST_AHCI_EN))
|
if (!(tmp & HOST_AHCI_EN)) {
|
||||||
writel(tmp | HOST_AHCI_EN, mmio + HOST_CTL);
|
tmp |= HOST_AHCI_EN;
|
||||||
|
writel(tmp, mmio + HOST_CTL);
|
||||||
|
}
|
||||||
|
|
||||||
/* global controller reset */
|
/* global controller reset */
|
||||||
if ((tmp & HOST_RESET) == 0) {
|
if ((tmp & HOST_RESET) == 0) {
|
||||||
|
Loading…
Reference in New Issue
Block a user