From: Eldad Zinger Date: Wed, 17 Mar 2010 13:24:28 +0000 (+0200) Subject: sdp: BUG1727 - sdp_destroy_work() and sdp_connect() interfere with each other. X-Git-Tag: v4.1.12-92~264^2~5^2~207 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=1f2fc1aeb45de9d873e96d9dae29523d12c743ed;p=users%2Fjedix%2Flinux-maple.git sdp: BUG1727 - sdp_destroy_work() and sdp_connect() interfere with each other. This fix was done in order to make sure that sdp_destroy_work() is done before sdp_connect() is active. Signed-off-by: Eldad Zinger --- diff --git a/drivers/infiniband/ulp/sdp/sdp_main.c b/drivers/infiniband/ulp/sdp/sdp_main.c index 389a3b5779b64..787cb2eea8991 100644 --- a/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/drivers/infiniband/ulp/sdp/sdp_main.c @@ -711,6 +711,7 @@ static int sdp_connect(struct sock *sk, struct sockaddr *uaddr, int addr_len) .sin_addr.s_addr = inet_sk(sk)->saddr, }; int rc; + flush_workqueue(sdp_wq); if (addr_len < sizeof(struct sockaddr_in)) return -EINVAL;