Commit 69119673 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull networking fixes from David Miller:

 1) Don't get per-cpu pointer with preemption enabled in nft_set_pipapo,
    fix from Stefano Brivio.

 2) Fix memory leak in ctnetlink, from Pablo Neira Ayuso.

 3) Multiple definitions of MPTCP_PM_MAX_ADDR, from Geliang Tang.

 4) Accidently disabling NAPI in non-error paths of macb_open(), from
    Charles Keepax.

 5) Fix races between alx_stop and alx_remove, from Zekun Shen.

 6) We forget to re-enable SRIOV during resume in bnxt_en driver, from
    Michael Chan.

 7) Fix memory leak in ipv6_mc_destroy_dev(), from Wang Hai.

 8) rxtx stats use wrong index in mvpp2 driver, from Sven Auhagen.

 9) Fix memory leak in mptcp_subflow_create_socket error path, from Wei
    Yongjun.

10) We should not adjust the TCP window advertised when sending dup acks
    in non-SACK mode, because it won't be counted as a dup by the sender
    if the window size changes. From Eric Dumazet.

11) Destroy the right number of queues during remove in mvpp2 driver,
    from Sven Auhagen.

12) Various WOL and PM fixes to e1000 driver, from Chen Yu, Vaibhav
    Gupta, and Arnd Bergmann.

* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (35 commits)
  e1000e: fix unused-function warning
  e1000: use generic power management
  e1000e: Do not wake up the system via WOL if device wakeup is disabled
  lan743x: add MODULE_DEVICE_TABLE for module loading alias
  mlxsw: spectrum: Adjust headroom buffers for 8x ports
  bareudp: Fixed configuration to avoid having garbage values
  mvpp2: remove module bugfix
  tcp: grow window for OOO packets only for SACK flows
  mptcp: fix memory leak in mptcp_subflow_create_socket()
  netfilter: flowtable: Make nf_flow_table_offload_add/del_cb inline
  net/sched: act_ct: Make tcf_ct_flow_table_restore_skb inline
  net: dsa: sja1105: fix PTP timestamping with large tc-taprio cycles
  mvpp2: ethtool rxtx stats fix
  MAINTAINERS: switch to my private email for Renesas Ethernet drivers
  rocker: fix incorrect error handling in dma_rings_init
  test_objagg: Fix potential memory leak in error handling
  net: ethernet: mtk-star-emac: simplify interrupt handling
  mld: fix memory leak in ipv6_mc_destroy_dev()
  bnxt_en: Return from timer if interface is not in open state.
  bnxt_en: Fix AER reset logic on 57500 chips.
  ...
parents 26c20ffc c9f66b43
Loading
Loading
Loading
Loading
+13 −17
Original line number Diff line number Diff line
@@ -11369,14 +11369,6 @@ L: dmaengine@vger.kernel.org
S:	Supported
F:	drivers/dma/at_xdmac.c
MICROSEMI ETHERNET SWITCH DRIVER
M:	Alexandre Belloni <alexandre.belloni@bootlin.com>
M:	Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
L:	netdev@vger.kernel.org
S:	Supported
F:	drivers/net/ethernet/mscc/
F:	include/soc/mscc/ocelot*
MICROSEMI MIPS SOCS
M:	Alexandre Belloni <alexandre.belloni@bootlin.com>
M:	Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
@@ -12335,6 +12327,18 @@ M: Peter Zijlstra <peterz@infradead.org>
S:	Supported
F:	tools/objtool/
OCELOT ETHERNET SWITCH DRIVER
M:	Microchip Linux Driver Support <UNGLinuxDriver@microchip.com>
M:	Vladimir Oltean <vladimir.oltean@nxp.com>
M:	Claudiu Manoil <claudiu.manoil@nxp.com>
M:	Alexandre Belloni <alexandre.belloni@bootlin.com>
L:	netdev@vger.kernel.org
S:	Supported
F:	drivers/net/dsa/ocelot/*
F:	drivers/net/ethernet/mscc/
F:	include/soc/mscc/ocelot*
F:	net/dsa/tag_ocelot.c
OCXL (Open Coherent Accelerator Processor Interface OpenCAPI) DRIVER
M:	Frederic Barrat <fbarrat@linux.ibm.com>
M:	Andrew Donnellan <ajd@linux.ibm.com>
@@ -14534,7 +14538,7 @@ F: Documentation/devicetree/bindings/i2c/renesas,iic-emev2.txt
F:	drivers/i2c/busses/i2c-emev2.c
RENESAS ETHERNET DRIVERS
R:	Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
R:	Sergei Shtylyov <sergei.shtylyov@gmail.com>
L:	netdev@vger.kernel.org
L:	linux-renesas-soc@vger.kernel.org
F:	Documentation/devicetree/bindings/net/renesas,*.txt
@@ -18254,14 +18258,6 @@ S: Maintained
F:	drivers/input/serio/userio.c
F:	include/uapi/linux/userio.h
VITESSE FELIX ETHERNET SWITCH DRIVER
M:	Vladimir Oltean <vladimir.oltean@nxp.com>
M:	Claudiu Manoil <claudiu.manoil@nxp.com>
L:	netdev@vger.kernel.org
S:	Maintained
F:	drivers/net/dsa/ocelot/*
F:	net/dsa/tag_ocelot.c
VIVID VIRTUAL VIDEO DRIVER
M:	Hans Verkuil <hverkuil@xs4all.nl>
L:	linux-media@vger.kernel.org
+2 −0
Original line number Diff line number Diff line
@@ -552,6 +552,8 @@ static int bareudp_validate(struct nlattr *tb[], struct nlattr *data[],
static int bareudp2info(struct nlattr *data[], struct bareudp_conf *conf,
			struct netlink_ext_ack *extack)
{
	memset(conf, 0, sizeof(*conf));

	if (!data[IFLA_BAREUDP_PORT]) {
		NL_SET_ERR_MSG(extack, "port not specified");
		return -EINVAL;
+4 −4
Original line number Diff line number Diff line
@@ -891,16 +891,16 @@ void sja1105_ptp_txtstamp_skb(struct dsa_switch *ds, int port,

	mutex_lock(&ptp_data->lock);

	rc = sja1105_ptpclkval_read(priv, &ticks, NULL);
	rc = sja1105_ptpegr_ts_poll(ds, port, &ts);
	if (rc < 0) {
		dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc);
		dev_err(ds->dev, "timed out polling for tstamp\n");
		kfree_skb(skb);
		goto out;
	}

	rc = sja1105_ptpegr_ts_poll(ds, port, &ts);
	rc = sja1105_ptpclkval_read(priv, &ticks, NULL);
	if (rc < 0) {
		dev_err(ds->dev, "timed out polling for tstamp\n");
		dev_err(ds->dev, "Failed to read PTP clock: %d\n", rc);
		kfree_skb(skb);
		goto out;
	}
+5 −4
Original line number Diff line number Diff line
@@ -1249,8 +1249,12 @@ out_disable_adv_intr:

static void __alx_stop(struct alx_priv *alx)
{
	alx_halt(alx);
	alx_free_irq(alx);

	cancel_work_sync(&alx->link_check_wk);
	cancel_work_sync(&alx->reset_wk);

	alx_halt(alx);
	alx_free_rings(alx);
	alx_free_napis(alx);
}
@@ -1855,9 +1859,6 @@ static void alx_remove(struct pci_dev *pdev)
	struct alx_priv *alx = pci_get_drvdata(pdev);
	struct alx_hw *hw = &alx->hw;

	cancel_work_sync(&alx->link_check_wk);
	cancel_work_sync(&alx->reset_wk);

	/* restore permanent mac address */
	alx_set_macaddr(hw, hw->perm_addr);

+17 −18
Original line number Diff line number Diff line
@@ -10037,7 +10037,7 @@ static void bnxt_timer(struct timer_list *t)
	struct bnxt *bp = from_timer(bp, t, timer);
	struct net_device *dev = bp->dev;

	if (!netif_running(dev))
	if (!netif_running(dev) || !test_bit(BNXT_STATE_OPEN, &bp->state))
		return;

	if (atomic_read(&bp->intr_sem) != 0)
@@ -12133,19 +12133,9 @@ static int bnxt_resume(struct device *device)
		goto resume_exit;
	}

	if (bnxt_hwrm_queue_qportcfg(bp)) {
		rc = -ENODEV;
		goto resume_exit;
	}

	if (bp->hwrm_spec_code >= 0x10803) {
		if (bnxt_alloc_ctx_mem(bp)) {
			rc = -ENODEV;
	rc = bnxt_hwrm_func_qcaps(bp);
	if (rc)
		goto resume_exit;
		}
	}
	if (BNXT_NEW_RM(bp))
		bnxt_hwrm_func_resc_qcaps(bp, false);

	if (bnxt_hwrm_func_drv_rgtr(bp, NULL, 0, false)) {
		rc = -ENODEV;
@@ -12161,6 +12151,8 @@ static int bnxt_resume(struct device *device)

resume_exit:
	bnxt_ulp_start(bp, rc);
	if (!rc)
		bnxt_reenable_sriov(bp);
	rtnl_unlock();
	return rc;
}
@@ -12204,6 +12196,9 @@ static pci_ers_result_t bnxt_io_error_detected(struct pci_dev *pdev,
		bnxt_close(netdev);

	pci_disable_device(pdev);
	bnxt_free_ctx_mem(bp);
	kfree(bp->ctx);
	bp->ctx = NULL;
	rtnl_unlock();

	/* Request a slot slot reset. */
@@ -12237,12 +12232,16 @@ static pci_ers_result_t bnxt_io_slot_reset(struct pci_dev *pdev)
		pci_set_master(pdev);

		err = bnxt_hwrm_func_reset(bp);
		if (!err) {
			err = bnxt_hwrm_func_qcaps(bp);
			if (!err && netif_running(netdev))
				err = bnxt_open(netdev);

		if (!err)
			result = PCI_ERS_RESULT_RECOVERED;
		}
		bnxt_ulp_start(bp, err);
		if (!err) {
			bnxt_reenable_sriov(bp);
			result = PCI_ERS_RESULT_RECOVERED;
		}
	}

	if (result != PCI_ERS_RESULT_RECOVERED) {
Loading