cvs commit: src/sys/dev/mpt mpt.c
Scott Long
scottl at FreeBSD.org
Mon Mar 31 14:54:07 PDT 2008
scottl 2008-03-31 21:54:05 UTC
FreeBSD src repository
Modified files:
sys/dev/mpt mpt.c
Log:
The MPT driver treats the "core" module with the same importance and
abstraction as the RAID and CAM modules, making it nearly impossible
for enough initialization to be done in time for the RAID module to
know whether to attach. On top of this, no reset was being done on
the controller on attach, in violation of the spec. Additionally,
the port enable step was being deferred to the end of the attach
process, long after it should have been done to ensure reliable
operation from the controller. Fix all of these with a few hacks
to force the "attach" and "enable" steps of the core module early
on, and ensure that a reset and port enable also happens early on.
In the future, the driver needs to be refactored to eliminate the
core module abstraction, clean up withe reset/enable steps, and
defer event messages until all of the modules are available to
recieve them.
Revision Changes Path
1.47 +7 -4 src/sys/dev/mpt/mpt.c
More information about the cvs-src
mailing list