diff mbox

viostor driver. fix PREfast warnings.

Message ID 4AE95531.1060102@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Vadim Rozenfeld Oct. 29, 2009, 8:41 a.m. UTC
None
diff mbox

Patch

diff --git a/viostor/virtio_pci.c b/viostor/virtio_pci.c
index a72b019..78a6d29 100644
--- a/viostor/virtio_pci.c
+++ b/viostor/virtio_pci.c
@@ -183,6 +183,10 @@  VirtIODeviceFindVirtualQueue(

      // activate the queue
      pa = ScsiPortGetPhysicalAddress(DeviceExtension, NULL, info->queue,&dummy);
+    if(!pa.QuadPart) {
+        ScsiPortWritePortUlong((PULONG)(adaptExt->device_base + VIRTIO_PCI_QUEUE_PFN),(ULONG)0);
+        return NULL;
+    }
      pageNum = (ULONG)(pa.QuadPart>>  PAGE_SHIFT);
      RhelDbgPrint(TRACE_LEVEL_FATAL, ("[%s] queue phys.address %08lx:%08lx, pfn %lx\n", __FUNCTION__, pa.u.HighPart, pa.u.LowPart, pageNum));
      ScsiPortWritePortUlong((PULONG)(adaptExt->device_base + VIRTIO_PCI_QUEUE_PFN),(ULONG)(pageNum));
diff --git a/viostor/virtio_stor.c b/viostor/virtio_stor.c
index 8b91e62..c36b85b 100644
--- a/viostor/virtio_stor.c
+++ b/viostor/virtio_stor.c
@@ -247,29 +247,6 @@  VirtIoFindAdapter(
          return SP_RETURN_NOT_FOUND;
      }

-    if (!ScsiPortValidateRange(DeviceExtension,
-                                           ConfigInfo->AdapterInterfaceType,
-                                           ConfigInfo->SystemIoBusNumber,
-                                           accessRange->RangeStart,
-                                           accessRange->RangeLength,
-                                           (BOOLEAN)!accessRange->RangeInMemory)) {
-
-        ScsiPortLogError(DeviceExtension,
-                         NULL,
-                         0,
-                         0,
-                         0,
-                         SP_INTERNAL_ADAPTER_ERROR,
-                         __LINE__);
-
-        RhelDbgPrint(TRACE_LEVEL_FATAL, ("Range validation failed %x for %x bytes\n",
-                   (*ConfigInfo->AccessRanges)[0].RangeStart.LowPart,
-                   (*ConfigInfo->AccessRanges)[0].RangeLength));
-
-        return SP_RETURN_ERROR;
-    }
-
-
      ConfigInfo->NumberOfBuses               = 1;
      ConfigInfo->MaximumNumberOfTargets      = 1;
      ConfigInfo->MaximumNumberOfLogicalUnits = 1;
@@ -707,7 +684,7 @@  VirtIoAdapterControl(
          RhelDbgPrint(TRACE_LEVEL_VERBOSE, ("ScsiRestartAdapter\n"));
          adaptExt->pci_vq_info.vq = NULL;
  #ifdef MSI_SUPPORTED
-        if(!adaptExt->dump_mode&  adaptExt->msix_vectors) {
+        if(!adaptExt->dump_mode&&  adaptExt->msix_vectors) {
             adaptExt->pci_vq_info.vq = VirtIODeviceFindVirtualQueue(DeviceExtension, 0, adaptExt->msix_vectors);
          }
  #endif