From acdf52445b700bfe38232f62c5bb628d17cfc558 Mon Sep 17 00:00:00 2001 From: Olaf Hering Date: Sat, 16 Apr 2011 18:50:39 +0200 Subject: [PATCH] --- yaml --- r: 249059 b: refs/heads/master c: 242b45aa8d93f7fc46ed551db9eb06cc33da7167 h: refs/heads/master i: 249057: e0a0a8f35bdb9daacc7cd7c2fa99ec116c526a33 249055: 434430415a17ba4fe20c1cd7ca890f728ee83c0b v: v3 --- [refs] | 2 +- trunk/drivers/staging/hv/connection.c | 35 +++++++++++---------------- 2 files changed, 15 insertions(+), 22 deletions(-) diff --git a/[refs] b/[refs] index dfa565181f5c..d9104c2b4131 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b3ee87081ccc3a5c4394d97ae1a13944b5072e81 +refs/heads/master: 242b45aa8d93f7fc46ed551db9eb06cc33da7167 diff --git a/trunk/drivers/staging/hv/connection.c b/trunk/drivers/staging/hv/connection.c index b71ed2719523..ccc5b4adabfd 100644 --- a/trunk/drivers/staging/hv/connection.c +++ b/trunk/drivers/staging/hv/connection.c @@ -287,30 +287,23 @@ void vmbus_on_event(unsigned long data) u32 *recv_int_page = vmbus_connection.recv_int_page; /* Check events */ - if (recv_int_page) { - for (dword = 0; dword < maxdword; dword++) { - if (recv_int_page[dword]) { - for (bit = 0; bit < 32; bit++) { - if (sync_test_and_clear_bit(bit, - (unsigned long *) - &recv_int_page[dword])) { - relid = (dword << 5) + bit; - - if (relid == 0) { - /* special case - vmbus channel protocol msg */ - continue; - } else { - /* QueueWorkItem(VmbusProcessEvent, (void*)relid); */ - /* ret = WorkQueueQueueWorkItem(gVmbusConnection.workQueue, VmbusProcessChannelEvent, (void*)relid); */ - process_chn_event((void *) - (unsigned long)relid); - } - } + if (!recv_int_page) + return; + for (dword = 0; dword < maxdword; dword++) { + if (!recv_int_page[dword]) + continue; + for (bit = 0; bit < 32; bit++) { + if (sync_test_and_clear_bit(bit, (unsigned long *)&recv_int_page[dword])) { + relid = (dword << 5) + bit; + + if (relid == 0) { + /* special case - vmbus channel protocol msg */ + continue; } + process_chn_event((void *) (unsigned long)relid); } - } + } } - return; } /*