From 53fb2a7ac93e793e9b9f03c0e4ad7c8aa6beff60 Mon Sep 17 00:00:00 2001 From: Alexander Motin Date: Fri, 20 Feb 2009 20:20:00 +0000 Subject: [PATCH] Disable port interrupts before doing PHY reset. PHY reset causes drive connect/disconnect events, unwanted at this moment. --- sys/dev/ata/chipsets/ata-ahci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/ata/chipsets/ata-ahci.c b/sys/dev/ata/chipsets/ata-ahci.c index f77f3d86a99..6ec31010d25 100644 --- a/sys/dev/ata/chipsets/ata-ahci.c +++ b/sys/dev/ata/chipsets/ata-ahci.c @@ -679,6 +679,9 @@ ata_ahci_reset(device_t dev) u_int32_t signature; int offset = ch->unit << 7; + /* Disable port interrupts */ + ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_IE + offset, 0); + /* setup work areas */ work = ch->dma.work_bus + ATA_AHCI_CL_OFFSET; ATA_OUTL(ctlr->r_res2, ATA_AHCI_P_CLB + offset, work & 0xffffffff);