diff options
author | mav <mav@FreeBSD.org> | 2009-02-20 20:20:00 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2009-02-20 20:20:00 +0000 |
commit | b2740187db7b7f145f40e8d388d625210cf49cf2 (patch) | |
tree | 1a9efdd5f46004596d45e8cfa7184207eec4fb62 /sys/dev/ata | |
parent | 78b3ec35831f52f5f773f589369519b39052c4b1 (diff) | |
download | FreeBSD-src-b2740187db7b7f145f40e8d388d625210cf49cf2.zip FreeBSD-src-b2740187db7b7f145f40e8d388d625210cf49cf2.tar.gz |
Disable port interrupts before doing PHY reset.
PHY reset causes drive connect/disconnect events, unwanted at this moment.
Diffstat (limited to 'sys/dev/ata')
-rw-r--r-- | sys/dev/ata/chipsets/ata-ahci.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/ata/chipsets/ata-ahci.c b/sys/dev/ata/chipsets/ata-ahci.c index f77f3d8..6ec3101 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); |