aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2014-06-11igb: unhide invariant returnsTodd Fujinaka5-74/+66
Return a 0 directly rather than a constant. Reported-by: Peter Senna Tschudin <peter.senna@gmail.com> Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-11farsync: Fix confusion about DMA address and buffer offset typesBen Hutchings1-13/+8
Use dma_addr_t for DMA address parameters and u32 for shared memory offset parameters. Do not assume that dma_addr_t is the same as unsigned long; it will not be in PAE configurations. Truncate DMA addresses to 32 bits when printing them. This is OK because the DMA mask for this device is 32-bit (per default). Also rename the DMA address parameters from 'skb' to 'dma'. Compile-tested only. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11Merge branch 'mlx4'David S. Miller2-5/+38
Or Gerlitz says: ==================== mlx4 SRIOV fixes The patch from Wei Yang is a designed fix to a regression introduced by earlier commit of him. Jack added a fix to the resource management which we got from IBM. Let's get that into 3.16-rc1 1st and later see to what stable version/s this should go. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net/mlx4_core: Keep only one driver entry release mlx4_privWei Yang1-1/+1
Following commit befdf89 "net/mlx4_core: Preserve pci_dev_data after __mlx4_remove_one()", there are two mlx4 pci callbacks which will attempt to release the mlx4_priv object -- .shutdown and .remove. This leads to a use-after-free access to the already freed mlx4_priv instance and trigger a "Kernel access of bad area" crash when both .shutdown and .remove are called. During reboot or kexec, .shutdown is called, with the VFs probed to the host going through shutdown first and then the PF. Later, the PF will trigger VFs' .remove since VFs still have driver attached. Fix that by keeping only one driver entry which releases mlx4_priv. Fixes: befdf89 ('net/mlx4_core: Preserve pci_dev_data after __mlx4_remove_one()') CC: Bjorn Helgaas <bhelgaas@google.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net/mlx4_core: Fix SRIOV free-pool management when enforcing resource quotasJack Morgenstein1-4/+37
The Hypervisor driver tracks free slots and reserved slots at the global level and tracks allocated slots and guaranteed slots per VF. Guaranteed slots are treated as reserved by the driver, so the total reserved slots is the sum of all guaranteed slots over all the VFs. As VFs allocate resources, free (global) is decremented and allocated (per VF) is incremented for those resources. However, reserved (global) is never changed. This means that effectively, when a VF allocates a resource from its guaranteed pool, it is actually reducing that resource's free pool (since the global reserved count was not also reduced). The fix for this problem is the following: For each resource, as long as a VF's allocated count is <= its guaranteed number, when allocating for that VF, the reserved count (global) should be reduced by the allocation as well. When the global reserved count reaches zero, the remaining global free count is still accessible as the free pool for that resource. When the VF frees resources, the reverse happens: the global reserved count for a resource is incremented only once the VFs allocated number falls below its guaranteed number. This fix was developed by Rick Kready <kready@us.ibm.com> Reported-by: Rick Kready <kready@us.ibm.com> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net: wimax: i2400m: control.c: Cleaning up conjunction always evaluates to falseRickard Strandqvist1-1/+1
Logical conjunction always evaluates to false: minor < 2 && minor > 1 I guess what you wanted is rather: minor > 2 || minor < 1 This was partly found using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net: ethernet: toshiba: ps3_gelic_net.c: Cleaning up a check on a memory allocationRickard Strandqvist1-1/+1
A check on a memory allocation is checked incorrectly. This was partly found using a static code analysis program called cppcheck. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se> Acked-by: Geoff Levand <geoff@infradead.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11amd-xgbe: fix unused variable compilation warning in phylib driverfrançois romieu1-1/+1
Fix following compilation warning: [...] CC drivers/net/phy/amd-xgbe-phy.o drivers/net/phy/amd-xgbe-phy.c:1353:30: warning: ‘amd_xgbe_phy_ids’ defined but not used [-Wunused-variable] static struct mdio_device_id amd_xgbe_phy_ids[] = { ^ Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Acked-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net: filter: fix nlattr and nlattr_nest BPF testsAlexei Starovoitov1-13/+21
- 'struct nlattr' must be 2 byte aligned - provide big-endian input data for nlattr/nlattr_nest tests Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-11net: filter: cleanup A/X name usageAlexei Starovoitov4-302/+314
The macro 'A' used in internal BPF interpreter: #define A regs[insn->a_reg] was easily confused with the name of classic BPF register 'A', since 'A' would mean two different things depending on context. This patch is trying to clean up the naming and clarify its usage in the following way: - A and X are names of two classic BPF registers - BPF_REG_A denotes internal BPF register R0 used to map classic register A in internal BPF programs generated from classic - BPF_REG_X denotes internal BPF register R7 used to map classic register X in internal BPF programs generated from classic - internal BPF instruction format: struct sock_filter_int { __u8 code; /* opcode */ __u8 dst_reg:4; /* dest register */ __u8 src_reg:4; /* source register */ __s16 off; /* signed offset */ __s32 imm; /* signed immediate constant */ }; - BPF_X/BPF_K is 1 bit used to encode source operand of instruction In classic: BPF_X - means use register X as source operand BPF_K - means use 32-bit immediate as source operand In internal: BPF_X - means use 'src_reg' register as source operand BPF_K - means use 32-bit immediate as source operand Suggested-by: Chema Gonzalez <chema@google.com> Signed-off-by: Alexei Starovoitov <ast@plumgrid.com> Acked-by: Daniel Borkmann <dborkman@redhat.com> Acked-by: Chema Gonzalez <chema@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10Merge branch 'bridge_multicast_exports'David S. Miller4-113/+326
Linus Lüssing says: ==================== bridge: multicast snooping patches / exports The first patch is simply a cosmetic patch. So far I (and maybe others too?) have been regularly confusing these two structs, therefore I'd suggest renaming them and therefore making the follow-up patches easier to understand and nicer to fit in. The second patch fixes a minor issue, but probably not worth for stable. On the other hand the first two patches are also preparations for the third and fourth patch: These two patches are exporting functionality needed to marry the bridge multicast snooping with the batman-adv multicast optimizations recently added for the 3.15 kernel, allowing to use these optimzations in common setups having a bridge on top of e.g. bat0, too. So far these bridged setups would fall back to simple flooding through the batman-adv mesh network for any multicast packet entering bat0. More information about the batman-adv multicast optimizations currently implemented can be found here: http://www.open-mesh.org/projects/batman-adv/wiki/Basic-multicast-optimizations The integration on the batman-adv side could afterwards look like this, for instance: http://git.open-mesh.org/batman-adv.git/commitdiff/576b59dd3e34737c702e548b21fa72059262f796?hp=f95ce7131746c65fbcdffcf2089cab59e2c2f7ac ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10bridge: memorize and export selected IGMP/MLD querier portLinus Lüssing3-6/+68
Adding bridge support to the batman-adv multicast optimization requires batman-adv knowing about the existence of bridged-in IGMP/MLD queriers to be able to reliably serve any multicast listener behind this same bridge. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10bridge: add export of multicast database adjacent to net_devLinus Lüssing3-12/+76
With this new, exported function br_multicast_list_adjacent(net_dev) a list of IPv4/6 addresses is returned. This list contains all multicast addresses sensed by the bridge multicast snooping feature on all bridge ports of the bridge interface of net_dev, excluding addresses from the specified net_device itself. Adding bridge support to the batman-adv multicast optimization requires batman-adv knowing about the existence of bridged-in multicast listeners to be able to reliably serve them with multicast packets. Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10bridge: adhere to querier election mechanism specified by RFCsLinus Lüssing2-13/+95
MLDv1 (RFC2710 section 6), MLDv2 (RFC3810 section 7.6.2), IGMPv2 (RFC2236 section 3) and IGMPv3 (RFC3376 section 6.6.2) specify that the querier with lowest source address shall become the selected querier. So far the bridge stopped its querier as soon as it heard another querier regardless of its source address. This results in the "wrong" querier potentially becoming the active querier or a potential, unnecessary querying delay. With this patch the bridge memorizes the source address of the currently selected querier and ignores queries from queriers with a higher source address than the currently selected one. This slight optimization is supposed to make it more RFC compliant (but is rather uncritical and therefore probably not necessary to be queued for stable kernels). Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10bridge: rename struct bridge_mcast_query/querierLinus Lüssing3-95/+100
The current naming of these two structs is very random, in that reversing their naming would not make any semantical difference. This patch tries to make the naming less confusing by giving them a more specific, distinguishable naming. This is also useful for the upcoming patches reintroducing the "struct bridge_mcast_querier" but for storing information about the selected querier (no matter if our own or a foreign querier). Signed-off-by: Linus Lüssing <linus.luessing@web.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10Merge branch 'cxgb4'David S. Miller12-57/+356
Hariprasad Shenai says: ==================== Adds support for CIQ and other misc. fixes for rdma/cxgb4 This patch series adds support to allocate and use IQs specifically for indirect interrupts, adds fixes to align ISS for iWARP connections & fixes related to tcp snd/rvd window for Chelsio T4/T5 adapters on iw_cxgb4. Also changes Interrupt Holdoff Packet Count threshold of response queues for cxgb4 driver. The patches series is created against 'net-next' tree. And includes patches on cxgb4 and iw_cxgb4 driver. Since this patch-series contains cxgb4 and iw_cxgb4 patches, we would like to request this patch series to get merged via David Miller's 'net-next' tree. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10cxgb4: Change default Interrupt Holdoff Packet Count ThresholdHariprasad Shenai2-30/+40
Based on original work by Casey Leedom <leedom@chelsio.com> Signed-off-by: Casey Leedom <leedom@chelsio.com> Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10iw_cxgb4: don't truncate the recv window sizeHariprasad Shenai3-4/+53
Fixed a bug that shows up with recv window sizes that exceed the size of the RCV_BUFSIZ field in opt0 (>= 1024K). If the recv window exceeds this, then we specify the max possible in opt0, add add the rest in via a RX_DATA_ACK credits. Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connectionsHariprasad Shenai5-15/+180
Select the appropriate hw mtu index and initial sequence number to optimize hw memory performance. Add new cxgb4_best_aligned_mtu() which allows callers to provide enough information to be used to [possibly] select an MTU which will result in the TCP Data Segment Size (AKA Maximum Segment Size) to be an aligned value. If an RTR message exhange is required, then align the ISS to 8B - 1 + 4, so that after the SYN the send seqno will align on a 4B boundary. The RTR message exchange will leave the send seqno aligned on an 8B boundary. If an RTR is not required, then align the ISS to 8B - 1. The goal is to have the send seqno be 8B aligned when we send the first FPDU. Based on original work by Casey Leedom <leeedom@chelsio.com> and Steve Wise <swise@opengridcomputing.com> Signed-off-by: Casey Leedom <leedom@chelsio.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10iw_cxgb4: Allocate and use IQs specifically for indirect interruptsHariprasad Shenai8-9/+84
Currently indirect interrupts for RDMA CQs funnel through the LLD's RDMA RXQs, which also handle direct interrupts for offload CPLs during RDMA connection setup/teardown. The intended T4 usage model, however, is to have indirect interrupts flow through dedicated IQs. IE not to mix indirect interrupts with CPL messages in an IQ. This patch adds the concept of RDMA concentrator IQs, or CIQs, setup and maintained by the LLD and exported to iw_cxgb4 for use when creating CQs. RDMA CPLs will flow through the LLD's RDMA RXQs, and CQ interrupts flow through the CIQs. Design: cxgb4 creates and exports an array of CIQs for the RDMA ULD. These IQs are sized according to the max available CQs available at adapter init. In addition, these IQs don't need FL buffers since they only service indirect interrupts. One CIQ is setup per RX channel similar to the RDMA RXQs. iw_cxgb4 will utilize these CIQs based on the vector value passed into create_cq(). The num_comp_vectors advertised by iw_cxgb4 will be the number of CIQs configured, and thus the vector value will be the index into the array of CIQs. Based on original work by Steve Wise <swise@opengridcomputing.com> Signed-off-by: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10gre: allow changing mac address when device is upstephen hemminger1-0/+1
There is no need to require forcing device down on a Ethernet GRE (gretap) tunnel to change the MAC address. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10tcp: add gfp parameter to tcp_fragmentOctavian Purdila3-10/+12
tcp_fragment can be called from process context (from tso_fragment). Add a new gfp parameter to allow it to preserve atomic memory if possible. Signed-off-by: Octavian Purdila <octavian.purdila@intel.com> Reviewed-by: Christoph Paasch <christoph.paasch@uclouvain.be> Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-10Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-nextDavid S. Miller12-113/+303
Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-06-09 This series contains more updates to i40e and i40evf. Shannon adds checks for error status bits on the admin event queue and provides notification if seen. Cleans up unused variable and memory allocation which was used earlier in driver development and is no longer needed. Also fixes the driver to not complain about removing non-existent MAC addresses. Bumps the driver versions for both i40e and i40evf. Catherine fixes a function header comment to make sure the comment correctly reflects the function name. Mitch adds code to allow for additional VSIs since the number of VSIs that the firmware reports to us is a guaranteed minimum, not an absolute maximum. The hardware actually supports for more than the reported value, which we often need. Implements anti-spoofing for VFs for both MAC addresses and VLANs, as well as enable this feature by default for all VFs. Anjali changes the interrupt distribution policy to change the way resources for special features are handled. Fixes the driver to not fall back to one queue if the only feature enabled is ATR, since FD_SB and FD_ATR need to be checked independently in order to decide if we will support multiple queue or not. Allows the RSS table entry range and GPS to be any number, not necessarily a power of 2 because hardware does not restrict us to use a power of 2 GPS in the case of RSS as long as we are not sharing the RSS table with another VSI (VMDq). Frank modifies the driver to keep SR-IOV enabled in the case that RSS, VMFq, FD_SB and DCB are disabled so that SR-IOV does not get turned off unnecessarily. Jesse fixes a bug in receive checksum where the driver was not marking packets with bad checksums correctly, especially IPv6 packets with a bad checksum. To do this correctly, we need a define that may be set by hardware in rare cases. Greg fixes the driver to delete all the old and stale MAC filters for the VF VSI when the host administrator changes the VF MAC address from under its feet. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-09i40e/i40evf: bump version to 0.4.7 for i40e and 0.9.31 for i40evfShannon Nelson2-2/+2
Bumpity and Fred Worm say it's time to change the numbers again. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Change-ID: I658731d022ea23cedede4be2bfecd8b4cc68d270 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e: Allow RSS table entry range and GPS to be any number, not necessarily power of 2Anjali Singhai Jain1-3/+1
We tell the HW upper boundary of power of 2 in VSI config, but the HW does not restrict us to use just power of 2 GPS in case of RSS as long as we are not sharing the RSS table with another VSI (VMDq). We at present are not doing RSS in VMDq VSI. If we were to enable that and if the system had CPU count which was not power 2, the VMDq VSIs will see a little skewed distribution. Change-ID: I3ea797ce9065a3ca4fc4d04251bf195463410473 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e: Delete stale MAC filters after changeGreg Rose1-8/+5
Delete all the old and stale MAC filters for the VF VSI when the host administrator changes the VF MAC address from under its feet. Also don't bother to add a filter for the VSI when its going to go away anyway. Just record the new address and punch the VF reset. Change-ID: Ic0d12055926f41989d1965ccf500053729c063ad Signed-off-by: Greg Rose <gregory.v.rose@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e: Do not fall back to one queue model if the only feature enabled is ATRAnjali Singhai Jain1-0/+1
FD_SB and FD_ATR needs to be checked independently in order to decide if we will support multiple queues or not. Change-ID: I9d3274f5924c79e29efdbcf66a2fcca1fee2107f Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e/i40evf: add PPRS bit to error bits and fix bug in Rx checksumJesse Brandeburg5-40/+115
The driver was not marking packets with bad checksums correctly, especially IPv6 packets with a bad checksum. To do this correctly we need a define that may be set by hardware in rare cases. Change-ID: I1a997b72b491ded27a78ac3bce1197b2d2611130 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e: keep SR-IOV enabled in the case that RSS, VMDQ, FD_SB and DCB are disabledFrank Zhang1-3/+13
Modify the logic in i40e_determine_queue_usage() so that SR-IOV doesn't get turned off unnecessarily. Change-ID: I86ca304fa9f742a50e9ea831b887f358a6a9d53d Signed-off-by: Frank Zhang <frank_1.zhang@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-09i40e: Changes to Interrupt distribution policyAnjali Singhai Jain1-6/+19
This patch changes the way resources are distributed to special features. Change-ID: I847e49d714a1d70e97f3f994cb39bfb5e02ab016 Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: implement anti-spoofing for VFsMitch Williams3-2/+60
Our hardware supports VF antispoofing for both MAC addresses and VLANs. Enable this feature by default for all VFs and implement the netdev op to control it from the command line. Change-ID: Ifb941da22785848aa3aba6b2231be135b8ea8f31 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: don't complain about removing non-existent addressesShannon Nelson1-2/+5
We don't need to complain in the log about mac addresses that can't be deleted because they don't exist. Change-ID: I4e6370df175bf72726f06d2206c03bcbfded8387 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: remove unused variable and memory allocationShannon Nelson2-11/+0
This was a vestige of early driver development that no longer has any actual use. Change-ID: I95b5b19c4bbfaff8759197af671ebaf716cb6ab5 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: allow for more VSIsMitch Williams5-35/+45
The number of VSIs that the firmware reports to us is a guaranteed minimum, not an absolute maximum. The hardware actually supports far more than the reported value, which we often need. To allow for this, we allocate space for a larger number of VSIs than is guaranteed by the firmware, with the knowledge that we may fail to get them all in the future. Note that we are just allocating pointers here, the actual (much larger) VSI structures are allocated on demand. Change-ID: I6f4e535ce39d3bf417aef78306e04fbc7505140e Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40evf: Fix function headerCatherine Sullivan1-1/+1
Fix function header comment to have the correct function name. Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: add checks for AQ error status bitsShannon Nelson1-0/+36
Check for error status bits on the AdminQ event queue and announce them if seen. If the Firmware sets these bits, it will trigger an AdminQ interrupt to get the driver's attention to process the ARQ, which will likely be enough to clear the actual issue. Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Change-ID: I009e0ebc8be764e40e193b29aed2863f43eb5cb0 Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-nextDavid S. Miller9-38/+116
John W. Linville says: ==================== pull request: wireless-next 2014-06-06 Please accept this batch of fixes intended for the 3.16 stream. For the bluetooth bits, Gustavo says: "Here some more patches for 3.16. We know that Linus already opened the merge window, but this is fix only pull request, and most of the patches here are also tagged for stable." Along with that, Andrea Merello provides a fix for the broken scanning in the venerable at76c50x driver... ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-08Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-nextDavid S. Miller18-156/+74
Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-06-08 This series contains updates to i40e and i40evf. Jesse fixes an issue reported by Eric Dumazet where the driver was not masking the right bits in the receive descriptor before checking them. Also fixes TSO accounting since the kernel now can send as much as 32kB in a single skb->frag[.] entry, even on a system with 4kB pages. Anjali cleans up registers which are no longer supported. Akeem cleans up code comments and removes num_msix_entries from the interrupt setup routine since it was not being used. Fixes an issue where FD SB/ATR and NTUPLE configuration status were reported erroneously, so now the driver reports FDir without further information. Fixes a coding error where during the registration for NAPI, the driver was requesting 256 budget. The max recommended value for this NAPI_POLL_WEIGHT or 64. Lastly, removed deprecated device IDs because they will not be shipped. Mitch removes log messages which were redundant so therefore unnecessary. Also removes a bogus code comment since VF drivers require MSI-X or they won't get interrupts at all and cleans up the formatting of several log messages. Mitch also fixes the possibility of null pointers in VSI, since not all VSIs have transmit rings. Shannon ensures to clear the PXE mode bit on each reset after the AdminQ has been rebuilt. Catherine bumps the driver versions for i40e and i40evf. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-08i40e/i40evf: Bump build versionCatherine Sullivan2-2/+2
Bump i40e to 0.4.5 and i40evf to 0.9.29. Change-ID: I9faca5544446518c5425612e733499cf16ef20a1 Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e/i40evf: remove deprecated device IDsJesse Brandeburg5-11/+1
Remove two device IDs 1582 and 1573, because they will not be shipped. Change-ID: Ica2e550b5b21a69e3f353eba2fe5e1c532a548c4 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e/i40evf: fix poll weightJesse Brandeburg2-2/+2
Fix a coding error where during the registration for NAPI the driver requested 256 budget. The max recommended value for this is NAPI_POLL_WEIGHT or 64. Change-ID: I03ea1e2934a84ff1b5d572988b18315d6d91c5c6 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e/i40evf: fix TSO accountingJesse Brandeburg4-16/+6
The TSO logic in the transmit path had some assumptions that have been broken now that the kernel can send as much as 32kB in a single skb->frag[.] entry, even on a system with 4kB pages. This fixes the assumptions and allows the kernel to operate as efficiently as possible with both SENDFILE and SEND. In addition, the hardware limit of data contained in a descriptor is changed to the next power of two below where it currently is in order to align to a power of two value, preventing a single byte of data in a descriptor. Change-ID: I6af1f0b87c1458e10644dbd47541591075a52651 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e/i40evf: remove chatty reset messagesMitch Williams2-11/+4
Both the PF side and the VF side of the VF reset process are too noisy. We already warn the user that a reset is happening, and that is sufficient. Because some of these message are inside if statements, we have to rejigger the brackets at the same time to keep our coding style consistent. Change-ID: Id175562fb0ec7c396d9de156b4890e136f52d5f4 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: not all VSIs have ringsMitch Williams1-2/+2
Once more, with feeling: not all VSIs have rings. To assume so is to invite null pointers to your party. Change-ID: I576858824468d9712d119fa1015a1f28c27712c4 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: clear pxe after adminq is rebuiltShannon Nelson1-0/+1
Be sure to clear PXE mode bit on each reset after AdminQ has been rebuilt. Change-ID: I992d8c79594f8ca0660c50844ace675ecb9c9bf2 Signed-off-by: Shannon Nelson <shannon.nelson@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40e: Fix incorrect feature configuration statusAkeem G Abodunrin1-3/+4
This patch fixes an issue where FD SB/ATR and NTUPLE configurations status are reported erroneously. Without this patch, driver reports FDir without further information. Change-ID: I5bdd2871b7f2db1e5f5e76c741ae6a0dc603b453 Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40evf: use correct format for printing MAC addressesMitch Williams1-2/+2
The correct format is %pM, not %pMAC. Change-ID: Idb335723a966fe56db3a72b9c07c08ca66f9db3c Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40evf: clean up log message formattingMitch Williams2-14/+14
Clean up inconsistent log messages, mostly related to punctuation. Based on the dogma that "kernel messages are not sentences", remove all trailing periods. Reword a few of the messages to make them less sentence-like. Change-ID: Ibd849aa7623a77549b0709988c66ab05d1311472 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40evf: remove bogus commentMitch Williams1-3/+0
This comment is just plain false. VF drivers require MSI-X or they won't get interrupts at all. Change-ID: Iaea5e30b6926948aa834a3c506d9a9223d9e3e29 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-06-08i40evf: remove unnecessary log messagesMitch Williams2-38/+16
We don't need to print log messages when we encounter an out-of-memory condition, as the allocator will do this for us. Also, remove a Tx hang message that duplicates the one emitted by the netdev layer, and a duplicate message in the watchdog. Change-ID: If2056e6135fe248f66ea939778f9895660f4d189 Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Tested-by: Sibai Li <sibai.li@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>