From 3de6775a21e92afebe648a80d9306a94bf99b72f Mon Sep 17 00:00:00 2001 From: Bill Pemberton Date: Wed, 5 May 2010 15:27:49 -0400 Subject: [PATCH] --- yaml --- r: 197307 b: refs/heads/master c: 3324fb405340cf52fe361697a86d235587402d9c h: refs/heads/master i: 197305: 8ba2b3772d06052a2ef0490b13509f7921500588 197303: b519aaa5913c6e534181dfe7fd815592c65d98e9 v: v3 --- [refs] | 2 +- trunk/drivers/staging/hv/Channel.c | 13 +++++++++++-- trunk/drivers/staging/hv/RingBuffer.c | 3 ++- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 9d3c7eaa0f7c..8f42ba5fa3be 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1bbdd7a5380239533c4bb648c5d5d9510f12974b +refs/heads/master: 3324fb405340cf52fe361697a86d235587402d9c diff --git a/trunk/drivers/staging/hv/Channel.c b/trunk/drivers/staging/hv/Channel.c index a1431e4ac8be..158f62d8553a 100644 --- a/trunk/drivers/staging/hv/Channel.c +++ b/trunk/drivers/staging/hv/Channel.c @@ -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...", diff --git a/trunk/drivers/staging/hv/RingBuffer.c b/trunk/drivers/staging/hv/RingBuffer.c index ee481fd972b7..69f3ebae15a9 100644 --- a/trunk/drivers/staging/hv/RingBuffer.c +++ b/trunk/drivers/staging/hv/RingBuffer.c @@ -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));