Commit 3324fb40 authored by Bill Pemberton's avatar Bill Pemberton Committed by Greg Kroah-Hartman

staging: hv: check return value of RingBufferInit()

RingBufferInit() would always return sucess and instead relied on an
ASSERT() to test for an error condition.  Remove the ASSERT() and
return -EINVAL instead.  The return value of RingBufferInit() was also
never checked, so check it.
Signed-off-by: default avatarBill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 1bbdd7a5
......@@ -203,9 +203,18 @@ int VmbusChannelOpen(struct vmbus_channel *NewChannel, u32 SendRingBufferSize,
NewChannel->RingBufferPageCount = (SendRingBufferSize +
RecvRingBufferSize) >> PAGE_SHIFT;
RingBufferInit(&NewChannel->Outbound, out, SendRingBufferSize);
ret = RingBufferInit(&NewChannel->Outbound, out, SendRingBufferSize);
if (!ret) {
err = ret;
goto errorout;
}
ret = RingBufferInit(&NewChannel->Inbound, in, RecvRingBufferSize);
if (!ret) {
err = ret;
goto errorout;
}
RingBufferInit(&NewChannel->Inbound, in, RecvRingBufferSize);
/* Establish the gpadl for the ring buffer */
DPRINT_DBG(VMBUS, "Establishing ring buffer's gpadl for channel %p...",
......
......@@ -301,7 +301,8 @@ u32 GetRingBufferInterruptMask(RING_BUFFER_INFO *rbi)
--*/
int RingBufferInit(RING_BUFFER_INFO *RingInfo, void *Buffer, u32 BufferLen)
{
ASSERT(sizeof(RING_BUFFER) == PAGE_SIZE);
if (sizeof(RING_BUFFER) != PAGE_SIZE)
return -EINVAL;
memset(RingInfo, 0, sizeof(RING_BUFFER_INFO));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment