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/... ============================================================================== --- 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;