Skip to content

Commit 626bf91

Browse files
committed
Merge tag 'net-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes and stragglers from Jakub Kicinski: "Networking stragglers and fixes, including changes from netfilter, wireless and can. Current release - regressions: - qrtr: revert check in qrtr_endpoint_post(), fixes audio and wifi - ip_gre: validate csum_start only on pull - bnxt_en: fix 64-bit doorbell operation on 32-bit kernels - ionic: fix double use of queue-lock, fix a sleeping in atomic - can: c_can: fix null-ptr-deref on ioctl() - cs89x0: disable compile testing on powerpc Current release - new code bugs: - bridge: mcast: fix vlan port router deadlock, consistently disable BH Previous releases - regressions: - dsa: tag_rtl4_a: fix egress tags, only port 0 was working - mptcp: fix possible divide by zero - netfilter: nft_ct: protect nft_ct_pcpu_template_refcnt with mutex - netfilter: socket: icmp6: fix use-after-scope - stmmac: fix MAC not working when system resume back with WoL active Previous releases - always broken: - ip/ip6_gre: use the same logic as SIT interfaces when computing v6LL address - seg6: set fc_nlinfo in nh_create_ipv4, nh_create_ipv6 - mptcp: only send extra TCP acks in eligible socket states - dsa: lantiq_gswip: fix maximum frame length - stmmac: fix overall budget calculation for rxtx_napi - bnxt_en: fix firmware version reporting via devlink - renesas: sh_eth: add missing barrier to fix freeing wrong tx descriptor Stragglers: - netfilter: conntrack: switch to siphash - netfilter: refuse insertion if chain has grown too large - ncsi: add get MAC address command to get Intel i210 MAC address" * tag 'net-5.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (76 commits) ieee802154: Remove redundant initialization of variable ret net: stmmac: fix MAC not working when system resume back with WoL active net: phylink: add suspend/resume support net: renesas: sh_eth: Fix freeing wrong tx descriptor bonding: 3ad: pass parameter bond_params by reference cxgb3: fix oops on module removal can: c_can: fix null-ptr-deref on ioctl() can: rcar_canfd: add __maybe_unused annotation to silence warning net: wwan: iosm: Unify IO accessors used in the driver net: wwan: iosm: Replace io.*64_lo_hi() with regular accessors net: qcom/emac: Replace strlcpy with strscpy ip6_gre: Revert "ip6_gre: add validation for csum_start" net: hns3: make hclgevf_cmd_caps_bit_map0 and hclge_cmd_caps_bit_map0 static selftests/bpf: Test XDP bonding nest and unwind bonding: Fix negative jump label count on nested bonding MAINTAINERS: add VM SOCKETS (AF_VSOCK) entry stmmac: dwmac-loongson:Fix missing return value iwlwifi: fix printk format warnings in uefi.c net: create netdev->dev_addr assignment helpers bnxt_en: Fix possible unintended driver initiated error recovery ...
2 parents 4c00e1e + 0f77f2d commit 626bf91

File tree

89 files changed

+1066
-389
lines changed

Some content is hidden

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

89 files changed

+1066
-389
lines changed

Documentation/networking/nf_conntrack-sysctl.rst

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ nf_conntrack_acct - BOOLEAN
1717
nf_conntrack_buckets - INTEGER
1818
Size of hash table. If not specified as parameter during module
1919
loading, the default size is calculated by dividing total memory
20-
by 16384 to determine the number of buckets but the hash table will
21-
never have fewer than 32 and limited to 16384 buckets. For systems
22-
with more than 4GB of memory it will be 65536 buckets.
20+
by 16384 to determine the number of buckets. The hash table will
21+
never have fewer than 1024 and never more than 262144 buckets.
2322
This sysctl is only writeable in the initial net namespace.
2423

2524
nf_conntrack_checksum - BOOLEAN
@@ -100,8 +99,12 @@ nf_conntrack_log_invalid - INTEGER
10099
Log invalid packets of a type specified by value.
101100

102101
nf_conntrack_max - INTEGER
103-
Size of connection tracking table. Default value is
104-
nf_conntrack_buckets value * 4.
102+
Maximum number of allowed connection tracking entries. This value is set
103+
to nf_conntrack_buckets by default.
104+
Note that connection tracking entries are added to the table twice -- once
105+
for the original direction and once for the reply direction (i.e., with
106+
the reversed address). This means that with default settings a maxed-out
107+
table will have a average hash chain length of 2, not 1.
105108

106109
nf_conntrack_tcp_be_liberal - BOOLEAN
107110
- 0 - disabled (default)

MAINTAINERS

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19761,18 +19761,11 @@ L: [email protected]
1976119761
1976219762
1976319763
S: Maintained
19764-
F: drivers/net/vsockmon.c
1976519764
F: drivers/vhost/vsock.c
1976619765
F: include/linux/virtio_vsock.h
1976719766
F: include/uapi/linux/virtio_vsock.h
19768-
F: include/uapi/linux/vm_sockets_diag.h
19769-
F: include/uapi/linux/vsockmon.h
19770-
F: net/vmw_vsock/af_vsock_tap.c
19771-
F: net/vmw_vsock/diag.c
1977219767
F: net/vmw_vsock/virtio_transport.c
1977319768
F: net/vmw_vsock/virtio_transport_common.c
19774-
F: net/vmw_vsock/vsock_loopback.c
19775-
F: tools/testing/vsock/
1977619769

1977719770
VIRTIO BLOCK AND SCSI DRIVERS
1977819771
M: "Michael S. Tsirkin" <[email protected]>
@@ -19977,6 +19970,19 @@ F: drivers/staging/vme/
1997719970
F: drivers/vme/
1997819971
F: include/linux/vme*
1997919972

19973+
VM SOCKETS (AF_VSOCK)
19974+
M: Stefano Garzarella <[email protected]>
19975+
19976+
19977+
S: Maintained
19978+
F: drivers/net/vsockmon.c
19979+
F: include/net/af_vsock.h
19980+
F: include/uapi/linux/vm_sockets.h
19981+
F: include/uapi/linux/vm_sockets_diag.h
19982+
F: include/uapi/linux/vsockmon.h
19983+
F: net/vmw_vsock/
19984+
F: tools/testing/vsock/
19985+
1998019986
VMWARE BALLOON DRIVER
1998119987
M: Nadav Amit <[email protected]>
1998219988
M: "VMware, Inc." <[email protected]>

drivers/net/bonding/bond_3ad.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ static int ad_marker_send(struct port *port, struct bond_marker *marker);
9696
static void ad_mux_machine(struct port *port, bool *update_slave_arr);
9797
static void ad_rx_machine(struct lacpdu *lacpdu, struct port *port);
9898
static void ad_tx_machine(struct port *port);
99-
static void ad_periodic_machine(struct port *port, struct bond_params bond_params);
99+
static void ad_periodic_machine(struct port *port, struct bond_params *bond_params);
100100
static void ad_port_selection_logic(struct port *port, bool *update_slave_arr);
101101
static void ad_agg_selection_logic(struct aggregator *aggregator,
102102
bool *update_slave_arr);
@@ -1298,7 +1298,7 @@ static void ad_tx_machine(struct port *port)
12981298
*
12991299
* Turn ntt flag on priodically to perform periodic transmission of lacpdu's.
13001300
*/
1301-
static void ad_periodic_machine(struct port *port, struct bond_params bond_params)
1301+
static void ad_periodic_machine(struct port *port, struct bond_params *bond_params)
13021302
{
13031303
periodic_states_t last_state;
13041304

@@ -1308,7 +1308,7 @@ static void ad_periodic_machine(struct port *port, struct bond_params bond_param
13081308
/* check if port was reinitialized */
13091309
if (((port->sm_vars & AD_PORT_BEGIN) || !(port->sm_vars & AD_PORT_LACP_ENABLED) || !port->is_enabled) ||
13101310
(!(port->actor_oper_port_state & LACP_STATE_LACP_ACTIVITY) && !(port->partner_oper.port_state & LACP_STATE_LACP_ACTIVITY)) ||
1311-
!bond_params.lacp_active) {
1311+
!bond_params->lacp_active) {
13121312
port->sm_periodic_state = AD_NO_PERIODIC;
13131313
}
13141314
/* check if state machine should change state */
@@ -2342,7 +2342,7 @@ void bond_3ad_state_machine_handler(struct work_struct *work)
23422342
}
23432343

23442344
ad_rx_machine(NULL, port);
2345-
ad_periodic_machine(port, bond->params);
2345+
ad_periodic_machine(port, &bond->params);
23462346
ad_port_selection_logic(port, &update_slave_arr);
23472347
ad_mux_machine(port, &update_slave_arr);
23482348
ad_tx_machine(port);

drivers/net/bonding/bond_main.c

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2169,7 +2169,7 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev,
21692169
res = -EOPNOTSUPP;
21702170
goto err_sysfs_del;
21712171
}
2172-
} else {
2172+
} else if (bond->xdp_prog) {
21732173
struct netdev_bpf xdp = {
21742174
.command = XDP_SETUP_PROG,
21752175
.flags = 0,
@@ -2910,9 +2910,9 @@ static void bond_arp_send_all(struct bonding *bond, struct slave *slave)
29102910
* probe to generate any traffic (arp_validate=0)
29112911
*/
29122912
if (bond->params.arp_validate)
2913-
net_warn_ratelimited("%s: no route to arp_ip_target %pI4 and arp_validate is set\n",
2914-
bond->dev->name,
2915-
&targets[i]);
2913+
pr_warn_once("%s: no route to arp_ip_target %pI4 and arp_validate is set\n",
2914+
bond->dev->name,
2915+
&targets[i]);
29162916
bond_arp_send(slave, ARPOP_REQUEST, targets[i],
29172917
0, tags);
29182918
continue;
@@ -5224,13 +5224,12 @@ static int bond_xdp_set(struct net_device *dev, struct bpf_prog *prog,
52245224
bpf_prog_inc(prog);
52255225
}
52265226

5227-
if (old_prog)
5228-
bpf_prog_put(old_prog);
5229-
5230-
if (prog)
5227+
if (prog) {
52315228
static_branch_inc(&bpf_master_redirect_enabled_key);
5232-
else
5229+
} else if (old_prog) {
5230+
bpf_prog_put(old_prog);
52335231
static_branch_dec(&bpf_master_redirect_enabled_key);
5232+
}
52345233

52355234
return 0;
52365235

drivers/net/can/c_can/c_can_ethtool.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ static void c_can_get_drvinfo(struct net_device *netdev,
1515
struct ethtool_drvinfo *info)
1616
{
1717
struct c_can_priv *priv = netdev_priv(netdev);
18-
struct platform_device *pdev = to_platform_device(priv->device);
19-
2018
strscpy(info->driver, "c_can", sizeof(info->driver));
21-
strscpy(info->bus_info, pdev->name, sizeof(info->bus_info));
19+
strscpy(info->bus_info, dev_name(priv->device), sizeof(info->bus_info));
2220
}
2321

2422
static void c_can_get_ringparam(struct net_device *netdev,

drivers/net/can/rcar/rcar_canfd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2017,7 +2017,7 @@ static int __maybe_unused rcar_canfd_resume(struct device *dev)
20172017
static SIMPLE_DEV_PM_OPS(rcar_canfd_pm_ops, rcar_canfd_suspend,
20182018
rcar_canfd_resume);
20192019

2020-
static const struct of_device_id rcar_canfd_of_table[] = {
2020+
static const __maybe_unused struct of_device_id rcar_canfd_of_table[] = {
20212021
{ .compatible = "renesas,rcar-gen3-canfd", .data = (void *)RENESAS_RCAR_GEN3 },
20222022
{ .compatible = "renesas,rzg2l-canfd", .data = (void *)RENESAS_RZG2L },
20232023
{ }

drivers/net/dsa/b53/b53_common.c

Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1144,7 +1144,7 @@ static void b53_force_link(struct b53_device *dev, int port, int link)
11441144
u8 reg, val, off;
11451145

11461146
/* Override the port settings */
1147-
if (port == dev->cpu_port) {
1147+
if (port == dev->imp_port) {
11481148
off = B53_PORT_OVERRIDE_CTRL;
11491149
val = PORT_OVERRIDE_EN;
11501150
} else {
@@ -1168,7 +1168,7 @@ static void b53_force_port_config(struct b53_device *dev, int port,
11681168
u8 reg, val, off;
11691169

11701170
/* Override the port settings */
1171-
if (port == dev->cpu_port) {
1171+
if (port == dev->imp_port) {
11721172
off = B53_PORT_OVERRIDE_CTRL;
11731173
val = PORT_OVERRIDE_EN;
11741174
} else {
@@ -1236,7 +1236,7 @@ static void b53_adjust_link(struct dsa_switch *ds, int port,
12361236
b53_force_link(dev, port, phydev->link);
12371237

12381238
if (is531x5(dev) && phy_interface_is_rgmii(phydev)) {
1239-
if (port == 8)
1239+
if (port == dev->imp_port)
12401240
off = B53_RGMII_CTRL_IMP;
12411241
else
12421242
off = B53_RGMII_CTRL_P(port);
@@ -2280,6 +2280,7 @@ struct b53_chip_data {
22802280
const char *dev_name;
22812281
u16 vlans;
22822282
u16 enabled_ports;
2283+
u8 imp_port;
22832284
u8 cpu_port;
22842285
u8 vta_regs[3];
22852286
u8 arl_bins;
@@ -2304,6 +2305,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23042305
.enabled_ports = 0x1f,
23052306
.arl_bins = 2,
23062307
.arl_buckets = 1024,
2308+
.imp_port = 5,
23072309
.cpu_port = B53_CPU_PORT_25,
23082310
.duplex_reg = B53_DUPLEX_STAT_FE,
23092311
},
@@ -2314,6 +2316,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23142316
.enabled_ports = 0x1f,
23152317
.arl_bins = 2,
23162318
.arl_buckets = 1024,
2319+
.imp_port = 5,
23172320
.cpu_port = B53_CPU_PORT_25,
23182321
.duplex_reg = B53_DUPLEX_STAT_FE,
23192322
},
@@ -2324,6 +2327,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23242327
.enabled_ports = 0x1f,
23252328
.arl_bins = 4,
23262329
.arl_buckets = 1024,
2330+
.imp_port = 8,
23272331
.cpu_port = B53_CPU_PORT,
23282332
.vta_regs = B53_VTA_REGS,
23292333
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2337,6 +2341,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23372341
.enabled_ports = 0x1f,
23382342
.arl_bins = 4,
23392343
.arl_buckets = 1024,
2344+
.imp_port = 8,
23402345
.cpu_port = B53_CPU_PORT,
23412346
.vta_regs = B53_VTA_REGS,
23422347
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2350,6 +2355,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23502355
.enabled_ports = 0x1f,
23512356
.arl_bins = 4,
23522357
.arl_buckets = 1024,
2358+
.imp_port = 8,
23532359
.cpu_port = B53_CPU_PORT,
23542360
.vta_regs = B53_VTA_REGS_9798,
23552361
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2363,6 +2369,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23632369
.enabled_ports = 0x7f,
23642370
.arl_bins = 4,
23652371
.arl_buckets = 1024,
2372+
.imp_port = 8,
23662373
.cpu_port = B53_CPU_PORT,
23672374
.vta_regs = B53_VTA_REGS_9798,
23682375
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2377,6 +2384,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23772384
.arl_bins = 4,
23782385
.arl_buckets = 1024,
23792386
.vta_regs = B53_VTA_REGS,
2387+
.imp_port = 8,
23802388
.cpu_port = B53_CPU_PORT,
23812389
.duplex_reg = B53_DUPLEX_STAT_GE,
23822390
.jumbo_pm_reg = B53_JUMBO_PORT_MASK,
@@ -2389,6 +2397,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
23892397
.enabled_ports = 0xff,
23902398
.arl_bins = 4,
23912399
.arl_buckets = 1024,
2400+
.imp_port = 8,
23922401
.cpu_port = B53_CPU_PORT,
23932402
.vta_regs = B53_VTA_REGS,
23942403
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2402,6 +2411,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24022411
.enabled_ports = 0x1ff,
24032412
.arl_bins = 4,
24042413
.arl_buckets = 1024,
2414+
.imp_port = 8,
24052415
.cpu_port = B53_CPU_PORT,
24062416
.vta_regs = B53_VTA_REGS,
24072417
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2415,6 +2425,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24152425
.enabled_ports = 0, /* pdata must provide them */
24162426
.arl_bins = 4,
24172427
.arl_buckets = 1024,
2428+
.imp_port = 8,
24182429
.cpu_port = B53_CPU_PORT,
24192430
.vta_regs = B53_VTA_REGS_63XX,
24202431
.duplex_reg = B53_DUPLEX_STAT_63XX,
@@ -2428,6 +2439,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24282439
.enabled_ports = 0x1f,
24292440
.arl_bins = 4,
24302441
.arl_buckets = 1024,
2442+
.imp_port = 8,
24312443
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
24322444
.vta_regs = B53_VTA_REGS,
24332445
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2441,6 +2453,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24412453
.enabled_ports = 0x1bf,
24422454
.arl_bins = 4,
24432455
.arl_buckets = 1024,
2456+
.imp_port = 8,
24442457
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
24452458
.vta_regs = B53_VTA_REGS,
24462459
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2454,6 +2467,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24542467
.enabled_ports = 0x1bf,
24552468
.arl_bins = 4,
24562469
.arl_buckets = 1024,
2470+
.imp_port = 8,
24572471
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
24582472
.vta_regs = B53_VTA_REGS,
24592473
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2467,6 +2481,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24672481
.enabled_ports = 0x1f,
24682482
.arl_bins = 4,
24692483
.arl_buckets = 1024,
2484+
.imp_port = 8,
24702485
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
24712486
.vta_regs = B53_VTA_REGS,
24722487
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2480,6 +2495,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24802495
.enabled_ports = 0x1f,
24812496
.arl_bins = 4,
24822497
.arl_buckets = 1024,
2498+
.imp_port = 8,
24832499
.cpu_port = B53_CPU_PORT_25, /* TODO: auto detect */
24842500
.vta_regs = B53_VTA_REGS,
24852501
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2493,6 +2509,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
24932509
.enabled_ports = 0x1ff,
24942510
.arl_bins = 4,
24952511
.arl_buckets = 1024,
2512+
.imp_port = 8,
24962513
.cpu_port = B53_CPU_PORT,
24972514
.vta_regs = B53_VTA_REGS,
24982515
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2506,6 +2523,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
25062523
.enabled_ports = 0x103,
25072524
.arl_bins = 4,
25082525
.arl_buckets = 1024,
2526+
.imp_port = 8,
25092527
.cpu_port = B53_CPU_PORT,
25102528
.vta_regs = B53_VTA_REGS,
25112529
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2520,6 +2538,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
25202538
.enabled_ports = 0x1bf,
25212539
.arl_bins = 4,
25222540
.arl_buckets = 256,
2541+
.imp_port = 8,
25232542
.cpu_port = 8, /* TODO: ports 4, 5, 8 */
25242543
.vta_regs = B53_VTA_REGS,
25252544
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2533,6 +2552,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
25332552
.enabled_ports = 0x1ff,
25342553
.arl_bins = 4,
25352554
.arl_buckets = 1024,
2555+
.imp_port = 8,
25362556
.cpu_port = B53_CPU_PORT,
25372557
.vta_regs = B53_VTA_REGS,
25382558
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2546,6 +2566,7 @@ static const struct b53_chip_data b53_switch_chips[] = {
25462566
.enabled_ports = 0x1ff,
25472567
.arl_bins = 4,
25482568
.arl_buckets = 256,
2569+
.imp_port = 8,
25492570
.cpu_port = B53_CPU_PORT,
25502571
.vta_regs = B53_VTA_REGS,
25512572
.duplex_reg = B53_DUPLEX_STAT_GE,
@@ -2571,6 +2592,7 @@ static int b53_switch_init(struct b53_device *dev)
25712592
dev->vta_regs[1] = chip->vta_regs[1];
25722593
dev->vta_regs[2] = chip->vta_regs[2];
25732594
dev->jumbo_pm_reg = chip->jumbo_pm_reg;
2595+
dev->imp_port = chip->imp_port;
25742596
dev->cpu_port = chip->cpu_port;
25752597
dev->num_vlans = chip->vlans;
25762598
dev->num_arl_bins = chip->arl_bins;
@@ -2612,9 +2634,10 @@ static int b53_switch_init(struct b53_device *dev)
26122634
dev->cpu_port = 5;
26132635
}
26142636

2615-
/* cpu port is always last */
2616-
dev->num_ports = dev->cpu_port + 1;
26172637
dev->enabled_ports |= BIT(dev->cpu_port);
2638+
dev->num_ports = fls(dev->enabled_ports);
2639+
2640+
dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS);
26182641

26192642
/* Include non standard CPU port built-in PHYs to be probed */
26202643
if (is539x(dev) || is531x5(dev)) {
@@ -2660,7 +2683,6 @@ struct b53_device *b53_switch_alloc(struct device *base,
26602683
return NULL;
26612684

26622685
ds->dev = base;
2663-
ds->num_ports = DSA_MAX_PORTS;
26642686

26652687
dev = devm_kzalloc(base, sizeof(*dev), GFP_KERNEL);
26662688
if (!dev)

drivers/net/dsa/b53/b53_priv.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ struct b53_device {
123123

124124
/* used ports mask */
125125
u16 enabled_ports;
126+
unsigned int imp_port;
126127
unsigned int cpu_port;
127128

128129
/* connect specific data */

0 commit comments

Comments
 (0)