AHCI - Fix interrupt enablement sequencing
commite8cf3f55e66e1d6c12fc328642467a4fd8fd52b7
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 19 Aug 2009 17:10:41 +0000 (19 10:10 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 19 Aug 2009 17:10:41 +0000 (19 10:10 -0700)
tree0fcad2b6a8e3b7d769cfa22ca8c698a7f70a4c77
parenteac446c50abe1405a40b6ff5eb347bcae6464101
AHCI - Fix interrupt enablement sequencing

* Interrupt enablement could race port initialization, causing the AHCI
  probe to fail and/or assert.

  Wait for basic port hardware initialization to complete (which is done by
  the port helper threads) before enabling interrupt processing on the chip.

Testing-by: Alexander Polakov <polachok@gmail.com>
sys/dev/disk/ahci/ahci.c
sys/dev/disk/ahci/ahci.h
sys/dev/disk/ahci/ahci_attach.c
sys/dev/disk/ahci/ahci_dragonfly.c