AHCI - Port Multiplier bug fixes
authorMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Jun 2009 21:07:57 +0000 (14:07 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Sat, 13 Jun 2009 21:07:57 +0000 (14:07 -0700)
commitbaef7501db74ac1066fe62829e589fc7c605fd8d
treeae77e298a5bcae3e3d0dab228dc4fcc3b215b446
parentb14ef16088b47f5941290f0458f406e8fa7cf0f5
AHCI - Port Multiplier bug fixes

* The error ccb must be used in ahci_pm_softreset() to collect a reliable
  signature from the device.

* Release the error ccb before performing any ahci_pm_*() functions (which
  have to issue their own commands).

* Probe the CAM bus asynchronously.

* Proactively assert that the error ccb is not used in a reentrant fashion.
sys/dev/disk/ahci/ahci.c
sys/dev/disk/ahci/ahci.h
sys/dev/disk/ahci/ahci_cam.c
sys/dev/disk/ahci/ahci_pm.c