fix bsod when only one vq is active
@@ -431,6 +431,7 @@ VioStorVQUnlock(
adaptExt = (PADAPTER_EXTENSION)DeviceExtension;
if (!isr) {
+ if (adaptExt->msix_enabled) {
if (adaptExt->num_queues > 1) {
StorPortReleaseSpinLock(DeviceExtension, LockHandle);
}
@@ -438,5 +439,9 @@ VioStorVQUnlock(
StorPortReleaseMSISpinLock(DeviceExtension, (adaptExt->msix_one_vector ? 0 : MessageID), LockHandle->Context.OldIrql);
}
}
+ else {
+ StorPortReleaseSpinLock(DeviceExtension, LockHandle);
+ }
+ }
RhelDbgPrint(TRACE_LEVEL_VERBOSE, ("<---%s MessageID = %d\n", __FUNCTION__, MessageID));
}
