aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/drivers/mcast_kern.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/drivers/mcast_kern.c')
-rw-r--r--arch/um/drivers/mcast_kern.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/um/drivers/mcast_kern.c b/arch/um/drivers/mcast_kern.c
index 5027b870d11d..822092f149be 100644
--- a/arch/um/drivers/mcast_kern.c
+++ b/arch/um/drivers/mcast_kern.c
@@ -39,18 +39,15 @@ static void mcast_init(struct net_device *dev, void *data)
39 dpri->addr, dpri->port, dpri->ttl); 39 dpri->addr, dpri->port, dpri->ttl);
40} 40}
41 41
42static int mcast_read(int fd, struct sk_buff **skb, struct uml_net_private *lp) 42static int mcast_read(int fd, struct sk_buff *skb, struct uml_net_private *lp)
43{ 43{
44 *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); 44 return net_recvfrom(fd, skb_mac_header(skb),
45 if (*skb == NULL) 45 skb->dev->mtu + ETH_HEADER_OTHER);
46 return -ENOMEM;
47 return net_recvfrom(fd, skb_mac_header(*skb),
48 (*skb)->dev->mtu + ETH_HEADER_OTHER);
49} 46}
50 47
51static int mcast_write(int fd, struct sk_buff **skb, struct uml_net_private *lp) 48static int mcast_write(int fd, struct sk_buff *skb, struct uml_net_private *lp)
52{ 49{
53 return mcast_user_write(fd, (*skb)->data, (*skb)->len, 50 return mcast_user_write(fd, skb->data, skb->len,
54 (struct mcast_data *) &lp->user); 51 (struct mcast_data *) &lp->user);
55} 52}
56 53