win-pvdrivers

changeset 923:5c84e3cd00b2

Fix 64 bit operation for scsiport. Fix hang on resume from hibernation
author James Harper <james.harper@bendigoit.com.au>
date Sat May 21 19:36:29 2011 +1000 (2011-05-21)
parents 5604d7645acc
children 35ec9d4ebf94
files xenvbd/xenvbd_scsiport.c
line diff
     1.1 --- a/xenvbd/xenvbd_scsiport.c	Sat May 21 19:34:57 2011 +1000
     1.2 +++ b/xenvbd/xenvbd_scsiport.c	Sat May 21 19:36:29 2011 +1000
     1.3 @@ -630,7 +630,7 @@ XenVbd_HwScsiFindAdapter(PVOID DeviceExt
     1.4    KdPrint((__DRIVER_NAME "     ConfigInfo->CachesData was initialised to %d\n", ConfigInfo->CachesData));
     1.5    ConfigInfo->CachesData = FALSE;
     1.6    ConfigInfo->BufferAccessScsiPortControlled = FALSE;
     1.7 -#if 0
     1.8 +
     1.9    if (ConfigInfo->Dma64BitAddresses == SCSI_DMA64_SYSTEM_SUPPORTED)
    1.10    {
    1.11      ConfigInfo->Master = TRUE;
    1.12 @@ -640,11 +640,11 @@ XenVbd_HwScsiFindAdapter(PVOID DeviceExt
    1.13    }
    1.14    else
    1.15    {
    1.16 -    ConfigInfo->Master = TRUE;
    1.17 +    ConfigInfo->Master = FALSE;
    1.18      ConfigInfo->Dma32BitAddresses = TRUE;
    1.19      KdPrint((__DRIVER_NAME "     Dma64BitAddresses not supported\n"));
    1.20    }
    1.21 -#endif
    1.22 +
    1.23    FUNCTION_EXIT();
    1.24  
    1.25    return SP_RETURN_FOUND;
    1.26 @@ -1108,7 +1108,7 @@ XenVbd_HwScsiInterrupt(PVOID DeviceExten
    1.27      }
    1.28    }
    1.29  
    1.30 -  if (start_ring_detect_state == RING_DETECT_STATE_COMPLETE)
    1.31 +  if (start_ring_detect_state > RING_DETECT_STATE_NOT_STARTED)
    1.32      XenVbd_PutQueuedSrbsOnRing(xvdd);
    1.33  
    1.34    if (suspend_resume_state_pdo == SR_STATE_SUSPENDING)