[bus] fix bug in __read_dev_params.
authortzachid <tzachid@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 13:13:40 +0000 (13:13 +0000)
committertzachid <tzachid@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 17 Nov 2009 13:13:40 +0000 (13:13 +0000)
signed off by: Firas@mellanox.co.il

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2578 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

hw/mlx4/kernel/bus/core/ev_log.mc
hw/mlx4/kernel/bus/drv/drv.c

index b393917..ae6a692 100644 (file)
@@ -143,4 +143,8 @@ HCA restart finished. Notifying the clients ...
 .\r
 \r
 \r
+MessageId=0x0012 Facility=MLX4 Severity=Warning SymbolicName=EVENT_MLX4_WARN_INVALID_PORT_TYPE_VALUE\r
+Language=English\r
+PortType registry parameter contains invalid value, PortType = %2.\r
+.\r
 \r
index c949bf4..e720feb 100644 (file)
@@ -311,7 +311,7 @@ __read_dev_params(IN WDFDEVICE  Device, struct mlx4_dev_params *dev_params)
        DECLARE_CONST_UNICODE_STRING(PortType, L"PortType");\r
 \r
 #define  MAX_UVALUE 100\r
-       WCHAR uvalue_data[MAX_UVALUE];\r
+       WCHAR uvalue_data[MAX_UVALUE]={0};\r
        UNICODE_STRING uvalue;    \r
        uvalue.Buffer = uvalue_data;\r
        uvalue.MaximumLength = MAX_UVALUE;\r
@@ -341,6 +341,8 @@ __read_dev_params(IN WDFDEVICE  Device, struct mlx4_dev_params *dev_params)
         uvalue.Length = 0;\r
     }\r
     \r
+    memset(&uvalue_data,0,sizeof(uvalue_data));\r
+\r
        status = WdfRegistryQueryUnicodeString(hParamsKey, &PortType, NULL, &uvalue);\r
        if (NT_SUCCESS (status)) {\r
                if (!wcscmp(uvalue_data, L"ib,ib")) {\r
@@ -358,6 +360,10 @@ __read_dev_params(IN WDFDEVICE  Device, struct mlx4_dev_params *dev_params)
                if (!wcscmp(uvalue_data, L"eth,eth")) {\r
                        dev_params->mod_port_type[0] = MLX4_PORT_TYPE_ETH;\r
                        dev_params->mod_port_type[1] = MLX4_PORT_TYPE_ETH;\r
+               } else {\r
+                   MLX4_PRINT( TRACE_LEVEL_ERROR  ,MLX4_DBG_DEV  ,("Invalid value, PortType = %S\n", uvalue_data));            \r
+            WriteEventLogEntryData( pdev->p_self_do, (ULONG)EVENT_MLX4_WARN_INVALID_PORT_TYPE_VALUE, 0, 0, 1,\r
+                L"%s",uvalue_data);                \r
                }\r
        }\r
        else {\r