p_umv_buf->status = status = IB_UNSUPPORTED;\r
goto err_user_unsupported;\r
}\r
+\r
+ if( !cl_is_blockable() ) {\r
+ status = IB_UNSUPPORTED;\r
+ goto err_unsupported;\r
+ }\r
+\r
if (NULL == p_byte_count) {\r
status = IB_INVALID_PARAMETER;\r
goto err_byte_count;\r
err_alloc_ports:\r
err_query_device:\r
err_byte_count: \r
+err_unsupported:\r
err_user_unsupported:\r
if( status != IB_INSUFFICIENT_MEMORY && status != IB_SUCCESS )\r
HCA_PRINT(TRACE_LEVEL_ERROR , HCA_DBG_SHIM ,("completes with ERROR status %s\n", IB_GET_ERR_STR(status)));\r
\r
HCA_ENTER(HCA_DBG_SHIM);\r
\r
+ //sanity check\r
+ if( !cl_is_blockable() ) {\r
+ status = IB_UNSUPPORTED;\r
+ goto err_unsupported;\r
+ }\r
+ \r
+ if (port_num < start_port(ib_dev) || port_num > end_port(ib_dev)) {\r
+ status = IB_INVALID_PORT;\r
+ goto err_port;\r
+ }\r
+\r
// prepare parameters\r
RtlZeroMemory(&props, sizeof(props));\r
SET_CAP_MOD(IB_CA_MOD_IS_SM, sm, IB_PORT_SM);\r
status = IB_SUCCESS;\r
\r
err_modify_port:\r
+err_port:\r
+err_unsupported:\r
HCA_PRINT_EXIT(TRACE_LEVEL_ERROR , HCA_DBG_SHIM ,("completes with ERROR status %s\n", IB_GET_ERR_STR(status)));\r
return status;\r
}\r