[0.4.9][UNIATA] Workaround random crashes on Virtual PC (#3377) CORE-12441 CORE-17371

I am not sure why this line in id_queue.cpp was added.
I don't know how I could improve that case.
Then, disable it, for the time being.

It regressed by 4b9cf2e339 (r71252). CORE-12441 CORE-17371

fix picked from 0.4.15-dev-2740-g ba77a09c04

While touching uniata do also PARTIALLY port back some bm_devs.h changes:
0.4.15-dev-1522-g 88d36c93a2 (Properly mark ReactOS diff from upstream)
This commit is contained in:
Joachim Henze 2021-11-16 22:32:23 +01:00
parent 33ebdeff91
commit 192194eaa5
2 changed files with 9 additions and 1 deletions

View file

@ -553,4 +553,8 @@ BUSMASTER_CONTROLLER_INFORMATION_BASE const BusMasterAdapters[] = {
PCI_DEV_HW_SPEC_BM( ffff, ffff, 0xff, BMLIST_TERMINATOR, NULL , BMLIST_TERMINATOR )
};
/* static */ const ULONG _NUM_BUSMASTER_ADAPTERS = (sizeof(BusMasterAdapters) / sizeof(BUSMASTER_CONTROLLER_INFORMATION_BASE));
#ifndef __REACTOS__
static const ULONG _NUM_BUSMASTER_ADAPTERS = (sizeof(BusMasterAdapters) / sizeof(BUSMASTER_CONTROLLER_INFORMATION_BASE));
#else
const ULONG _NUM_BUSMASTER_ADAPTERS = (sizeof(BusMasterAdapters) / sizeof(BUSMASTER_CONTROLLER_INFORMATION_BASE));
#endif

View file

@ -231,7 +231,11 @@ UniataQueueRequest(
AtaReq->next_req = NULL;
LunExt->first_req =
LunExt->last_req = AtaReq;
#ifdef __REACTOS__
// Do nothing here, workaround for CORE-12441 and CORE-17371
#else
chan->cur_cdev = GET_CDEV(Srb);
#endif
}
LunExt->queue_depth++;
chan->queue_depth++;