diff options
Diffstat (limited to 'drivers/net/ibmveth.c')
-rw-r--r-- | drivers/net/ibmveth.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index f2b937966950..092fb9d76693 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c | |||
@@ -49,6 +49,7 @@ | |||
49 | #include <linux/proc_fs.h> | 49 | #include <linux/proc_fs.h> |
50 | #include <linux/in.h> | 50 | #include <linux/in.h> |
51 | #include <linux/ip.h> | 51 | #include <linux/ip.h> |
52 | #include <linux/slab.h> | ||
52 | #include <net/net_namespace.h> | 53 | #include <net/net_namespace.h> |
53 | #include <asm/hvcall.h> | 54 | #include <asm/hvcall.h> |
54 | #include <asm/atomic.h> | 55 | #include <asm/atomic.h> |
@@ -956,7 +957,7 @@ static netdev_tx_t ibmveth_start_xmit(struct sk_buff *skb, | |||
956 | } else { | 957 | } else { |
957 | tx_packets++; | 958 | tx_packets++; |
958 | tx_bytes += skb->len; | 959 | tx_bytes += skb->len; |
959 | netdev->trans_start = jiffies; | 960 | netdev->trans_start = jiffies; /* NETIF_F_LLTX driver :( */ |
960 | } | 961 | } |
961 | 962 | ||
962 | if (!used_bounce) | 963 | if (!used_bounce) |
@@ -1072,7 +1073,7 @@ static void ibmveth_set_multicast_list(struct net_device *netdev) | |||
1072 | ibmveth_error_printk("h_multicast_ctrl rc=%ld when entering promisc mode\n", lpar_rc); | 1073 | ibmveth_error_printk("h_multicast_ctrl rc=%ld when entering promisc mode\n", lpar_rc); |
1073 | } | 1074 | } |
1074 | } else { | 1075 | } else { |
1075 | struct dev_mc_list *mclist; | 1076 | struct netdev_hw_addr *ha; |
1076 | /* clear the filter table & disable filtering */ | 1077 | /* clear the filter table & disable filtering */ |
1077 | lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, | 1078 | lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, |
1078 | IbmVethMcastEnableRecv | | 1079 | IbmVethMcastEnableRecv | |
@@ -1083,10 +1084,10 @@ static void ibmveth_set_multicast_list(struct net_device *netdev) | |||
1083 | ibmveth_error_printk("h_multicast_ctrl rc=%ld when attempting to clear filter table\n", lpar_rc); | 1084 | ibmveth_error_printk("h_multicast_ctrl rc=%ld when attempting to clear filter table\n", lpar_rc); |
1084 | } | 1085 | } |
1085 | /* add the addresses to the filter table */ | 1086 | /* add the addresses to the filter table */ |
1086 | netdev_for_each_mc_addr(mclist, netdev) { | 1087 | netdev_for_each_mc_addr(ha, netdev) { |
1087 | // add the multicast address to the filter table | 1088 | // add the multicast address to the filter table |
1088 | unsigned long mcast_addr = 0; | 1089 | unsigned long mcast_addr = 0; |
1089 | memcpy(((char *)&mcast_addr)+2, mclist->dmi_addr, 6); | 1090 | memcpy(((char *)&mcast_addr)+2, ha->addr, 6); |
1090 | lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, | 1091 | lpar_rc = h_multicast_ctrl(adapter->vdev->unit_address, |
1091 | IbmVethMcastAddFilter, | 1092 | IbmVethMcastAddFilter, |
1092 | mcast_addr); | 1093 | mcast_addr); |
@@ -1577,7 +1578,7 @@ static struct attribute * veth_pool_attrs[] = { | |||
1577 | NULL, | 1578 | NULL, |
1578 | }; | 1579 | }; |
1579 | 1580 | ||
1580 | static struct sysfs_ops veth_pool_ops = { | 1581 | static const struct sysfs_ops veth_pool_ops = { |
1581 | .show = veth_pool_show, | 1582 | .show = veth_pool_show, |
1582 | .store = veth_pool_store, | 1583 | .store = veth_pool_store, |
1583 | }; | 1584 | }; |