patch-2.4.0-test6 linux/net/ipx/af_spx.c

Next file: linux/net/irda/Makefile
Previous file: linux/net/ipv6/sit.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test5/linux/net/ipx/af_spx.c linux/net/ipx/af_spx.c
@@ -441,8 +441,10 @@
 		save_flags(flags);
 		cli();
         	skb = sock_alloc_send_skb(sk, size, 1, 0, &err);
-        	if(skb == NULL)
+        	if(skb == NULL) {
+			restore_flags(flags);
                 	return (-ENOMEM);
+		}
         	skb_reserve(skb, offset);
         	skb->h.raw = skb->nh.raw = skb_put(skb,sizeof(struct ipxspxhdr));
 		restore_flags(flags);
@@ -741,9 +743,9 @@
 
 	cli();
         skb  	= sock_alloc_send_skb(sk, size, 0, flags&MSG_DONTWAIT, &err);
+	sti();
         if(skb == NULL)
                 return (err);
-	sti();
 
 	skb->sk = sk;
         skb_reserve(skb, offset);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)