aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wimax
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-02-20 21:58:50 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2013-02-20 21:58:50 -0500
commita0b1c42951dd06ec83cc1bc2c9788131d9fefcd8 (patch)
treea572f1523cf904c93020c9cdb32f3bc84ec3ac16 /drivers/net/wimax
parent8ec4942212a6d337982967778a3dc3b60aea782e (diff)
parentecd9883724b78cc72ed92c98bcb1a46c764fff21 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking update from David Miller: 1) Checkpoint/restarted TCP sockets now can properly propagate the TCP timestamp offset. From Andrey Vagin. 2) VMWARE VM VSOCK layer, from Andy King. 3) Much improved support for virtual functions and SR-IOV in bnx2x, from Ariel ELior. 4) All protocols on ipv4 and ipv6 are now network namespace aware, and all the compatability checks for initial-namespace-only protocols is removed. Thanks to Tom Parkin for helping deal with the last major holdout, L2TP. 5) IPV6 support in netpoll and network namespace support in pktgen, from Cong Wang. 6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration Protocol (MVRP) support, from David Ward. 7) Compute packet lengths more accurately in the packet scheduler, from Eric Dumazet. 8) Use per-task page fragment allocator in skb_append_datato_frags(), also from Eric Dumazet. 9) Add support for connection tracking labels in netfilter, from Florian Westphal. 10) Fix default multicast group joining on ipv6, and add anti-spoofing checks to 6to4 and 6rd. From Hannes Frederic Sowa. 11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern times, rearrange inet frag datastructures for better cacheline locality, and move more operations outside of locking. From Jesper Dangaard Brouer. 12) Instead of strict master <--> slave relationships, allow arbitrary scenerios with "upper device lists". From Jiri Pirko. 13) Improve rate limiting accuracy in TBF and act_police, also from Jiri Pirko. 14) Add a BPF filter netfilter match target, from Willem de Bruijn. 15) Orphan and delete a bunch of pre-historic networking drivers from Paul Gortmaker. 16) Add TSO support for GRE tunnels, from Pravin B SHelar. Although this still needs some minor bug fixing before it's %100 correct in all cases. 17) Handle unresolved IPSEC states like ARP, with a resolution packet queue. From Steffen Klassert. 18) Remove TCP Appropriate Byte Count support (ABC), from Stephen Hemminger. This was long overdue. 19) Support SO_REUSEPORT, from Tom Herbert. 20) Allow locking a socket BPF filter, so that it cannot change after a process drops capabilities. 21) Add VLAN filtering to bridge, from Vlad Yasevich. 22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in the ipv6 routes, from YOSHIFUJI Hideaki. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits) ipv6: fix race condition regarding dst->expires and dst->from. net: fix a wrong assignment in skb_split() ip_gre: remove an extra dst_release() ppp: set qdisc_tx_busylock to avoid LOCKDEP splat atl1c: restore buffer state net: fix a build failure when !CONFIG_PROC_FS net: ipv4: fix waring -Wunused-variable net: proc: fix build failed when procfs is not configured Revert "xen: netback: remove redundant xenvif_put" net: move procfs code to net/core/net-procfs.c qmi_wwan, cdc-ether: add ADU960S bonding: set sysfs device_type to 'bond' bonding: fix bond_release_all inconsistencies b44: use netdev_alloc_skb_ip_align() xen: netback: remove redundant xenvif_put net: fec: Do a sanity check on the gpio number ip_gre: propogate target device GSO capability to the tunnel device ip_gre: allow CSUM capable devices to handle packets bonding: Fix initialize after use for 3ad machine state spinlock bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate() ...
Diffstat (limited to 'drivers/net/wimax')
-rw-r--r--drivers/net/wimax/i2400m/fw.c1
-rw-r--r--drivers/net/wimax/i2400m/netdev.c10
-rw-r--r--drivers/net/wimax/i2400m/rx.c17
-rw-r--r--drivers/net/wimax/i2400m/usb-notif.c1
-rw-r--r--drivers/net/wimax/i2400m/usb.c6
5 files changed, 13 insertions, 22 deletions
diff --git a/drivers/net/wimax/i2400m/fw.c b/drivers/net/wimax/i2400m/fw.c
index def12b38cbf7..c9c711dcd0e6 100644
--- a/drivers/net/wimax/i2400m/fw.c
+++ b/drivers/net/wimax/i2400m/fw.c
@@ -1055,7 +1055,6 @@ int i2400m_read_mac_addr(struct i2400m *i2400m)
1055 result = 0; 1055 result = 0;
1056 } 1056 }
1057 net_dev->addr_len = ETH_ALEN; 1057 net_dev->addr_len = ETH_ALEN;
1058 memcpy(net_dev->perm_addr, ack_buf.ack_pl, ETH_ALEN);
1059 memcpy(net_dev->dev_addr, ack_buf.ack_pl, ETH_ALEN); 1058 memcpy(net_dev->dev_addr, ack_buf.ack_pl, ETH_ALEN);
1060error_read_mac: 1059error_read_mac:
1061 d_fnend(5, dev, "(i2400m %p) = %d\n", i2400m, result); 1060 d_fnend(5, dev, "(i2400m %p) = %d\n", i2400m, result);
diff --git a/drivers/net/wimax/i2400m/netdev.c b/drivers/net/wimax/i2400m/netdev.c
index 530581ca0191..48896138418f 100644
--- a/drivers/net/wimax/i2400m/netdev.c
+++ b/drivers/net/wimax/i2400m/netdev.c
@@ -599,12 +599,12 @@ static void i2400m_get_drvinfo(struct net_device *net_dev,
599{ 599{
600 struct i2400m *i2400m = net_dev_to_i2400m(net_dev); 600 struct i2400m *i2400m = net_dev_to_i2400m(net_dev);
601 601
602 strncpy(info->driver, KBUILD_MODNAME, sizeof(info->driver) - 1); 602 strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
603 strncpy(info->fw_version, 603 strlcpy(info->fw_version, i2400m->fw_name ? : "",
604 i2400m->fw_name ? : "", sizeof(info->fw_version) - 1); 604 sizeof(info->fw_version));
605 if (net_dev->dev.parent) 605 if (net_dev->dev.parent)
606 strncpy(info->bus_info, dev_name(net_dev->dev.parent), 606 strlcpy(info->bus_info, dev_name(net_dev->dev.parent),
607 sizeof(info->bus_info) - 1); 607 sizeof(info->bus_info));
608} 608}
609 609
610static const struct ethtool_ops i2400m_ethtool_ops = { 610static const struct ethtool_ops i2400m_ethtool_ops = {
diff --git a/drivers/net/wimax/i2400m/rx.c b/drivers/net/wimax/i2400m/rx.c
index 37becfcc98f2..0b602951ff6b 100644
--- a/drivers/net/wimax/i2400m/rx.c
+++ b/drivers/net/wimax/i2400m/rx.c
@@ -1346,29 +1346,22 @@ EXPORT_SYMBOL(i2400m_unknown_barker);
1346int i2400m_rx_setup(struct i2400m *i2400m) 1346int i2400m_rx_setup(struct i2400m *i2400m)
1347{ 1347{
1348 int result = 0; 1348 int result = 0;
1349 struct device *dev = i2400m_dev(i2400m);
1350 1349
1351 i2400m->rx_reorder = i2400m_rx_reorder_disabled? 0 : 1; 1350 i2400m->rx_reorder = i2400m_rx_reorder_disabled? 0 : 1;
1352 if (i2400m->rx_reorder) { 1351 if (i2400m->rx_reorder) {
1353 unsigned itr; 1352 unsigned itr;
1354 size_t size;
1355 struct i2400m_roq_log *rd; 1353 struct i2400m_roq_log *rd;
1356 1354
1357 result = -ENOMEM; 1355 result = -ENOMEM;
1358 1356
1359 size = sizeof(i2400m->rx_roq[0]) * (I2400M_RO_CIN + 1); 1357 i2400m->rx_roq = kcalloc(I2400M_RO_CIN + 1,
1360 i2400m->rx_roq = kzalloc(size, GFP_KERNEL); 1358 sizeof(i2400m->rx_roq[0]), GFP_KERNEL);
1361 if (i2400m->rx_roq == NULL) { 1359 if (i2400m->rx_roq == NULL)
1362 dev_err(dev, "RX: cannot allocate %zu bytes for "
1363 "reorder queues\n", size);
1364 goto error_roq_alloc; 1360 goto error_roq_alloc;
1365 }
1366 1361
1367 size = sizeof(*i2400m->rx_roq[0].log) * (I2400M_RO_CIN + 1); 1362 rd = kcalloc(I2400M_RO_CIN + 1, sizeof(*i2400m->rx_roq[0].log),
1368 rd = kzalloc(size, GFP_KERNEL); 1363 GFP_KERNEL);
1369 if (rd == NULL) { 1364 if (rd == NULL) {
1370 dev_err(dev, "RX: cannot allocate %zu bytes for "
1371 "reorder queues log areas\n", size);
1372 result = -ENOMEM; 1365 result = -ENOMEM;
1373 goto error_roq_log_alloc; 1366 goto error_roq_log_alloc;
1374 } 1367 }
diff --git a/drivers/net/wimax/i2400m/usb-notif.c b/drivers/net/wimax/i2400m/usb-notif.c
index d44b545f4082..fc1355d98bc6 100644
--- a/drivers/net/wimax/i2400m/usb-notif.c
+++ b/drivers/net/wimax/i2400m/usb-notif.c
@@ -199,7 +199,6 @@ int i2400mu_notification_setup(struct i2400mu *i2400mu)
199 d_fnstart(4, dev, "(i2400m %p)\n", i2400mu); 199 d_fnstart(4, dev, "(i2400m %p)\n", i2400mu);
200 buf = kmalloc(I2400MU_MAX_NOTIFICATION_LEN, GFP_KERNEL | GFP_DMA); 200 buf = kmalloc(I2400MU_MAX_NOTIFICATION_LEN, GFP_KERNEL | GFP_DMA);
201 if (buf == NULL) { 201 if (buf == NULL) {
202 dev_err(dev, "notification: buffer allocation failed\n");
203 ret = -ENOMEM; 202 ret = -ENOMEM;
204 goto error_buf_alloc; 203 goto error_buf_alloc;
205 } 204 }
diff --git a/drivers/net/wimax/i2400m/usb.c b/drivers/net/wimax/i2400m/usb.c
index 080f36303a4f..cd15a93d9084 100644
--- a/drivers/net/wimax/i2400m/usb.c
+++ b/drivers/net/wimax/i2400m/usb.c
@@ -346,9 +346,9 @@ static void i2400mu_get_drvinfo(struct net_device *net_dev,
346 struct i2400mu *i2400mu = container_of(i2400m, struct i2400mu, i2400m); 346 struct i2400mu *i2400mu = container_of(i2400m, struct i2400mu, i2400m);
347 struct usb_device *udev = i2400mu->usb_dev; 347 struct usb_device *udev = i2400mu->usb_dev;
348 348
349 strncpy(info->driver, KBUILD_MODNAME, sizeof(info->driver) - 1); 349 strlcpy(info->driver, KBUILD_MODNAME, sizeof(info->driver));
350 strncpy(info->fw_version, 350 strlcpy(info->fw_version, i2400m->fw_name ? : "",
351 i2400m->fw_name ? : "", sizeof(info->fw_version) - 1); 351 sizeof(info->fw_version));
352 usb_make_path(udev, info->bus_info, sizeof(info->bus_info)); 352 usb_make_path(udev, info->bus_info, sizeof(info->bus_info));
353} 353}
354 354