Date: Mon, 31 Mar 2008 21:54:05 +0000 (UTC) From: Scott Long <scottl@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/mpt mpt.c Message-ID: <200803312154.m2VLs6Mi077016@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803312154.m2VLs6Mi077016>