vserver 1.9.3
[linux-2.6.git] / drivers / net / plip.c
index 4b8256c..937b619 100644 (file)
@@ -547,7 +547,7 @@ static unsigned short plip_type_trans(struct sk_buff *skb, struct net_device *de
        
        skb->mac.raw=skb->data;
        skb_pull(skb,dev->hard_header_len);
-       eth= skb->mac.ethernet;
+       eth = eth_hdr(skb);
        
        if(*eth->h_dest&1)
        {
@@ -1217,7 +1217,10 @@ static int
 plip_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
 {
        struct net_local *nl = netdev_priv(dev);
-       struct plipconf *pc = (struct plipconf *) &rq->ifr_data;
+       struct plipconf *pc = (struct plipconf *) &rq->ifr_ifru;
+
+       if (cmd != SIOCDEVPLIP)
+               return -EOPNOTSUPP;
 
        switch(pc->pcmd) {
        case PLIP_GET_TIMEOUT: