From 531cc1033a8373abdbf9c74c74d095d727168995 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 13:16:27 -0500 Subject: [PATCH] net: netlink workaround silly yield() commit bf794775e976c2a059d8d88ef12715c91985a6c4 in tip. Added test for rt_task(current) to avoid deadlock with RT task calling sched_yield() Acked-by: Arnaldo Carvalho de Melo Acked-by: Luis Claudio R. Goncalves Signed-off-by: Clark Williams Cc: Steven Rostedt Cc: Arnaldo Carvalho de Melo LKML-Reference: <20090417132010.0191c749@torg> Signed-off-by: Thomas Gleixner Signed-off-by: Paul Gortmaker --- net/netlink/af_netlink.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 7954243..9ecba5c 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1077,7 +1077,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, return -ENOBUFS; if (info.delivered) { - if (info.congested && (allocation & __GFP_WAIT)) + if (info.congested && (allocation & __GFP_WAIT) && !rt_task(current)) yield(); return 0; } -- 1.7.0.4