From bf794775e976c2a059d8d88ef12715c91985a6c4 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 13:16:27 -0500 Subject: net: netlink workaround silly yield() 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 - --- net/netlink/af_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- net/netlink/af_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'net') diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 2936fa3b6dc8..f4e94fb17477 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@ -1061,7 +1061,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; } -- cgit v1.2.3