Staging: hv: test return value of osd_WaitEventCreate()

The return value of osd_WaitEventCreate() was not examined in some
places.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Bill Pemberton 2010-05-05 15:27:33 -04:00 committed by Greg Kroah-Hartman
parent 8cad0af9a1
commit 80d11b2ae2
3 changed files with 18 additions and 1 deletions

View File

@ -98,6 +98,11 @@ int VmbusConnect(void)
}
msgInfo->WaitEvent = osd_WaitEventCreate();
if (!msgInfo->WaitEvent) {
ret = -ENOMEM;
goto Cleanup;
}
msg = (struct vmbus_channel_initiate_contact *)msgInfo->Msg;
msg->Header.MessageType = ChannelMessageInitiateContact;

View File

@ -749,6 +749,10 @@ static int NetVscOnDeviceAdd(struct hv_device *Device, void *AdditionalInfo)
&netDevice->ReceivePacketList);
}
netDevice->ChannelInitEvent = osd_WaitEventCreate();
if (!netDevice->ChannelInitEvent) {
ret = -ENOMEM;
goto Cleanup;
}
/* Open the channel */
ret = Device->Driver->VmbusChannelInterface.Open(Device,

View File

@ -199,6 +199,10 @@ static int StorVscChannelInit(struct hv_device *Device)
*/
memset(request, 0, sizeof(struct storvsc_request_extension));
request->WaitEvent = osd_WaitEventCreate();
if (!request->WaitEvent) {
ret = -ENOMEM;
goto nomem;
}
vstorPacket->Operation = VStorOperationBeginInitialization;
vstorPacket->Flags = REQUEST_COMPLETION_FLAG;
@ -338,7 +342,7 @@ static int StorVscChannelInit(struct hv_device *Device)
Cleanup:
kfree(request->WaitEvent);
request->WaitEvent = NULL;
nomem:
PutStorDevice(Device);
DPRINT_EXIT(STORVSC);
@ -649,6 +653,10 @@ int StorVscOnHostReset(struct hv_device *Device)
vstorPacket = &request->VStorPacket;
request->WaitEvent = osd_WaitEventCreate();
if (!request->WaitEvent) {
ret = -ENOMEM;
goto Cleanup;
}
vstorPacket->Operation = VStorOperationResetBus;
vstorPacket->Flags = REQUEST_COMPLETION_FLAG;