diff options
author | Latchesar Ionkov <lucho@ionkov.net> | 2006-02-03 12:04:20 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-02-03 17:32:06 +0100 |
commit | 034b91a3b66cf9d2983ac45f73162395c0936c36 (patch) | |
tree | d8d731e5ef3dbe3cea129c48d5c1bc245414f189 /drivers/acpi/fan.c | |
parent | [PATCH] v9fs: v9fs_put_str fix (diff) | |
download | linux-034b91a3b66cf9d2983ac45f73162395c0936c36.tar.xz linux-034b91a3b66cf9d2983ac45f73162395c0936c36.zip |
[PATCH] v9fs: fix corner cases when flushing request
When v9fs_mux_rpc sends a 9P message, it may be put in the queue of unsent
request. If the user process receives a signal, v9fs_mux_rpc sets the
request error to ERREQFLUSH and assigns NULL to request's send message. If
the message was still in the unsent queue, v9fs_write_work would produce an
oops while processing it.
The patch makes sure that requests that are being flushed are moved to the
pending requests queue safely.
If a request is being flushed, don't remove it from the list of pending
requests even if it receives a reply before the flush is acknoledged. The
request will be removed during from the Rflush handler (v9fs_mux_flush_cb).
Signed-off-by: Latchesar Ionkov <lucho@ionkov.net>
Cc: Eric Van Hensbergen <ericvh@ericvh.myip.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/acpi/fan.c')
0 files changed, 0 insertions, 0 deletions