Commit 53f374e7 authored by Stefan Richter's avatar Stefan Richter

ieee1394: eth1394: hard_start_xmit is called in atomic context

Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
parent 09939871
...@@ -1521,7 +1521,6 @@ static void ether1394_complete_cb(void *__ptask) ...@@ -1521,7 +1521,6 @@ static void ether1394_complete_cb(void *__ptask)
/* Transmit a packet (called by kernel) */ /* Transmit a packet (called by kernel) */
static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) static int ether1394_tx(struct sk_buff *skb, struct net_device *dev)
{ {
gfp_t kmflags = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL;
struct eth1394hdr *eth; struct eth1394hdr *eth;
struct eth1394_priv *priv = netdev_priv(dev); struct eth1394_priv *priv = netdev_priv(dev);
__be16 proto; __be16 proto;
...@@ -1537,7 +1536,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) ...@@ -1537,7 +1536,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev)
struct eth1394_node_ref *node; struct eth1394_node_ref *node;
struct eth1394_node_info *node_info = NULL; struct eth1394_node_info *node_info = NULL;
ptask = kmem_cache_alloc(packet_task_cache, kmflags); ptask = kmem_cache_alloc(packet_task_cache, GFP_ATOMIC);
if (ptask == NULL) { if (ptask == NULL) {
ret = -ENOMEM; ret = -ENOMEM;
goto fail; goto fail;
...@@ -1553,7 +1552,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) ...@@ -1553,7 +1552,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev)
} }
#endif #endif
skb = skb_share_check(skb, kmflags); skb = skb_share_check(skb, GFP_ATOMIC);
if (!skb) { if (!skb) {
ret = -ENOMEM; ret = -ENOMEM;
goto fail; goto fail;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment