From 69da6af3e4c423a4bdf26854a58188fc47126b13 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Wed, 13 Jun 2012 13:04:03 +0200 Subject: [PATCH] genl: Wait for ACK after successful ctrl reply Signed-off-by: Thomas Graf --- lib/genl/ctrl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/genl/ctrl.c b/lib/genl/ctrl.c index 3902f09..e11c5c6 100644 --- a/lib/genl/ctrl.c +++ b/lib/genl/ctrl.c @@ -267,7 +267,14 @@ static struct genl_family *genl_ctrl_probe_by_name(struct nl_sock *sk, const cha nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, probe_response, (void *)ret); - nl_recvmsgs(sk, cb); + rc = nl_recvmsgs(sk, cb); + if (rc < 0) + goto out_cb_free; + + /* If search was successful, request may be ACKed after data */ + rc = wait_for_ack(sk); + if (rc < 0) + goto out_cb_free; if (genl_family_get_id(ret) != 0) { nlmsg_free(msg);