driver now enforces correct order of use of INIT_ACCELERANT and CLONE_ACCELERANT: bailing out with B_NOT_ALLOWED if incorrect use is detected. Updated docs.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16026 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Rudolf Cornelissen 2006-01-21 17:05:07 +00:00
parent 3eb82f0251
commit 444e9a147b
2 changed files with 16 additions and 1 deletions

View File

@ -4,6 +4,18 @@
</head>
<body>
<p><h2>Changes done for each driverversion:</h2></p>
<p><h1>head (svn 0.27, Rudolf)</h1></p>
<ul>
<li><strong>G200-G550:</strong>
<ul>
<li>The overlay engine code now respects the B_OVERLAY_COLOR_KEY flag instead of forcing keying ON.
</ul>
<li><strong>General:</strong>
<ul>
<li>Hook GET_ACCELERANT_DEVICE_INFO now returns more detailed info about the card in use;
<li>Hooks INIT_ACCELERANT and CLONE_ACCELERANT now enforce their correct use; returning error B_NOT_ALLOWED in case of errors.
</ul>
</ul>
<p><h1>mga_driver 0.26 (Rudolf)</h1></p>
<ul>
<li><strong>G200-G550:</strong>

View File

@ -4,7 +4,7 @@
Other authors:
Mark Watson;
Rudolf Cornelissen 3/2002-11/2005.
Rudolf Cornelissen 3/2002-1/2006.
*/
/* standard kernel driver stuff */
@ -791,6 +791,9 @@ static status_t open_hook (const char* name, uint32 flags, void** cookie) {
si->device = di->pcii.device;
si->function = di->pcii.function;
/* ensure that the accelerant's INIT_ACCELERANT function can be executed */
si->accelerant_in_use = false;
/* map the device */
result = map_device(di);
if (result < 0) goto free_shared;