From: Trond Myklebust Date: Mon, 22 Oct 2012 21:14:36 +0000 (-0400) Subject: SUNRPC: Get rid of the xs_error_report socket callback X-Git-Tag: v3.2.33~32 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3e1d0bc4c950b597890ec851c3ea9ec709599dd;p=pandora-kernel.git SUNRPC: Get rid of the xs_error_report socket callback commit f878b657ce8e7d3673afe48110ec208a29e38c4a upstream. Chris Perl reports that we're seeing races between the wakeup call in xs_error_report and the connect attempts. Basically, Chris has shown that in certain circumstances, the call to xs_error_report causes the rpc_task that is responsible for reconnecting to wake up early, thus triggering a disconnect and retry. Since the sk->sk_error_report() calls in the socket layer are always followed by a tcp_done() in the cases where we care about waking up the rpc_tasks, just let the state_change callbacks take responsibility for those wake ups. Reported-by: Chris Perl Signed-off-by: Trond Myklebust Tested-by: Chris Perl Signed-off-by: Ben Hutchings --- Reading git-diff-tree failed