summaryrefslogtreecommitdiff
path: root/net/tipc/ib_media.c
diff options
context:
space:
mode:
authorParthasarathy Bhuvaragan <parthasarathy.bhuvaragan@gmail.com>2019-05-09 08:13:42 +0300
committerDavid S. Miller <davem@davemloft.net>2019-05-09 19:26:09 +0300
commitff946833b70e0c7f93de9a3f5b329b5ae2287b38 (patch)
tree3e765dd8dbd1455ace9773bf0a561b466fd413e8 /net/tipc/ib_media.c
parent9871a9e47a2646fe30ae7fd2e67668a8d30912f6 (diff)
downloadlinux-ff946833b70e0c7f93de9a3f5b329b5ae2287b38.tar.xz
tipc: fix hanging clients using poll with EPOLLOUT flag
commit 517d7c79bdb398 ("tipc: fix hanging poll() for stream sockets") introduced a regression for clients using non-blocking sockets. After the commit, we send EPOLLOUT event to the client even in TIPC_CONNECTING state. This causes the subsequent send() to fail with ENOTCONN, as the socket is still not in TIPC_ESTABLISHED state. In this commit, we: - improve the fix for hanging poll() by replacing sk_data_ready() with sk_state_change() to wake up all clients. - revert the faulty updates introduced by commit 517d7c79bdb398 ("tipc: fix hanging poll() for stream sockets"). Fixes: 517d7c79bdb398 ("tipc: fix hanging poll() for stream sockets") Signed-off-by: Parthasarathy Bhuvaragan <parthasarathy.bhuvaragan@gmail.com> Acked-by: Jon Maloy <jon.maloy@ericsson.se> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/ib_media.c')
0 files changed, 0 insertions, 0 deletions