aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-18ipvs: stats should not depend on CPU 0Julian Anastasov1-1/+3
When reading percpu stats we need to properly reset the sum when CPU 0 is not present in the possible mask. Signed-off-by: Julian Anastasov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-09-18ipvs: do not use dest after ip_vs_dest_put in LBLCRJulian Anastasov1-30/+20
commit c5549571f975ab ("ipvs: convert lblcr scheduler to rcu") allows RCU readers to use dest after calling ip_vs_dest_put(). In the corner case it can race with ip_vs_dest_trash_expire() which can release the dest while it is being returned to the RCU readers as scheduling result. To fix the problem do not allow e->dest to be replaced and defer the ip_vs_dest_put() call by using RCU callback. Now e->dest does not need to be RCU pointer. Signed-off-by: Julian Anastasov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-09-18ipvs: do not use dest after ip_vs_dest_put in LBLCJulian Anastasov1-37/+31
commit c2a4ffb70eef39 ("ipvs: convert lblc scheduler to rcu") allows RCU readers to use dest after calling ip_vs_dest_put(). In the corner case it can race with ip_vs_dest_trash_expire() which can release the dest while it is being returned to the RCU readers as scheduling result. To fix the problem do not allow en->dest to be replaced and defer the ip_vs_dest_put() call by using RCU callback. Now en->dest does not need to be RCU pointer. Signed-off-by: Julian Anastasov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-09-18ipvs: make the service replacement more robustJulian Anastasov3-58/+47
commit 578bc3ef1e473a ("ipvs: reorganize dest trash") added IP_VS_DEST_STATE_REMOVING flag and RCU callback named ip_vs_dest_wait_readers() to keep dests and services after removal for at least a RCU grace period. But we have the following corner cases: - we can not reuse the same dest if its service is removed while IP_VS_DEST_STATE_REMOVING is still set because another dest removal in the first grace period can not extend this period. It can happen when ipvsadm -C && ipvsadm -R is used. - dest->svc can be replaced but ip_vs_in_stats() and ip_vs_out_stats() have no explicit read memory barriers when accessing dest->svc. It can happen that dest->svc was just freed (replaced) while we use it to update the stats. We solve the problems as follows: - IP_VS_DEST_STATE_REMOVING is removed and we ensure a fixed idle period for the dest (IP_VS_DEST_TRASH_PERIOD). idle_start will remember when for first time after deletion we noticed dest->refcnt=0. Later, the connections can grab a reference while in RCU grace period but if refcnt becomes 0 we can safely free the dest and its svc. - dest->svc becomes RCU pointer. As result, we add explicit RCU locking in ip_vs_in_stats() and ip_vs_out_stats(). - __ip_vs_unbind_svc is renamed to __ip_vs_svc_put(), it now can free the service immediately or after a RCU grace period. dest->svc is not set to NULL anymore. As result, unlinked dests and their services are freed always after IP_VS_DEST_TRASH_PERIOD period, unused services are freed after a RCU grace period. Signed-off-by: Julian Anastasov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-09-18ipvs: fix overflow on dest weight multiplySimon Kirby6-20/+20
Schedulers such as lblc and lblcr require the weight to be as high as the maximum number of active connections. In commit b552f7e3a9524abcbcdf ("ipvs: unify the formula to estimate the overhead of processing connections"), the consideration of inactconns and activeconns was cleaned up to always count activeconns as 256 times more important than inactconns. In cases where 3000 or more connections are expected, a weight of 3000 * 256 * 3000 connections overflows the 32-bit signed result used to determine if rescheduling is required. On amd64, this merely changes the multiply and comparison instructions to 64-bit. On x86, a 64-bit result is already present from imull, so only a few more comparison instructions are emitted. Signed-off-by: Simon Kirby <[email protected]> Acked-by: Julian Anastasov <[email protected]> Signed-off-by: Simon Horman <[email protected]>
2013-09-17Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nfDavid S. Miller11-31/+36
Pablo Neira Ayuso says: ==================== The following patchset contains Netfilter fixes for you net tree, mostly targeted to ipset, they are: * Fix ICMPv6 NAT due to wrong comparison, code instead of type, from Phil Oester. * Fix RCU race in conntrack extensions release path, from Michal Kubecek. * Fix missing inversion in the userspace ipset test command match if the nomatch option is specified, from Jozsef Kadlecsik. * Skip layer 4 protocol matching in ipset in case of IPv6 fragments, also from Jozsef Kadlecsik. * Fix sequence adjustment in nfnetlink_queue due to using the netlink skb instead of the network skb, from Gao feng. * Make sure we cannot swap of sets with different layer 3 family in ipset, from Jozsef Kadlecsik. * Fix possible bogus matching in ipset if hash sets with net elements are used, from Oliver Smith. ==================== Signed-off-by: David S. Miller <[email protected]>
2013-09-17vxlan: Avoid creating fdb entry with NULL destinationSridhar Samudrala1-9/+13
Commit afbd8bae9c798c5cdbe4439d3a50536b5438247c vxlan: add implicit fdb entry for default destination creates an implicit fdb entry for default destination. This results in an invalid fdb entry if default destination is not specified. For ex: ip link add vxlan1 type vxlan id 100 creates the following fdb entry 00:00:00:00:00:00 dev vxlan1 dst 0.0.0.0 self permanent This patch fixes this issue by creating an fdb entry only if a valid default destination is specified. Signed-off-by: Sridhar Samudrala <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-17tcp: fix RTO calculated from cached RTTNeal Cardwell1-1/+3
Commit 1b7fdd2ab5852 ("tcp: do not use cached RTT for RTT estimation") did not correctly account for the fact that crtt is the RTT shifted left 3 bits. Fix the calculation to consistently reflect this fact. Signed-off-by: Neal Cardwell <[email protected]> Cc: Eric Dumazet <[email protected]> Cc: Yuchung Cheng <[email protected]> Acked-by: Eric Dumazet <[email protected]> Acked-By: Yuchung Cheng <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-17drivers: net: phy: cicada.c: clears warning Use #include <linux/io.h> ↵Avinash Kumar1-2/+2
instead of <asm/io.h> clears following warnings : WARNING: Use include <linux/io.h> instead of <asm/io.h> WARNING: Use include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Avinash Kumar <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-17net loopback: Set loopback_dev to NULL when freedEric W. Biederman1-0/+1
It has recently turned up that we have a number of long standing bugs in the network stack cleanup code with use of the loopback device after it has been freed that have not turned up because in most cases the storage allocated to the loopback device is not reused, when those accesses happen. Set looback_dev to NULL to trigger oopses instead of silent data corrupt when we hit this class of bug. Signed-off-by: "Eric W. Biederman" <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-17netfilter: nfnetlink_queue: use network skb for sequence adjustmentGao feng1-1/+1
Instead of the netlink skb. Signed-off-by: Gao feng <[email protected]> Signed-off-by: Pablo Neira Ayuso <[email protected]>
2013-09-16Merge branch 'sfc-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfcDavid S. Miller4-22/+43
Ben Hutchings says: ==================== Some bug fixes and future-proofing for the recently added SFC9120 support: 1. Minimal support for the 40G configuration. 2. Disable the incomplete PTP/hardware timestamping support. 3. Reset MAC stats properly after a firmware upgrade. 4. Re-check the datapath firmware capabilities after the controller is reset. ==================== Signed-off-by: David S. Miller <[email protected]>
2013-09-16net: sctp: rfc4443: do not report ICMP redirects to user spaceDaniel Borkmann2-3/+2
Adapt the same behaviour for SCTP as present in TCP for ICMP redirect messages. For IPv6, RFC4443, section 2.4. says: ... (e) An ICMPv6 error message MUST NOT be originated as a result of receiving the following: ... (e.2) An ICMPv6 redirect message [IPv6-DISC]. ... Therefore, do not report an error to user space, just invoke dst's redirect callback and leave, same for IPv4 as done in TCP as well. The implication w/o having this patch could be that the reception of such packets would generate a poll notification and in worst case it could even tear down the whole connection. Therefore, stop updating sk_err on redirects. Reported-by: Duan Jiong <[email protected]> Reported-by: Hannes Frederic Sowa <[email protected]> Suggested-by: Vlad Yasevich <[email protected]> Signed-off-by: Daniel Borkmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16net: usb: cdc_ether: use usb.h macros whenever possibleFabio Porcedda1-46/+17
Use USB_DEVICE_AND_INTERFACE_INFO and USB_VENDOR_AND_INTERFACE_INFO macros to reduce boilerplate. Signed-off-by: Fabio Porcedda <[email protected]> Acked-by: Oliver Neukum <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16net: usb: cdc_ether: fix checkpatch errors and warningsFabio Porcedda1-27/+20
Signed-off-by: Fabio Porcedda <[email protected]> Acked-by: Oliver Neukum <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16net: usb: cdc_ether: Use wwan interface for Telit modulesFabio Porcedda1-0/+5
Signed-off-by: Fabio Porcedda <[email protected]> Cc: <[email protected]> # 3.0+ as far back as it applies cleanly Acked-by: Oliver Neukum <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16ip6_tunnels: raddr and laddr are inverted in nl msgDing Zhi1-2/+2
IFLA_IPTUN_LOCAL and IFLA_IPTUN_REMOTE were inverted. Introduced by c075b13098b3 (ip6tnl: advertise tunnel param via rtnl). Signed-off-by: Ding Zhi <[email protected]> Signed-off-by: Nicolas Dichtel <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16bgmac: implement unaligned addressing for DMA rings that support itRafał Miłecki2-10/+30
This is important patch for new devices that support unaligned addressing. That devices suffer from the backward-compatibility bug in DMA engine. In theory we should be able to use old mechanism, but in practice DMA address seems to be randomly copied into status register when hardware reaches end of a ring. This breaks reading slot number from status register and we can't use DMA anymore. Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16bgmac: allow bigger et_swtype nvram variableHauke Mehrtens1-2/+2
Without this patch it is impossible to read et_swtype, because the 1 byte space is needed for the terminating null byte. The max expected value is 0xF, so now it should be possible to read decimal form ("15") and hex form ("0xF"). Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Rafał Miłecki <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16bgmac: fix internal switch initializationRafał Miłecki2-2/+2
Some devices (BCM4749, BCM5357, BCM53572) have internal switch that requires initialization. We already have code for this, but because of the typo in code it was never working. This resulted in network not working for some routers and possibility of soft-bricking them. Use correct bit for switch initialization and fix typo in the define. Signed-off-by: Rafał Miłecki <[email protected]> Cc: [email protected] Signed-off-by: David S. Miller <[email protected]>
2013-09-16drivers/net/ethernet/ibm/ehea/ehea_main.c: add alias entry for portN propertiesOlaf Hering1-1/+13
Use separate table for alias entries in the ehea module, otherwise the probe() function will operate on the separate ports instead of the lhea-"root" entry of the device-tree Addresses https://bugzilla.novell.com/show_bug.cgi?id=435215 [ Thadeu notes that: "... this issue might happen with the generation of initrd, when the scripts check for /sys/class/net/eth0/device/modalias, which links to the port device at /sys/devices/ibmebus/23c00400.lhea/port0/" ] Signed-off-by: Jeff Mahoney <[email protected]> Signed-off-by: Olaf Hering <[email protected]> Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Acked-by: Thadeu Lima de Souza Cascardo <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-16netfilter: ipset: Fix serious failure in CIDR trackingOliver Smith1-12/+16
This fixes a serious bug affecting all hash types with a net element - specifically, if a CIDR value is deleted such that none of the same size exist any more, all larger (less-specific) values will then fail to match. Adding back any prefix with a CIDR equal to or more specific than the one deleted will fix it. Steps to reproduce: ipset -N test hash:net ipset -A test 1.1.0.0/16 ipset -A test 2.2.2.0/24 ipset -T test 1.1.1.1 #1.1.1.1 IS in set ipset -D test 2.2.2.0/24 ipset -T test 1.1.1.1 #1.1.1.1 IS NOT in set This is due to the fact that the nets counter was unconditionally decremented prior to the iteration that shifts up the entries. Now, we first check if there is a proceeding entry and if not, decrement it and return. Otherwise, we proceed to iterate and then zero the last element, which, in most cases, will already be zero. Signed-off-by: Oliver Smith <[email protected]> Signed-off-by: Jozsef Kadlecsik <[email protected]>
2013-09-16netfilter: ipset: Validate the set family and not the set type family at ↵Jozsef Kadlecsik1-1/+1
swapping This closes netfilter bugzilla #843, reported by Quentin Armitage. Signed-off-by: Jozsef Kadlecsik <[email protected]>
2013-09-16netfilter: ipset: Consistent userspace testing with nomatch flagJozsef Kadlecsik6-12/+13
The "nomatch" commandline flag should invert the matching at testing, similarly to the --return-nomatch flag of the "set" match of iptables. Until now it worked with the elements with "nomatch" flag only. From now on it works with elements without the flag too, i.e: # ipset n test hash:net # ipset a test 10.0.0.0/24 nomatch # ipset t test 10.0.0.1 10.0.0.1 is NOT in set test. # ipset t test 10.0.0.1 nomatch 10.0.0.1 is in set test. # ipset a test 192.168.0.0/24 # ipset t test 192.168.0.1 192.168.0.1 is in set test. # ipset t test 192.168.0.1 nomatch 192.168.0.1 is NOT in set test. Before the patch the results were ... # ipset t test 192.168.0.1 192.168.0.1 is in set test. # ipset t test 192.168.0.1 nomatch 192.168.0.1 is in set test. Signed-off-by: Jozsef Kadlecsik <[email protected]>
2013-09-16netfilter: ipset: Skip really non-first fragments for IPv6 when getting ↵Jozsef Kadlecsik1-2/+2
port/protocol Signed-off-by: Jozsef Kadlecsik <[email protected]>
2013-09-15cxgb4: remove workqueue when driver registration failsWei Yang1-1/+3
When driver registration fails, we need to clean up the resources allocated before. cxgb4 missed to destroy the workqueue allocated at the very beginning. This patch destroies the workqueue when registration fails. Signed-off-by: Wei Yang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15isdn: hfcpci_softirq: get func return to suppress compiler warningAntonio Alecrim Jr1-2/+2
Signed-off-by: Antonio Alecrim Jr <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15bonding: Make alb learning packet interval configurableNeil Horman6-5/+53
running bonding in ALB mode requires that learning packets be sent periodically, so that the switch knows where to send responding traffic. However, depending on switch configuration, there may not be any need to send traffic at the default rate of 3 packets per second, which represents little more than wasted data. Allow the ALB learning packet interval to be made configurable via sysfs Signed-off-by: Neil Horman <[email protected]> Acked-by: Acked-by: Veaceslav Falico <[email protected]> CC: Jay Vosburgh <[email protected]> CC: Andy Gospodarek <[email protected]> CC: "David S. Miller" <[email protected]> Signed-off-by: Andy Gospodarek <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15atm: nicstar: fix regression made by previous patchAndy Shevchenko1-1/+1
The commit 8390f814 "atm: nicstar: re-use native mac_pton() helper" did a usefull thing. However, mac_pton() returns 1 in the case of the successfully parsed input. This patch fixes a typo. Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15vxlan: Fix sparse warningsJoseph Gasparakis2-14/+12
This patch fixes sparse warnings when incorrectly handling the port number and using int instead of unsigned int iterating through &vn->sock_list[]. Keeping the port as __be16 also makes things clearer wrt endianess. Also, it was pointed out that vxlan_get_rx_port() had unnecessary checks which got removed. Signed-off-by: Joseph Gasparakis <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15qlcnic: Fix VF reset recoveryManish Chopra1-0/+1
o At the time of firmware hang "adapter->need_fw_reset" variable gets set but after re-initialization of firmware OR at the time of VF re-initialization that variable was not getting cleared which was leading to failure in VF reset recovery.Fix it by clearing this variable before re-initializing VF Signed-off-by: Manish Chopra <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15bridge: fix NULL pointer deref of br_port_get_rcuHong Zhiguo1-4/+1
The NULL deref happens when br_handle_frame is called between these 2 lines of del_nbp: dev->priv_flags &= ~IFF_BRIDGE_PORT; /* --> br_handle_frame is called at this time */ netdev_rx_handler_unregister(dev); In br_handle_frame the return of br_port_get_rcu(dev) is dereferenced without check but br_port_get_rcu(dev) returns NULL if: !(dev->priv_flags & IFF_BRIDGE_PORT) Eric Dumazet pointed out the testing of IFF_BRIDGE_PORT is not necessary here since we're in rcu_read_lock and we have synchronize_net() in netdev_rx_handler_unregister. So remove the testing of IFF_BRIDGE_PORT and by the previous patch, make sure br_port_get_rcu is called in bridging code. Signed-off-by: Hong Zhiguo <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15bridge: use br_port_get_rtnl within rtnl lockHong Zhiguo2-3/+3
current br_port_get_rcu is problematic in bridging path (NULL deref). Change these calls in netlink path first. Signed-off-by: Hong Zhiguo <[email protected]> Acked-by: Eric Dumazet <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: ps3_gelic: remove deprecated IRQF_DISABLEDMichael Opdenacker1-1/+1
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/toshiba/ps3_gelic_net.c It's a NOOP since 2.6.35 and I will remove it one day ;) Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: smsc: remove deprecated IRQF_DISABLEDMichael Opdenacker2-3/+2
This patch proposes to remove the IRQF_DISABLED flag from code in drivers/net/ethernet/smsc/ It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: pasemi: remove deprecated IRQF_DISABLEDMichael Opdenacker1-2/+2
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/pasemi/pasemi_mac.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: natsemi: remove deprecated IRQF_DISABLEDMichael Opdenacker2-4/+2
This patch proposes to remove the IRQF_DISABLED flag from code in drivers/net/ethernet/natsemi/ It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: ks8851-ml: remove deprecated IRQF_DISABLEDMichael Opdenacker1-1/+1
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/micrel/ks8851_mll.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: pxa168_eth: remove deprecated IRQF_DISABLEDMichael Opdenacker1-2/+1
Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: lantiq_etop: remove deprecated IRQF_DISABLEDMichael Opdenacker1-4/+2
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/lantiq_etop.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: hp100: remove deprecated IRQF_DISABLEDMichael Opdenacker1-1/+1
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/hp/hp100.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-15net: fec: remove deprecated IRQF_DISABLEDMichael Opdenacker1-1/+1
This patch proposes to remove the IRQF_DISABLED flag from drivers/net/ethernet/freescale/fec_main.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13tg3: Use pci_dev pm_capJon Mason2-4/+2
Use the already existing pm_cap variable in struct pci_dev for determining the power management offset. This saves the driver from having to keep track of an extra variable. Signed-off-by: Jon Mason <[email protected]> Cc: Nithin Nayak Sujir <[email protected]> Cc: Michael Chan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13bnx2x: Use pci_dev pm_capJon Mason4-12/+11
Use the already existing pm_cap variable in struct pci_dev for determining the power management offset. This saves the driver from having to keep track of an extra variable. Signed-off-by: Jon Mason <[email protected]> Cc: Eilon Greenstein <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13alx: remove redundant D0 power state setYijing Wang1-7/+2
Pci_enable_device_mem() will set device power state to D0, so it's no need to do it again in alx_probe(). Also remove redundant PM Cap find code, because pci core has been saved the pci device pm cap value. Signed-off-by: Yijing Wang <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13be2net: missing variable initializationAntonio Alecrim Jr1-1/+1
Signed-off-by: Antonio Alecrim Jr <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13isdn: clean up debug format string usageKees Cook19-79/+57
Avoid unneeded local string buffers for constructing debug output. Also cleans up debug calls that contain a single parameter so that they cannot be accidentally parsed as format strings. Signed-off-by: Kees Cook <[email protected]> Cc: Karsten Keil <[email protected]> Cc: David Miller <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13drivers/atm/he.c: convert to module_pci_driverLibo Chen1-12/+1
Signed-off-by: Libo Chen <[email protected]> Cc: Chas Williams <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2013-09-13Merge branch 'master' of ↵David S. Miller7-9/+61
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates This series contains updates to ixgbe and e1000e. Jacob provides a ixgbe patch to fix the configure_rx patch to properly disable RSC hardware logic when a user disables it. Previously we only disabled RSC in the queue settings, but this does not fully disable hardware RSC logic which can lead to unexpected performance issues. Emil provides three fixes for ixgbe. First fixes the ethtool loopback test when DCB is enabled, where the frames may be modified on Tx (by adding VLAN tag) which will fail the check on receive. Then a fix for QSFP+ modules, limit the speed setting to advertise only one speed at a time since the QSFP+ modules do not support auto negotiation. Lastly, resolve an issue where the driver will display incorrect info for QSFP+ modules that were inserted after the driver has been loaded. David Ertman provides to fixes for e1000e, one removes a comparison to the boolean value true where evaluating the lvalue will produce the same result. The other fixes an error in the calculation of the rar_entry_count, which causes a write of unkown/undefined register space in the MAC to unknown/undefined register space in the PHY. ==================== Signed-off-by: David S. Miller <[email protected]>
2013-09-13e1000e: fix overrun of PHY RAR arrayDavid Ertman3-6/+17
When copying the MAC RAR registers to PHY there is an error in the calculation of the rar_entry_count, which causes a write of unknown/ undefined register space in the MAC to unknown/undefined register space in the PHY. This patch fixes the overrun with writing to the PHY RAR and also fixes the ethtool offline register tests so that the correctly addressed registers have the appropriate bitmasks for R/W and RO bits for affected parts. Shawn Rader gets credit for finding and fixing the register overrun. Signed-off-by: Dave Ertman <[email protected]> CC: Shawn Rader <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>