AHCI - Fix CAM reentrancy problem, work-around HW async notification issue.
authorMatthew Dillon <dillon@apollo.backplane.com>
Fri, 12 Jun 2009 08:45:28 +0000 (01:45 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Fri, 12 Jun 2009 08:45:28 +0000 (01:45 -0700)
commitcec07d75a39274f11791b23d42f62496ee80e480
treef3a7fd0bebb459a3a6475ddac3b925e09ce70875
parent689c9e50918a907c32e15b4d459c0f8c39b00d4e
AHCI - Fix CAM reentrancy problem, work-around HW async notification issue.

* Our XPT_ENG_EXEC was not running asynchronously like we thought, nor
  was CAM_SCAN_BUS.  Use the not xpt_action_async() CAM call to ensure
  these run asynchrnously.

* The SDBS interrupt bit does not always get set when an async notification
  is receives.  It is unclear whether this is because the port multipler (PM)
  is sending a device set bits with 'N' but not 'I' flagged, or whether it
  is a bug in the host controller.  It only occurs while the AHCI port is
  under load.
sys/dev/disk/ahci/ahci.c