Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
Conflicts: drivers/net/ethernet/intel/i40e/i40e_main.c Jeff Kirsher says: ==================== 40GbE Intel Wired LAN Driver Updates 2016-07-22 This series contains updates to i40e and i40evf. Heinrich Schuchardt found a possible null pointer being dereferenced in i40e_debug_aq(), fixed the issue by doing the variable assignment after we are sure the pointer is not null. Avinash fixed an issue when link was down, we were not showing the correct advertised link modes. Mitch cleans up a useless initializer since the variable is assigned right away. Refactors the receive filter handling to properly track filter adds and deletes so the driver will not lose filters during a reset and up/down cycles. Also added a tracking mechanism so that the driver knows when to enter and leave promiscuous mode. Catherine removes a device id which is not needed (or used). Moves a mutex lock since we need to lock the client list around the i40e_client_release() call to prevent the release from interrupting the client instances while they are being added. Joshua adds Hyper-V specific VF device ids. Amitoj Kaur Chawla cleans up a redundant memset() call before a memcpy(). Stefan Assmann adds the missing link advertise for some x710 NICs. Tushar Dave fixes and issue found on SPARC, where a PF reset clears MAC filters and if a platform-specific MAC address is used, the driver has to explicitly write default MAC address to MAC filters otherwise all incoming traffic destined to the default MAC address will be dropped after reset. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -59,7 +59,6 @@ i40e_status i40e_set_mac_type(struct i40e_hw *hw)
|
||||
case I40E_DEV_ID_1G_BASE_T_X722:
|
||||
case I40E_DEV_ID_10G_BASE_T_X722:
|
||||
case I40E_DEV_ID_SFP_I_X722:
|
||||
case I40E_DEV_ID_QSFP_I_X722:
|
||||
hw->mac.type = I40E_MAC_X722;
|
||||
break;
|
||||
case I40E_DEV_ID_X722_VF:
|
||||
|
@@ -45,7 +45,6 @@
|
||||
#define I40E_DEV_ID_1G_BASE_T_X722 0x37D1
|
||||
#define I40E_DEV_ID_10G_BASE_T_X722 0x37D2
|
||||
#define I40E_DEV_ID_SFP_I_X722 0x37D3
|
||||
#define I40E_DEV_ID_QSFP_I_X722 0x37D4
|
||||
#define I40E_DEV_ID_X722_VF 0x37CD
|
||||
#define I40E_DEV_ID_X722_VF_HV 0x37D9
|
||||
|
||||
|
@@ -259,13 +259,12 @@ static bool i40e_clean_tx_irq(struct i40e_vsi *vsi,
|
||||
tx_ring->q_vector->tx.total_packets += total_packets;
|
||||
|
||||
if (tx_ring->flags & I40E_TXR_FLAGS_WB_ON_ITR) {
|
||||
unsigned int j = 0;
|
||||
/* check to see if there are < 4 descriptors
|
||||
* waiting to be written back, then kick the hardware to force
|
||||
* them to be written back in case we stay in NAPI.
|
||||
* In this mode on X722 we do not enable Interrupt.
|
||||
*/
|
||||
j = i40evf_get_tx_pending(tx_ring, false);
|
||||
unsigned int j = i40evf_get_tx_pending(tx_ring, false);
|
||||
|
||||
if (budget &&
|
||||
((j / (WB_STRIDE + 1)) == 0) && (j > 0) &&
|
||||
|
@@ -38,7 +38,7 @@ static const char i40evf_driver_string[] =
|
||||
|
||||
#define DRV_VERSION_MAJOR 1
|
||||
#define DRV_VERSION_MINOR 6
|
||||
#define DRV_VERSION_BUILD 4
|
||||
#define DRV_VERSION_BUILD 11
|
||||
#define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
|
||||
__stringify(DRV_VERSION_MINOR) "." \
|
||||
__stringify(DRV_VERSION_BUILD) \
|
||||
@@ -57,7 +57,9 @@ static const char i40evf_copyright[] =
|
||||
*/
|
||||
static const struct pci_device_id i40evf_pci_tbl[] = {
|
||||
{PCI_VDEVICE(INTEL, I40E_DEV_ID_VF), 0},
|
||||
{PCI_VDEVICE(INTEL, I40E_DEV_ID_VF_HV), 0},
|
||||
{PCI_VDEVICE(INTEL, I40E_DEV_ID_X722_VF), 0},
|
||||
{PCI_VDEVICE(INTEL, I40E_DEV_ID_X722_VF_HV), 0},
|
||||
/* required last entry */
|
||||
{0, }
|
||||
};
|
||||
|
Reference in New Issue
Block a user