aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/forcedeth.c16
-rw-r--r--drivers/net/netconsole.c2
-rw-r--r--drivers/net/pcmcia/nmclan_cs.c2
-rw-r--r--drivers/net/pppoe.c3
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
2679static 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
2678static struct ethtool_ops ops = { 2690static 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
2691static void nv_vlan_rx_register(struct net_device *dev, struct vlan_group *grp) 2707static 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));