diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/forcedeth.c | 16 | ||||
-rw-r--r-- | drivers/net/netconsole.c | 2 | ||||
-rw-r--r-- | drivers/net/pcmcia/nmclan_cs.c | 2 | ||||
-rw-r--r-- | drivers/net/pppoe.c | 3 |
4 files changed, 21 insertions, 2 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 66ea5fc5c2e2..5669b95162b3 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -2675,6 +2675,18 @@ static int nv_nway_reset(struct net_device *dev) | |||
2675 | return ret; | 2675 | return ret; |
2676 | } | 2676 | } |
2677 | 2677 | ||
2678 | #ifdef NETIF_F_TSO | ||
2679 | static int nv_set_tso(struct net_device *dev, u32 value) | ||
2680 | { | ||
2681 | struct fe_priv *np = netdev_priv(dev); | ||
2682 | |||
2683 | if ((np->driver_data & DEV_HAS_CHECKSUM)) | ||
2684 | return ethtool_op_set_tso(dev, value); | ||
2685 | else | ||
2686 | return value ? -EOPNOTSUPP : 0; | ||
2687 | } | ||
2688 | #endif | ||
2689 | |||
2678 | static struct ethtool_ops ops = { | 2690 | static struct ethtool_ops ops = { |
2679 | .get_drvinfo = nv_get_drvinfo, | 2691 | .get_drvinfo = nv_get_drvinfo, |
2680 | .get_link = ethtool_op_get_link, | 2692 | .get_link = ethtool_op_get_link, |
@@ -2686,6 +2698,10 @@ static struct ethtool_ops ops = { | |||
2686 | .get_regs = nv_get_regs, | 2698 | .get_regs = nv_get_regs, |
2687 | .nway_reset = nv_nway_reset, | 2699 | .nway_reset = nv_nway_reset, |
2688 | .get_perm_addr = ethtool_op_get_perm_addr, | 2700 | .get_perm_addr = ethtool_op_get_perm_addr, |
2701 | #ifdef NETIF_F_TSO | ||
2702 | .get_tso = ethtool_op_get_tso, | ||
2703 | .set_tso = nv_set_tso | ||
2704 | #endif | ||
2689 | }; | 2705 | }; |
2690 | 2706 | ||
2691 | static void nv_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) | 2707 | static void nv_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) |
diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 66e74f740261..bf58db29e2ed 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c | |||
@@ -107,7 +107,7 @@ static int init_netconsole(void) | |||
107 | 107 | ||
108 | if(!configured) { | 108 | if(!configured) { |
109 | printk("netconsole: not configured, aborting\n"); | 109 | printk("netconsole: not configured, aborting\n"); |
110 | return -EINVAL; | 110 | return 0; |
111 | } | 111 | } |
112 | 112 | ||
113 | if(netpoll_setup(&np)) | 113 | if(netpoll_setup(&np)) |
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c index 4260c2128f47..a8f6bfc96fd2 100644 --- a/drivers/net/pcmcia/nmclan_cs.c +++ b/drivers/net/pcmcia/nmclan_cs.c | |||
@@ -1204,7 +1204,7 @@ static int mace_rx(struct net_device *dev, unsigned char RxCnt) | |||
1204 | 1204 | ||
1205 | dev->last_rx = jiffies; | 1205 | dev->last_rx = jiffies; |
1206 | lp->linux_stats.rx_packets++; | 1206 | lp->linux_stats.rx_packets++; |
1207 | lp->linux_stats.rx_bytes += skb->len; | 1207 | lp->linux_stats.rx_bytes += pkt_len; |
1208 | outb(0xFF, ioaddr + AM2150_RCV_NEXT); /* skip to next frame */ | 1208 | outb(0xFF, ioaddr + AM2150_RCV_NEXT); /* skip to next frame */ |
1209 | continue; | 1209 | continue; |
1210 | } else { | 1210 | } else { |
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index 475dc930380f..0d101a18026a 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -861,6 +861,9 @@ static int __pppoe_xmit(struct sock *sk, struct sk_buff *skb) | |||
861 | * give dev_queue_xmit something it can free. | 861 | * give dev_queue_xmit something it can free. |
862 | */ | 862 | */ |
863 | skb2 = skb_clone(skb, GFP_ATOMIC); | 863 | skb2 = skb_clone(skb, GFP_ATOMIC); |
864 | |||
865 | if (skb2 == NULL) | ||
866 | goto abort; | ||
864 | } | 867 | } |
865 | 868 | ||
866 | ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr)); | 869 | ph = (struct pppoe_hdr *) skb_push(skb2, sizeof(struct pppoe_hdr)); |