Skip to content

Commit 6c2c712

Browse files
committed
Merge tag 'net-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from Jakub Kicinski: "Including fixes from netfilter, and can. We'll have one more fix for a socket accounting regression, it's still getting polished. Otherwise things look fine. Current release - regressions: - revert "vrf: reset skb conntrack connection on VRF rcv", there are valid uses for previous behavior - can: m_can: fix iomap_read_fifo() and iomap_write_fifo() Current release - new code bugs: - mlx5: e-switch, return correct error code on group creation failure Previous releases - regressions: - sctp: fix transport encap_port update in sctp_vtag_verify - stmmac: fix E2E delay mechanism (in PTP timestamping) Previous releases - always broken: - netfilter: ip6t_rt: fix out-of-bounds read of ipv6_rt_hdr - netfilter: xt_IDLETIMER: fix out-of-bound read caused by lack of init - netfilter: ipvs: make global sysctl read-only in non-init netns - tcp: md5: fix selection between vrf and non-vrf keys - ipv6: count rx stats on the orig netdev when forwarding - bridge: mcast: use multicast_membership_interval for IGMPv3 - can: - j1939: fix UAF for rx_kref of j1939_priv abort sessions on receiving bad messages - isotp: fix TX buffer concurrent access in isotp_sendmsg() fix return error on FC timeout on TX path - ice: fix re-init of RDMA Tx queues and crash if RDMA was not inited - hns3: schedule the polling again when allocation fails, prevent stalls - drivers: add missing of_node_put() when aborting for_each_available_child_of_node() - ptp: fix possible memory leak and UAF in ptp_clock_register() - e1000e: fix packet loss in burst mode on Tiger Lake and later - mlx5e: ipsec: fix more checksum offload issues" * tag 'net-5.15-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (75 commits) usbnet: sanity check for maxpacket net: enetc: make sure all traffic classes can send large frames net: enetc: fix ethtool counter name for PM0_TERR ptp: free 'vclock_index' in ptp_clock_release() sfc: Don't use netif_info before net_device setup sfc: Export fibre-specific supported link modes net/mlx5e: IPsec: Fix work queue entry ethernet segment checksum flags net/mlx5e: IPsec: Fix a misuse of the software parser's fields net/mlx5e: Fix vlan data lost during suspend flow net/mlx5: E-switch, Return correct error code on group creation failure net/mlx5: Lag, change multipath and bonding to be mutually exclusive ice: Add missing E810 device ids igc: Update I226_K device ID e1000e: Fix packet loss on Tiger Lake and later e1000e: Separate TGP board type from SPT ptp: Fix possible memory leak in ptp_clock_register() net: stmmac: Fix E2E delay mechanism nfc: st95hf: Make spi remove() callback return zero net: hns3: disable sriov before unload hclge layer net: hns3: fix vf reset workqueue cannot exit ...
2 parents 0a3221b + 397430b commit 6c2c712

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+913
-301
lines changed

Documentation/networking/devlink/ice.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,11 @@ The ``ice`` driver reports the following versions
3030
PHY, link, etc.
3131
* - ``fw.mgmt.api``
3232
- running
33-
- 1.5
34-
- 2-digit version number of the API exported over the AdminQ by the
35-
management firmware. Used by the driver to identify what commands
36-
are supported.
33+
- 1.5.1
34+
- 3-digit version number (major.minor.patch) of the API exported over
35+
the AdminQ by the management firmware. Used by the driver to
36+
identify what commands are supported. Historical versions of the
37+
kernel only displayed a 2-digit version number (major.minor).
3738
* - ``fw.mgmt.build``
3839
- running
3940
- 0x305d955f

Documentation/networking/mctp.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,11 @@ specified with a ``sockaddr`` type, with a single-byte endpoint address:
5959
};
6060
6161
struct sockaddr_mctp {
62-
unsigned short int smctp_family;
63-
int smctp_network;
64-
struct mctp_addr smctp_addr;
65-
__u8 smctp_type;
66-
__u8 smctp_tag;
62+
__kernel_sa_family_t smctp_family;
63+
unsigned int smctp_network;
64+
struct mctp_addr smctp_addr;
65+
__u8 smctp_type;
66+
__u8 smctp_tag;
6767
};
6868
6969
#define MCTP_NET_ANY 0x0

drivers/isdn/hardware/mISDN/hfcpci.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1994,14 +1994,14 @@ setup_hw(struct hfc_pci *hc)
19941994
pci_set_master(hc->pdev);
19951995
if (!hc->irq) {
19961996
printk(KERN_WARNING "HFC-PCI: No IRQ for PCI card found\n");
1997-
return 1;
1997+
return -EINVAL;
19981998
}
19991999
hc->hw.pci_io =
20002000
(char __iomem *)(unsigned long)hc->pdev->resource[1].start;
20012001

20022002
if (!hc->hw.pci_io) {
20032003
printk(KERN_WARNING "HFC-PCI: No IO-Mem for PCI card found\n");
2004-
return 1;
2004+
return -ENOMEM;
20052005
}
20062006
/* Allocate memory for FIFOS */
20072007
/* the memory needs to be on a 32k boundary within the first 4G */
@@ -2012,7 +2012,7 @@ setup_hw(struct hfc_pci *hc)
20122012
if (!buffer) {
20132013
printk(KERN_WARNING
20142014
"HFC-PCI: Error allocating memory for FIFO!\n");
2015-
return 1;
2015+
return -ENOMEM;
20162016
}
20172017
hc->hw.fifos = buffer;
20182018
pci_write_config_dword(hc->pdev, 0x80, hc->hw.dmahandle);
@@ -2022,7 +2022,7 @@ setup_hw(struct hfc_pci *hc)
20222022
"HFC-PCI: Error in ioremap for PCI!\n");
20232023
dma_free_coherent(&hc->pdev->dev, 0x8000, hc->hw.fifos,
20242024
hc->hw.dmahandle);
2025-
return 1;
2025+
return -ENOMEM;
20262026
}
20272027

20282028
printk(KERN_INFO

drivers/net/can/m_can/m_can_platform.c

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,13 @@ static u32 iomap_read_reg(struct m_can_classdev *cdev, int reg)
3232
static int iomap_read_fifo(struct m_can_classdev *cdev, int offset, void *val, size_t val_count)
3333
{
3434
struct m_can_plat_priv *priv = cdev_to_priv(cdev);
35+
void __iomem *src = priv->mram_base + offset;
3536

36-
ioread32_rep(priv->mram_base + offset, val, val_count);
37+
while (val_count--) {
38+
*(unsigned int *)val = ioread32(src);
39+
val += 4;
40+
src += 4;
41+
}
3742

3843
return 0;
3944
}
@@ -51,8 +56,13 @@ static int iomap_write_fifo(struct m_can_classdev *cdev, int offset,
5156
const void *val, size_t val_count)
5257
{
5358
struct m_can_plat_priv *priv = cdev_to_priv(cdev);
59+
void __iomem *dst = priv->mram_base + offset;
5460

55-
iowrite32_rep(priv->base + offset, val, val_count);
61+
while (val_count--) {
62+
iowrite32(*(unsigned int *)val, dst);
63+
val += 4;
64+
dst += 4;
65+
}
5666

5767
return 0;
5868
}

drivers/net/can/rcar/rcar_can.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -846,10 +846,12 @@ static int __maybe_unused rcar_can_suspend(struct device *dev)
846846
struct rcar_can_priv *priv = netdev_priv(ndev);
847847
u16 ctlr;
848848

849-
if (netif_running(ndev)) {
850-
netif_stop_queue(ndev);
851-
netif_device_detach(ndev);
852-
}
849+
if (!netif_running(ndev))
850+
return 0;
851+
852+
netif_stop_queue(ndev);
853+
netif_device_detach(ndev);
854+
853855
ctlr = readw(&priv->regs->ctlr);
854856
ctlr |= RCAR_CAN_CTLR_CANM_HALT;
855857
writew(ctlr, &priv->regs->ctlr);
@@ -868,6 +870,9 @@ static int __maybe_unused rcar_can_resume(struct device *dev)
868870
u16 ctlr;
869871
int err;
870872

873+
if (!netif_running(ndev))
874+
return 0;
875+
871876
err = clk_enable(priv->clk);
872877
if (err) {
873878
netdev_err(ndev, "clk_enable() failed, error %d\n", err);
@@ -881,10 +886,9 @@ static int __maybe_unused rcar_can_resume(struct device *dev)
881886
writew(ctlr, &priv->regs->ctlr);
882887
priv->can.state = CAN_STATE_ERROR_ACTIVE;
883888

884-
if (netif_running(ndev)) {
885-
netif_device_attach(ndev);
886-
netif_start_queue(ndev);
887-
}
889+
netif_device_attach(ndev);
890+
netif_start_queue(ndev);
891+
888892
return 0;
889893
}
890894

drivers/net/can/sja1000/peak_pci.c

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -752,16 +752,15 @@ static void peak_pci_remove(struct pci_dev *pdev)
752752
struct net_device *prev_dev = chan->prev_dev;
753753

754754
dev_info(&pdev->dev, "removing device %s\n", dev->name);
755+
/* do that only for first channel */
756+
if (!prev_dev && chan->pciec_card)
757+
peak_pciec_remove(chan->pciec_card);
755758
unregister_sja1000dev(dev);
756759
free_sja1000dev(dev);
757760
dev = prev_dev;
758761

759-
if (!dev) {
760-
/* do that only for first channel */
761-
if (chan->pciec_card)
762-
peak_pciec_remove(chan->pciec_card);
762+
if (!dev)
763763
break;
764-
}
765764
priv = netdev_priv(dev);
766765
chan = priv->priv;
767766
}

drivers/net/can/usb/peak_usb/pcan_usb_fd.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -551,11 +551,10 @@ static int pcan_usb_fd_decode_status(struct pcan_usb_fd_if *usb_if,
551551
} else if (sm->channel_p_w_b & PUCAN_BUS_WARNING) {
552552
new_state = CAN_STATE_ERROR_WARNING;
553553
} else {
554-
/* no error bit (so, no error skb, back to active state) */
555-
dev->can.state = CAN_STATE_ERROR_ACTIVE;
554+
/* back to (or still in) ERROR_ACTIVE state */
555+
new_state = CAN_STATE_ERROR_ACTIVE;
556556
pdev->bec.txerr = 0;
557557
pdev->bec.rxerr = 0;
558-
return 0;
559558
}
560559

561560
/* state hasn't changed */
@@ -568,8 +567,7 @@ static int pcan_usb_fd_decode_status(struct pcan_usb_fd_if *usb_if,
568567

569568
/* allocate an skb to store the error frame */
570569
skb = alloc_can_err_skb(netdev, &cf);
571-
if (skb)
572-
can_change_state(netdev, cf, tx_state, rx_state);
570+
can_change_state(netdev, cf, tx_state, rx_state);
573571

574572
/* things must be done even in case of OOM */
575573
if (new_state == CAN_STATE_BUS_OFF)

drivers/net/dsa/lantiq_gswip.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,7 @@
230230
#define GSWIP_SDMA_PCTRLp(p) (0xBC0 + ((p) * 0x6))
231231
#define GSWIP_SDMA_PCTRL_EN BIT(0) /* SDMA Port Enable */
232232
#define GSWIP_SDMA_PCTRL_FCEN BIT(1) /* Flow Control Enable */
233-
#define GSWIP_SDMA_PCTRL_PAUFWD BIT(1) /* Pause Frame Forwarding */
233+
#define GSWIP_SDMA_PCTRL_PAUFWD BIT(3) /* Pause Frame Forwarding */
234234

235235
#define GSWIP_TABLE_ACTIVE_VLAN 0x01
236236
#define GSWIP_TABLE_VLAN_MAPPING 0x02

drivers/net/dsa/mt7530.c

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1035,9 +1035,6 @@ mt7530_port_enable(struct dsa_switch *ds, int port,
10351035
{
10361036
struct mt7530_priv *priv = ds->priv;
10371037

1038-
if (!dsa_is_user_port(ds, port))
1039-
return 0;
1040-
10411038
mutex_lock(&priv->reg_mutex);
10421039

10431040
/* Allow the user port gets connected to the cpu port and also
@@ -1060,9 +1057,6 @@ mt7530_port_disable(struct dsa_switch *ds, int port)
10601057
{
10611058
struct mt7530_priv *priv = ds->priv;
10621059

1063-
if (!dsa_is_user_port(ds, port))
1064-
return;
1065-
10661060
mutex_lock(&priv->reg_mutex);
10671061

10681062
/* Clear up all port matrix which could be restored in the next
@@ -3211,7 +3205,7 @@ mt7530_probe(struct mdio_device *mdiodev)
32113205
return -ENOMEM;
32123206

32133207
priv->ds->dev = &mdiodev->dev;
3214-
priv->ds->num_ports = DSA_MAX_PORTS;
3208+
priv->ds->num_ports = MT7530_NUM_PORTS;
32153209

32163210
/* Use medatek,mcm property to distinguish hardware type that would
32173211
* casues a little bit differences on power-on sequence.

drivers/net/ethernet/cavium/thunder/nic_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,7 @@ static int nic_register_interrupts(struct nicpf *nic)
11931193
dev_err(&nic->pdev->dev,
11941194
"Request for #%d msix vectors failed, returned %d\n",
11951195
nic->num_vec, ret);
1196-
return 1;
1196+
return ret;
11971197
}
11981198

11991199
/* Register mailbox interrupt handler */

0 commit comments

Comments
 (0)