Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77 Commit: 7c7d90f2dda6daec5a6aaf8f97aacc10ee4deb77 Parent: c55703d807a8c6c239a5fea7b9cd7da08c27d7a9 Author: Eric Van Hensbergen <[EMAIL PROTECTED]> AuthorDate: Wed Feb 6 19:25:07 2008 -0600 Committer: Eric Van Hensbergen <[EMAIL PROTECTED]> CommitDate: Wed Feb 6 19:25:07 2008 -0600
9p: Fix soft lockup in virtio transport This fixes a poorly placed spinlock which could result in a soft lockup condition. Signed-off-by: Eric Van Hensbergen <[EMAIL PROTECTED]> --- net/9p/trans_virtio.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/9p/trans_virtio.c b/net/9p/trans_virtio.c index 0f59022..7853c31 100644 --- a/net/9p/trans_virtio.c +++ b/net/9p/trans_virtio.c @@ -232,7 +232,6 @@ p9_virtio_rpc(struct p9_trans *t, struct p9_fcall *tc, struct p9_fcall **rc, rdata = (char *)*rc+sizeof(struct p9_fcall); - spin_lock_irqsave(&chan->lock, flags); n = P9_NOTAG; if (tc->id != P9_TVERSION) { n = p9_idpool_get(chan->tagpool); @@ -240,6 +239,7 @@ p9_virtio_rpc(struct p9_trans *t, struct p9_fcall *tc, struct p9_fcall **rc, return -ENOMEM; } + spin_lock_irqsave(&chan->lock, flags); req = p9_lookup_tag(chan, n); spin_unlock_irqrestore(&chan->lock, flags); - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html