diff options
author | Dexuan Cui <decui@microsoft.com> | 2015-03-27 09:10:09 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-04-03 16:18:02 +0200 |
commit | d43e2fe7da320310834467a3fd87a10adb25a221 (patch) | |
tree | e978c5e8f751ba913b29bcb1dacedbcb3d2a9dc6 /drivers/hv/connection.c | |
parent | 652594c7dfd9bf6392e3a727bc69d89a2562d953 (diff) | |
download | talos-obmc-linux-d43e2fe7da320310834467a3fd87a10adb25a221.tar.gz talos-obmc-linux-d43e2fe7da320310834467a3fd87a10adb25a221.zip |
hv: don't schedule new works in vmbus_onoffer()/vmbus_onoffer_rescind()
Since the 2 fucntions can safely run in vmbus_connection.work_queue without
hang, we don't need to schedule new work items into the per-channel workqueue.
Actally we can even remove the per-channel workqueue now -- we'll do it
in the next patch.
Signed-off-by: Dexuan Cui <decui@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/hv/connection.c')
-rw-r--r-- | drivers/hv/connection.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/hv/connection.c b/drivers/hv/connection.c index 8bcd3071c84f..583d7d42b46d 100644 --- a/drivers/hv/connection.c +++ b/drivers/hv/connection.c @@ -270,7 +270,7 @@ static struct vmbus_channel *pcpu_relid2channel(u32 relid) * relid2channel - Get the channel object given its * child relative id (ie channel id) */ -struct vmbus_channel *relid2channel(u32 relid, bool rescind) +struct vmbus_channel *relid2channel(u32 relid) { struct vmbus_channel *channel; struct vmbus_channel *found_channel = NULL; @@ -282,8 +282,6 @@ struct vmbus_channel *relid2channel(u32 relid, bool rescind) list_for_each_entry(channel, &vmbus_connection.chn_list, listentry) { if (channel->offermsg.child_relid == relid) { found_channel = channel; - if (rescind) - found_channel->rescind = true; break; } else if (!list_empty(&channel->sc_list)) { /* @@ -294,8 +292,6 @@ struct vmbus_channel *relid2channel(u32 relid, bool rescind) sc_list); if (cur_sc->offermsg.child_relid == relid) { found_channel = cur_sc; - if (rescind) - found_channel->rescind = true; break; } } |