diff options
author | David S. Miller <davem@davemloft.net> | 2017-11-28 09:52:04 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-11-28 09:52:04 -0500 |
commit | 32f0160c0373ab6381594462b2533104e21626d4 (patch) | |
tree | b1f9a7c1b9dd900e3c75fba757c9b03e836ae4cb | |
parent | 2e724dca7749223204bbae21745c0e3fc932700a (diff) | |
parent | 8abd20b458cafd4c4e632fe7fb8f1a9861b02ee0 (diff) |
Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue
Jeff Kirsher says:
====================
Intel Wired LAN Driver Updates 2017-11-27
This series contains updates to e1000, e1000e and i40e.
Gustavo A. R. Silva fixes a sizeof() issue where we were taking the size of
the pointer (which is always the size of the pointer).
Sasha does a follow up fix to a previous fix for buffer overrun, to resolve
community feedback from David Laight and the use of magic numbers.
Amritha fixes the reporting of error codes for when adding a cloud filter
fails.
Ahmad Fatoum brushes the dust off the e1000 driver to fix a code comment
and debug message which was incorrect about what the code was really doing.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_hw.c | 6 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/ich8lan.h | 3 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 9 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 1 | ||||
-rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2 |
5 files changed, 13 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_hw.c b/drivers/net/ethernet/intel/e1000/e1000_hw.c index 8172cf08cc33..3bac9df1c099 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_hw.c +++ b/drivers/net/ethernet/intel/e1000/e1000_hw.c | |||
@@ -4307,8 +4307,10 @@ static void e1000_init_rx_addrs(struct e1000_hw *hw) | |||
4307 | 4307 | ||
4308 | rar_num = E1000_RAR_ENTRIES; | 4308 | rar_num = E1000_RAR_ENTRIES; |
4309 | 4309 | ||
4310 | /* Zero out the other 15 receive addresses. */ | 4310 | /* Zero out the following 14 receive addresses. RAR[15] is for |
4311 | e_dbg("Clearing RAR[1-15]\n"); | 4311 | * manageability |
4312 | */ | ||
4313 | e_dbg("Clearing RAR[1-14]\n"); | ||
4312 | for (i = 1; i < rar_num; i++) { | 4314 | for (i = 1; i < rar_num; i++) { |
4313 | E1000_WRITE_REG_ARRAY(hw, RA, (i << 1), 0); | 4315 | E1000_WRITE_REG_ARRAY(hw, RA, (i << 1), 0); |
4314 | E1000_WRITE_FLUSH(); | 4316 | E1000_WRITE_FLUSH(); |
diff --git a/drivers/net/ethernet/intel/e1000e/ich8lan.h b/drivers/net/ethernet/intel/e1000e/ich8lan.h index 67163ca898ba..00a36df02a3f 100644 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.h +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.h | |||
@@ -113,7 +113,8 @@ | |||
113 | #define NVM_SIZE_MULTIPLIER 4096 /*multiplier for NVMS field */ | 113 | #define NVM_SIZE_MULTIPLIER 4096 /*multiplier for NVMS field */ |
114 | #define E1000_FLASH_BASE_ADDR 0xE000 /*offset of NVM access regs */ | 114 | #define E1000_FLASH_BASE_ADDR 0xE000 /*offset of NVM access regs */ |
115 | #define E1000_CTRL_EXT_NVMVS 0x3 /*NVM valid sector */ | 115 | #define E1000_CTRL_EXT_NVMVS 0x3 /*NVM valid sector */ |
116 | #define E1000_TARC0_CB_MULTIQ_3_REQ (1 << 28 | 1 << 29) | 116 | #define E1000_TARC0_CB_MULTIQ_3_REQ 0x30000000 |
117 | #define E1000_TARC0_CB_MULTIQ_2_REQ 0x20000000 | ||
117 | #define PCIE_ICH8_SNOOP_ALL PCIE_NO_SNOOP_ALL | 118 | #define PCIE_ICH8_SNOOP_ALL PCIE_NO_SNOOP_ALL |
118 | 119 | ||
119 | #define E1000_ICH_RAR_ENTRIES 7 | 120 | #define E1000_ICH_RAR_ENTRIES 7 |
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index f2f49239b015..9f18d39bdc8f 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -3034,9 +3034,12 @@ static void e1000_configure_tx(struct e1000_adapter *adapter) | |||
3034 | ew32(IOSFPC, reg_val); | 3034 | ew32(IOSFPC, reg_val); |
3035 | 3035 | ||
3036 | reg_val = er32(TARC(0)); | 3036 | reg_val = er32(TARC(0)); |
3037 | /* SPT and KBL Si errata workaround to avoid Tx hang */ | 3037 | /* SPT and KBL Si errata workaround to avoid Tx hang. |
3038 | reg_val &= ~BIT(28); | 3038 | * Dropping the number of outstanding requests from |
3039 | reg_val |= BIT(29); | 3039 | * 3 to 2 in order to avoid a buffer overrun. |
3040 | */ | ||
3041 | reg_val &= ~E1000_TARC0_CB_MULTIQ_3_REQ; | ||
3042 | reg_val |= E1000_TARC0_CB_MULTIQ_2_REQ; | ||
3040 | ew32(TARC(0), reg_val); | 3043 | ew32(TARC(0), reg_val); |
3041 | } | 3044 | } |
3042 | } | 3045 | } |
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 4c08cc86463e..321d8be80871 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c | |||
@@ -7401,7 +7401,6 @@ static int i40e_configure_clsflower(struct i40e_vsi *vsi, | |||
7401 | dev_err(&pf->pdev->dev, | 7401 | dev_err(&pf->pdev->dev, |
7402 | "Failed to add cloud filter, err %s\n", | 7402 | "Failed to add cloud filter, err %s\n", |
7403 | i40e_stat_str(&pf->hw, err)); | 7403 | i40e_stat_str(&pf->hw, err)); |
7404 | err = i40e_aq_rc_to_posix(err, pf->hw.aq.asq_last_status); | ||
7405 | goto err; | 7404 | goto err; |
7406 | } | 7405 | } |
7407 | 7406 | ||
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c index a3dc9b932946..36cb8e068e85 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | |||
@@ -2086,7 +2086,7 @@ static int i40e_vc_request_queues_msg(struct i40e_vf *vf, u8 *msg, int msglen) | |||
2086 | } | 2086 | } |
2087 | 2087 | ||
2088 | return i40e_vc_send_msg_to_vf(vf, VIRTCHNL_OP_REQUEST_QUEUES, 0, | 2088 | return i40e_vc_send_msg_to_vf(vf, VIRTCHNL_OP_REQUEST_QUEUES, 0, |
2089 | (u8 *)vfres, sizeof(vfres)); | 2089 | (u8 *)vfres, sizeof(*vfres)); |
2090 | } | 2090 | } |
2091 | 2091 | ||
2092 | /** | 2092 | /** |