Commit f287d6aa authored by David S. Miller's avatar David S. Miller
Browse files


Tony Nguyen says:

====================
Intel Wired LAN Driver Updates 2024-03-05 (idpf, ice, i40e, igc, e1000e)

This series contains updates to idpf, ice, i40e, igc and e1000e drivers.

Emil disables local BH on NAPI schedule for proper handling of softirqs
on idpf.

Jake stops reporting of virtchannel RSS option which in unsupported on
ice.

Rand Deeb adds null check to prevent possible null pointer dereference
on ice.

Michal Schmidt moves DPLL mutex initialization to resolve uninitialized
mutex usage for ice.

Jesse fixes incorrect variable usage for calculating Tx stats on ice.

Ivan Vecera corrects logic for firmware equals check on i40e.

Florian Kauer prevents memory corruption for XDP_REDIRECT on igc.

Sasha reverts an incorrect use of FIELD_GET which caused a regression
for Wake on LAN on e1000e.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents b7fb7729 ba54b1a2
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2559,7 +2559,7 @@ void e1000_copy_rx_addrs_to_phy_ich8lan(struct e1000_hw *hw)
		hw->phy.ops.write_reg_page(hw, BM_RAR_H(i),
					   (u16)(mac_reg & 0xFFFF));
		hw->phy.ops.write_reg_page(hw, BM_RAR_CTRL(i),
					   FIELD_GET(E1000_RAH_AV, mac_reg));
					   (u16)((mac_reg & E1000_RAH_AV) >> 16));
	}

	e1000_disable_phy_wakeup_reg_access_bm(hw, &phy_reg);
+1 −2
Original line number Diff line number Diff line
@@ -567,8 +567,7 @@ static inline bool i40e_is_fw_ver_lt(struct i40e_hw *hw, u16 maj, u16 min)
 **/
static inline bool i40e_is_fw_ver_eq(struct i40e_hw *hw, u16 maj, u16 min)
{
	return (hw->aq.fw_maj_ver > maj ||
		(hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min));
	return (hw->aq.fw_maj_ver == maj && hw->aq.fw_min_ver == min);
}

#endif /* _I40E_PROTOTYPE_H_ */
+1 −1
Original line number Diff line number Diff line
@@ -2120,6 +2120,7 @@ void ice_dpll_init(struct ice_pf *pf)
	struct ice_dplls *d = &pf->dplls;
	int err = 0;

	mutex_init(&d->lock);
	err = ice_dpll_init_info(pf, cgu);
	if (err)
		goto err_exit;
@@ -2132,7 +2133,6 @@ void ice_dpll_init(struct ice_pf *pf)
	err = ice_dpll_init_pins(pf, cgu);
	if (err)
		goto deinit_pps;
	mutex_init(&d->lock);
	if (cgu) {
		err = ice_dpll_init_worker(pf);
		if (err)
+1 −1
Original line number Diff line number Diff line
@@ -3192,7 +3192,7 @@ ice_vsi_realloc_stat_arrays(struct ice_vsi *vsi)
		}
	}

	tx_ring_stats = vsi_stat->rx_ring_stats;
	tx_ring_stats = vsi_stat->tx_ring_stats;
	vsi_stat->tx_ring_stats =
		krealloc_array(vsi_stat->tx_ring_stats, req_txq,
			       sizeof(*vsi_stat->tx_ring_stats),
+2 −0
Original line number Diff line number Diff line
@@ -8013,6 +8013,8 @@ ice_bridge_setlink(struct net_device *dev, struct nlmsghdr *nlh,
	pf_sw = pf->first_sw;
	/* find the attribute in the netlink message */
	br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC);
	if (!br_spec)
		return -EINVAL;

	nla_for_each_nested(attr, br_spec, rem) {
		__u16 mode;
Loading