diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2007-03-05 21:56:28 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:27:06 +0200 |
commit | d15aead4e0287de40a4ead3510804f5ac2d34268 (patch) | |
tree | b558617baabde9df7988298e8621ccf3b6db9b32 /linux | |
parent | 6275df35e4b574f089e8266e4dccec4d5e22c403 (diff) |
Only net_packet needs splimp.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/dev/glue/net.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/linux/dev/glue/net.c b/linux/dev/glue/net.c index 0022f57..3ba0e0a 100644 --- a/linux/dev/glue/net.c +++ b/linux/dev/glue/net.c @@ -488,6 +488,7 @@ device_write (void *d, ipc_port_t reply_port, __skb_queue_tail (&dev->buffs[0], skb); mark_bh (NET_BH); } + splx (s); /* Send packet to filters. */ { @@ -512,11 +513,12 @@ device_write (void *d, ipc_port_t reply_port, + sizeof (struct packet_header); packet->type = header->ether_type; net_kmsg (kmsg)->sent = TRUE; /* Mark packet as sent. */ + s = splimp (); net_packet (&dev->net_data->ifnet, kmsg, packet->length, ethernet_priority (kmsg)); + splx (s); } } - splx (s); return MIG_NO_REPLY; } |