1. 13 Dec, 2015 5 commits
    • Mitch Williams's avatar
      i40evf: check rings before freeing resources · fdb47ae8
      Mitch Williams authored
      If the driver gets unloaded during reset recovery, it's possible
      that it will attempt to free resources when they're already free.
      
      Add a check to make sure that the Tx and Rx rings actually exist
      before dereferencing them to free resources.
      
      Change-ID: I4d2b7e9ede49f634d421a4c5deaa5446bc755eee
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      fdb47ae8
    • Mitch Williams's avatar
      i40e: don't add zero MAC filter · b7b713a8
      Mitch Williams authored
      When VFs are created, the MAC address defaults to all zeros, indicating
      to the VF driver that it should use a random MAC address. However, the
      PF driver was incorrectly adding this zero MAC to the filter table,
      along with the VF's randomly generated MAC address.
      
      Check for a good address before adding the default filter. While we're
      at it, make the error message a bit more useful.
      
      Change-ID: Ia100947d68140e0f73a19ba755cbffc3e79a8fcf
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b7b713a8
    • Mitch Williams's avatar
      i40e: properly delete VF MAC filters · b36e9ab5
      Mitch Williams authored
      The virtual channel interface was using incorrect semantics to remove
      MAC addresses, which would leave incorrect filters active when using
      VLANs. To correct this, add a new function that unconditionally removes
      MAC addresses from all VLANs, and call this function when the VF
      requests a MAC filter removal.
      
      Change-ID: I69826908ae4f6c847f5bf9b32f11faa760189c74
      Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b36e9ab5
    • Jesse Brandeburg's avatar
      i40e: chomp the BIT(_ULL) · 75f5cea9
      Jesse Brandeburg authored
      BIT_ULL was used on a u32 or less where it can simply be BIT. This
      fixes some trivial static analyzer warnings. Chomp, chomp.
      
      Tested with objdump of binary before and after, no changes to code.
      
      Change-ID: I6245e9abd447192dbde1669c747aeb2878126c7d
      Signed-off-by: default avatarJesse Brandeburg <jesse.brandeburg@intel.com>
      Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
      75f5cea9
    • David S. Miller's avatar
      Merge branch '10GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · 1d72135d
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      10GbE Intel Wired LAN Driver Updates 2015-12-12
      
      This series contains updates to ixgbe only.
      
      Alex Duyck provides almost off of the changes in this series.  First, add a
      check to make sure mac_table was actually allocated and is not NULL to
      ensure we do not get a NULL pointer dereference further down the line.
      Fixed SR-IOV VLAN pool configuration since the code for checking the PF bit
      in ixgbe_set_vf_vlan_msg() was using the wrong offset.  Cleanup/simplify
      the logic for setting the VFTA register by removing the number of
      conditional checks needed.  Fixed a number of issues within the VLVF and
      VLFB configuration by simplifying the code.  Added support for bypassing
      the VLVF entry creation when the PF is adding a new VLAN.  Reduced the
      complexity of the search function used for finding a VLVF entry associated
      with a given VLAN ID.  Added support for VLAN promiscuous with SR-IOV
      enabled by setting all the bits in the VFTA and all of the VLVF bits
      associated with teh pool belonging to the PF, in addition to cleaning up
      those same bits in the event of promiscuous mode being disabled.  Fixed
      and issue where we ran the risk of leaking an address into pool 0 which
      really belongs to VF 0 when SR-IOV is enabled.
      
      Emil fixes an issue with some X550 devices which can connect at 2.5Gbps,
      but only with certain link partners during fail-over, so to avoid
      confusion, we do not report it as supported.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d72135d
  2. 12 Dec, 2015 35 commits