X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fnet%2Fplip.c;h=f4b62405d2e5997a2639e53424481d136e776961;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=4b8256c64ce31bb027e4cbc2e7420b816752cbd8;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/drivers/net/plip.c b/drivers/net/plip.c index 4b8256c64..f4b62405d 100644 --- a/drivers/net/plip.c +++ b/drivers/net/plip.c @@ -109,11 +109,11 @@ static const char version[] = "NET3 PLIP version 2.4-parport gniibe@mri.co.jp\n" #include #include #include +#include #include #include -#include #include #include #include @@ -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: @@ -1239,8 +1242,8 @@ plip_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) static int parport[PLIP_MAX] = { [0 ... PLIP_MAX-1] = -1 }; static int timid; -MODULE_PARM(parport, "1-" __MODULE_STRING(PLIP_MAX) "i"); -MODULE_PARM(timid, "1i"); +module_param_array(parport, int, NULL, 0); +module_param(timid, int, 0); MODULE_PARM_DESC(parport, "List of parport device numbers to use by plip"); static struct net_device *dev_plip[PLIP_MAX] = { NULL, };