diff options
| author | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-04-01 20:23:19 -0400 |
|---|---|---|
| committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-04-29 18:00:32 -0400 |
| commit | 53f374e76c2b37835966382b27efb6bb3715f9d8 (patch) | |
| tree | ed2016ea2c6dd65476e7c5266487945ed0613396 | |
| parent | 099398719bb53119734354bc079840bebf1c7386 (diff) | |
ieee1394: eth1394: hard_start_xmit is called in atomic context
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
| -rw-r--r-- | drivers/ieee1394/eth1394.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/ieee1394/eth1394.c b/drivers/ieee1394/eth1394.c index a6c4a375125c..b5cd10786f7e 100644 --- a/drivers/ieee1394/eth1394.c +++ b/drivers/ieee1394/eth1394.c | |||
| @@ -1521,7 +1521,6 @@ static void ether1394_complete_cb(void *__ptask) | |||
| 1521 | /* Transmit a packet (called by kernel) */ | 1521 | /* Transmit a packet (called by kernel) */ |
| 1522 | static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) | 1522 | static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) |
| 1523 | { | 1523 | { |
| 1524 | gfp_t kmflags = in_interrupt() ? GFP_ATOMIC : GFP_KERNEL; | ||
| 1525 | struct eth1394hdr *eth; | 1524 | struct eth1394hdr *eth; |
| 1526 | struct eth1394_priv *priv = netdev_priv(dev); | 1525 | struct eth1394_priv *priv = netdev_priv(dev); |
| 1527 | __be16 proto; | 1526 | __be16 proto; |
| @@ -1537,7 +1536,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) | |||
| 1537 | struct eth1394_node_ref *node; | 1536 | struct eth1394_node_ref *node; |
| 1538 | struct eth1394_node_info *node_info = NULL; | 1537 | struct eth1394_node_info *node_info = NULL; |
| 1539 | 1538 | ||
| 1540 | ptask = kmem_cache_alloc(packet_task_cache, kmflags); | 1539 | ptask = kmem_cache_alloc(packet_task_cache, GFP_ATOMIC); |
| 1541 | if (ptask == NULL) { | 1540 | if (ptask == NULL) { |
| 1542 | ret = -ENOMEM; | 1541 | ret = -ENOMEM; |
| 1543 | goto fail; | 1542 | goto fail; |
| @@ -1553,7 +1552,7 @@ static int ether1394_tx(struct sk_buff *skb, struct net_device *dev) | |||
| 1553 | } | 1552 | } |
| 1554 | #endif | 1553 | #endif |
| 1555 | 1554 | ||
| 1556 | skb = skb_share_check(skb, kmflags); | 1555 | skb = skb_share_check(skb, GFP_ATOMIC); |
| 1557 | if (!skb) { | 1556 | if (!skb) { |
| 1558 | ret = -ENOMEM; | 1557 | ret = -ENOMEM; |
| 1559 | goto fail; | 1558 | goto fail; |
