diff --git a/net/irda/af_irda.c b/net/irda/af_irda.c
index e493b3397ae3337b4582d811febb932e0711a09e..1c2dc90fbaafaa276447e8aad183e0b49d287fdc 100644
--- a/net/irda/af_irda.c
+++ b/net/irda/af_irda.c
@@ -1120,7 +1120,7 @@ static int irda_create(struct net *net, struct socket *sock, int protocol,
 	}
 
 	/* Allocate networking socket */
-	sk = sk_alloc(net, PF_IRDA, GFP_ATOMIC, &irda_proto);
+	sk = sk_alloc(net, PF_IRDA, GFP_KERNEL, &irda_proto);
 	if (sk == NULL)
 		return -ENOMEM;