[ros-diffs] [fireball] 43075: - Fix a couple of bugs in the uniata ATA code spotted by bearwindows. ICH8/ICH9/ICH10 should be supported now.

fireball at svn.reactos.org fireball at svn.reactos.org
Sat Sep 19 00:25:35 CEST 2009


Author: fireball
Date: Sat Sep 19 00:25:34 2009
New Revision: 43075

URL: http://svn.reactos.org/svn/reactos?rev=43075&view=rev
Log:
- Fix a couple of bugs in the uniata ATA code spotted by bearwindows. ICH8/ICH9/ICH10 should be supported now.

Modified:
    trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp

Modified: trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp?rev=43075&r1=43074&r2=43075&view=diff
==============================================================================
--- trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp [iso-8859-1] (original)
+++ trunk/reactos/drivers/storage/ide/uniata/id_probe.cpp [iso-8859-1] Sat Sep 19 00:25:34 2009
@@ -1040,6 +1040,13 @@
 
     ConfigInfo->AlignmentMask = 0x00000003;
 
+    MasterDev = IsMasterDev(&pciData);
+
+    if(MasterDev) {
+        KdPrint2((PRINT_PREFIX "MasterDev (1)\n"));
+        deviceExtension->NumberChannels = 1;
+    }
+
     found = UniataChipDetect(HwDeviceExtension, &pciData, i, ConfigInfo, &simplexOnly);
     KdPrint2((PRINT_PREFIX "ForceSimplex = %d\n", simplexOnly));
     KdPrint2((PRINT_PREFIX "HwFlags = %x\n (0)", deviceExtension->HwFlags));
@@ -1089,14 +1096,6 @@
         /* CMD 649, ROSB SWK33, ICH4 */
         KdPrint2((PRINT_PREFIX "UniataFindBusMasterController: UNIATA_NO_DPC (0)\n"));
         deviceExtension->UseDpc = FALSE;
-    }
-
-    MasterDev = IsMasterDev(&pciData);
-
-    if(MasterDev) {
-        KdPrint2((PRINT_PREFIX "MasterDev (1)\n"));
-        deviceExtension->MasterDev = TRUE;
-        deviceExtension->NumberChannels = 1;
     }
 
     if(MasterDev) {
@@ -1242,7 +1241,7 @@
         deviceExtension->UseDpc = FALSE;
     }
 
-    if(simplexOnly || !MasterDev /*|| (WinVer_Id() > WinVer_NT)*/) {
+    if(simplexOnly && MasterDev /*|| (WinVer_Id() > WinVer_NT)*/) {
         if(deviceExtension->NumberChannels < 2) {
             KdPrint2((PRINT_PREFIX "set NumberChannels = 2\n"));
             deviceExtension->NumberChannels = 2;




More information about the Ros-diffs mailing list