Skip to content

Commit 345464f

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Pull networking fixes from David Miller: 1) Fix some length checks during OGM processing in batman-adv, from Sven Eckelmann. 2) Fix regression that caused netfilter conntrack sysctls to not be per-netns any more. From Florian Westphal. 3) Use after free in netpoll, from Feng Sun. 4) Guard destruction of pfifo_fast per-cpu qdisc stats with qdisc_is_percpu_stats(), from Davide Caratti. Similar bug is fixed in pfifo_fast_enqueue(). 5) Fix memory leak in mld_del_delrec(), from Eric Dumazet. 6) Handle neigh events on internal ports correctly in nfp, from John Hurley. 7) Clear SKB timestamp in NF flow table code so that it does not confuse fq scheduler. From Florian Westphal. 8) taprio destroy can crash if it is invoked in a failure path of taprio_init(), because the list head isn't setup properly yet and the list del is unconditional. Perform the list add earlier to address this. From Vladimir Oltean. 9) Make sure to reapply vlan filters on device up, in aquantia driver. From Dmitry Bogdanov. 10) sgiseeq driver releases DMA memory using free_page() instead of dma_free_attrs(). From Christophe JAILLET. * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (58 commits) net: seeq: Fix the function used to release some memory in an error handling path enetc: Add missing call to 'pci_free_irq_vectors()' in probe and remove functions net: bcmgenet: use ethtool_op_get_ts_info() tc-testing: don't hardcode 'ip' in nsPlugin.py net: dsa: microchip: add KSZ8563 compatibility string dt-bindings: net: dsa: document additional Microchip KSZ8563 switch net: aquantia: fix out of memory condition on rx side net: aquantia: linkstate irq should be oneshot net: aquantia: reapply vlan filters on up net: aquantia: fix limit of vlan filters net: aquantia: fix removal of vlan 0 net/sched: cbs: Set default link speed to 10 Mbps in cbs_set_port_rate taprio: Set default link speed to 10 Mbps in taprio_set_picos_per_byte taprio: Fix kernel panic in taprio_destroy net: dsa: microchip: fill regmap_config name rxrpc: Fix lack of conn cleanup when local endpoint is cleaned up [ver #2] net: stmmac: dwmac-rk: Don't fail if phy regulator is absent amd-xgbe: Fix error path in xgbe_mod_init() netfilter: nft_meta_bridge: Fix get NFT_META_BRI_IIFVPROTO in network byteorder mac80211: Correctly set noencrypt for PAE frames ...
2 parents 9f159ae + e1e54ec commit 345464f

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

+761
-487
lines changed

Documentation/devicetree/bindings/net/dsa/ksz.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ Required properties:
1212
- "microchip,ksz8565"
1313
- "microchip,ksz9893"
1414
- "microchip,ksz9563"
15+
- "microchip,ksz8563"
1516

1617
Optional properties:
1718

Documentation/devicetree/bindings/net/macb.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ Required properties:
1515
Use "atmel,sama5d4-gem" for the GEM IP (10/100) available on Atmel sama5d4 SoCs.
1616
Use "cdns,zynq-gem" Xilinx Zynq-7xxx SoC.
1717
Use "cdns,zynqmp-gem" for Zynq Ultrascale+ MPSoC.
18-
Use "sifive,fu540-macb" for SiFive FU540-C000 SoC.
18+
Use "sifive,fu540-c000-gem" for SiFive FU540-C000 SoC.
1919
Or the generic form: "cdns,emac".
2020
- reg: Address and length of the register set for the device
21-
For "sifive,fu540-macb", second range is required to specify the
21+
For "sifive,fu540-c000-gem", second range is required to specify the
2222
address and length of the registers for GEMGXL Management block.
2323
- interrupts: Should contain macb interrupt
2424
- phy-mode: See ethernet.txt file in the same directory.

drivers/net/dsa/microchip/ksz9477_spi.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ static const struct of_device_id ksz9477_dt_ids[] = {
8181
{ .compatible = "microchip,ksz9897" },
8282
{ .compatible = "microchip,ksz9893" },
8383
{ .compatible = "microchip,ksz9563" },
84+
{ .compatible = "microchip,ksz8563" },
8485
{},
8586
};
8687
MODULE_DEVICE_TABLE(of, ksz9477_dt_ids);

drivers/net/dsa/microchip/ksz_common.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ static inline void ksz_pwrite32(struct ksz_device *dev, int port, int offset,
128128

129129
#define KSZ_REGMAP_ENTRY(width, swp, regbits, regpad, regalign) \
130130
{ \
131+
.name = #width, \
131132
.val_bits = (width), \
132133
.reg_stride = (width) / 8, \
133134
.reg_bits = (regbits) + (regalign), \

drivers/net/ethernet/amd/xgbe/xgbe-main.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -469,13 +469,19 @@ static int __init xgbe_mod_init(void)
469469

470470
ret = xgbe_platform_init();
471471
if (ret)
472-
return ret;
472+
goto err_platform_init;
473473

474474
ret = xgbe_pci_init();
475475
if (ret)
476-
return ret;
476+
goto err_pci_init;
477477

478478
return 0;
479+
480+
err_pci_init:
481+
xgbe_platform_exit();
482+
err_platform_init:
483+
unregister_netdevice_notifier(&xgbe_netdev_notifier);
484+
return ret;
479485
}
480486

481487
static void __exit xgbe_mod_exit(void)

drivers/net/ethernet/aquantia/atlantic/aq_filters.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,8 @@ int aq_del_fvlan_by_vlan(struct aq_nic_s *aq_nic, u16 vlan_id)
431431
if (be16_to_cpu(rule->aq_fsp.h_ext.vlan_tci) == vlan_id)
432432
break;
433433
}
434-
if (rule && be16_to_cpu(rule->aq_fsp.h_ext.vlan_tci) == vlan_id) {
434+
if (rule && rule->type == aq_rx_filter_vlan &&
435+
be16_to_cpu(rule->aq_fsp.h_ext.vlan_tci) == vlan_id) {
435436
struct ethtool_rxnfc cmd;
436437

437438
cmd.fs.location = rule->aq_fsp.location;
@@ -843,7 +844,7 @@ int aq_filters_vlans_update(struct aq_nic_s *aq_nic)
843844
return err;
844845

845846
if (aq_nic->ndev->features & NETIF_F_HW_VLAN_CTAG_FILTER) {
846-
if (hweight < AQ_VLAN_MAX_FILTERS && hweight > 0) {
847+
if (hweight <= AQ_VLAN_MAX_FILTERS && hweight > 0) {
847848
err = aq_hw_ops->hw_filter_vlan_ctrl(aq_hw,
848849
!(aq_nic->packet_filter & IFF_PROMISC));
849850
aq_nic->aq_nic_cfg.is_vlan_force_promisc = false;

drivers/net/ethernet/aquantia/atlantic/aq_main.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,10 @@ static int aq_ndev_open(struct net_device *ndev)
6161
if (err < 0)
6262
goto err_exit;
6363

64+
err = aq_filters_vlans_update(aq_nic);
65+
if (err < 0)
66+
goto err_exit;
67+
6468
err = aq_nic_start(aq_nic);
6569
if (err < 0)
6670
goto err_exit;

drivers/net/ethernet/aquantia/atlantic/aq_nic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ int aq_nic_start(struct aq_nic_s *self)
393393
self->aq_nic_cfg.link_irq_vec);
394394
err = request_threaded_irq(irqvec, NULL,
395395
aq_linkstate_threaded_isr,
396-
IRQF_SHARED,
396+
IRQF_SHARED | IRQF_ONESHOT,
397397
self->ndev->name, self);
398398
if (err < 0)
399399
goto err_exit;

drivers/net/ethernet/aquantia/atlantic/aq_vec.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ static int aq_vec_poll(struct napi_struct *napi, int budget)
8686
}
8787
}
8888

89+
err_exit:
8990
if (!was_tx_cleaned)
9091
work_done = budget;
9192

@@ -95,7 +96,7 @@ static int aq_vec_poll(struct napi_struct *napi, int budget)
9596
1U << self->aq_ring_param.vec_idx);
9697
}
9798
}
98-
err_exit:
99+
99100
return work_done;
100101
}
101102

drivers/net/ethernet/broadcom/genet/bcmgenet.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1124,6 +1124,7 @@ static const struct ethtool_ops bcmgenet_ethtool_ops = {
11241124
.set_coalesce = bcmgenet_set_coalesce,
11251125
.get_link_ksettings = bcmgenet_get_link_ksettings,
11261126
.set_link_ksettings = bcmgenet_set_link_ksettings,
1127+
.get_ts_info = ethtool_op_get_ts_info,
11271128
};
11281129

11291130
/* Power down the unimac, based on mode. */

drivers/net/ethernet/cadence/macb_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4154,7 +4154,7 @@ static const struct of_device_id macb_dt_ids[] = {
41544154
{ .compatible = "cdns,emac", .data = &emac_config },
41554155
{ .compatible = "cdns,zynqmp-gem", .data = &zynqmp_config},
41564156
{ .compatible = "cdns,zynq-gem", .data = &zynq_config },
4157-
{ .compatible = "sifive,fu540-macb", .data = &fu540_c000_config },
4157+
{ .compatible = "sifive,fu540-c000-gem", .data = &fu540_c000_config },
41584158
{ /* sentinel */ }
41594159
};
41604160
MODULE_DEVICE_TABLE(of, macb_dt_ids);

drivers/net/ethernet/freescale/enetc/enetc_ptp.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ static int enetc_ptp_probe(struct pci_dev *pdev,
8282
n = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_MSIX);
8383
if (n != 1) {
8484
err = -EPERM;
85-
goto err_irq;
85+
goto err_irq_vectors;
8686
}
8787

8888
ptp_qoriq->irq = pci_irq_vector(pdev, 0);
@@ -107,6 +107,8 @@ static int enetc_ptp_probe(struct pci_dev *pdev,
107107
err_no_clock:
108108
free_irq(ptp_qoriq->irq, ptp_qoriq);
109109
err_irq:
110+
pci_free_irq_vectors(pdev);
111+
err_irq_vectors:
110112
iounmap(base);
111113
err_ioremap:
112114
kfree(ptp_qoriq);
@@ -125,6 +127,7 @@ static void enetc_ptp_remove(struct pci_dev *pdev)
125127

126128
enetc_phc_index = -1;
127129
ptp_qoriq_free(ptp_qoriq);
130+
pci_free_irq_vectors(pdev);
128131
kfree(ptp_qoriq);
129132

130133
pci_release_mem_regions(pdev);

drivers/net/ethernet/ibm/ibmvnic.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1983,6 +1983,10 @@ static void __ibmvnic_reset(struct work_struct *work)
19831983

19841984
rwi = get_next_rwi(adapter);
19851985
while (rwi) {
1986+
if (adapter->state == VNIC_REMOVING ||
1987+
adapter->state == VNIC_REMOVED)
1988+
goto out;
1989+
19861990
if (adapter->force_reset_recovery) {
19871991
adapter->force_reset_recovery = false;
19881992
rc = do_hard_reset(adapter, rwi, reset_state);
@@ -2007,7 +2011,7 @@ static void __ibmvnic_reset(struct work_struct *work)
20072011
netdev_dbg(adapter->netdev, "Reset failed\n");
20082012
free_all_rwi(adapter);
20092013
}
2010-
2014+
out:
20112015
adapter->resetting = false;
20122016
if (we_lock_rtnl)
20132017
rtnl_unlock();

drivers/net/ethernet/marvell/sky2.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4931,6 +4931,13 @@ static const struct dmi_system_id msi_blacklist[] = {
49314931
DMI_MATCH(DMI_BOARD_NAME, "P6T"),
49324932
},
49334933
},
4934+
{
4935+
.ident = "ASUS P6X",
4936+
.matches = {
4937+
DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
4938+
DMI_MATCH(DMI_BOARD_NAME, "P6X"),
4939+
},
4940+
},
49344941
{}
49354942
};
49364943

drivers/net/ethernet/netronome/nfp/bpf/jit.c

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@ mem_op_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta,
11631163
bool clr_gpr, lmem_step step)
11641164
{
11651165
s32 off = nfp_prog->stack_frame_depth + meta->insn.off + ptr_off;
1166-
bool first = true, last;
1166+
bool first = true, narrow_ld, last;
11671167
bool needs_inc = false;
11681168
swreg stack_off_reg;
11691169
u8 prev_gpr = 255;
@@ -1209,13 +1209,22 @@ mem_op_stack(struct nfp_prog *nfp_prog, struct nfp_insn_meta *meta,
12091209

12101210
needs_inc = true;
12111211
}
1212+
1213+
narrow_ld = clr_gpr && size < 8;
1214+
12121215
if (lm3) {
1216+
unsigned int nop_cnt;
1217+
12131218
emit_csr_wr(nfp_prog, imm_b(nfp_prog), NFP_CSR_ACT_LM_ADDR3);
1214-
/* For size < 4 one slot will be filled by zeroing of upper. */
1215-
wrp_nops(nfp_prog, clr_gpr && size < 8 ? 2 : 3);
1219+
/* For size < 4 one slot will be filled by zeroing of upper,
1220+
* but be careful, that zeroing could be eliminated by zext
1221+
* optimization.
1222+
*/
1223+
nop_cnt = narrow_ld && meta->flags & FLAG_INSN_DO_ZEXT ? 2 : 3;
1224+
wrp_nops(nfp_prog, nop_cnt);
12161225
}
12171226

1218-
if (clr_gpr && size < 8)
1227+
if (narrow_ld)
12191228
wrp_zext(nfp_prog, meta, gpr);
12201229

12211230
while (size) {

drivers/net/ethernet/netronome/nfp/flower/offload.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1409,9 +1409,10 @@ nfp_flower_setup_indr_tc_block(struct net_device *netdev, struct nfp_app *app,
14091409
struct nfp_flower_priv *priv = app->priv;
14101410
struct flow_block_cb *block_cb;
14111411

1412-
if (f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS &&
1413-
!(f->binder_type == FLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS &&
1414-
nfp_flower_internal_port_can_offload(app, netdev)))
1412+
if ((f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_INGRESS &&
1413+
!nfp_flower_internal_port_can_offload(app, netdev)) ||
1414+
(f->binder_type != FLOW_BLOCK_BINDER_TYPE_CLSACT_EGRESS &&
1415+
nfp_flower_internal_port_can_offload(app, netdev)))
14151416
return -EOPNOTSUPP;
14161417

14171418
switch (f->command) {

drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,13 +328,13 @@ nfp_tun_neigh_event_handler(struct notifier_block *nb, unsigned long event,
328328

329329
flow.daddr = *(__be32 *)n->primary_key;
330330

331-
/* Only concerned with route changes for representors. */
332-
if (!nfp_netdev_is_nfp_repr(n->dev))
333-
return NOTIFY_DONE;
334-
335331
app_priv = container_of(nb, struct nfp_flower_priv, tun.neigh_nb);
336332
app = app_priv->app;
337333

334+
if (!nfp_netdev_is_nfp_repr(n->dev) &&
335+
!nfp_flower_internal_port_can_offload(app, n->dev))
336+
return NOTIFY_DONE;
337+
338338
/* Only concerned with changes to routes already added to NFP. */
339339
if (!nfp_tun_has_route(app, flow.daddr))
340340
return NOTIFY_DONE;

drivers/net/ethernet/seeq/sgiseeq.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -794,15 +794,16 @@ static int sgiseeq_probe(struct platform_device *pdev)
794794
printk(KERN_ERR "Sgiseeq: Cannot register net device, "
795795
"aborting.\n");
796796
err = -ENODEV;
797-
goto err_out_free_page;
797+
goto err_out_free_attrs;
798798
}
799799

800800
printk(KERN_INFO "%s: %s %pM\n", dev->name, sgiseeqstr, dev->dev_addr);
801801

802802
return 0;
803803

804-
err_out_free_page:
805-
free_page((unsigned long) sp->srings);
804+
err_out_free_attrs:
805+
dma_free_attrs(&pdev->dev, sizeof(*sp->srings), sp->srings,
806+
sp->srings_dma, DMA_ATTR_NON_CONSISTENT);
806807
err_out_free_dev:
807808
free_netdev(dev);
808809

drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,10 +1194,8 @@ static int phy_power_on(struct rk_priv_data *bsp_priv, bool enable)
11941194
int ret;
11951195
struct device *dev = &bsp_priv->pdev->dev;
11961196

1197-
if (!ldo) {
1198-
dev_err(dev, "no regulator found\n");
1199-
return -1;
1200-
}
1197+
if (!ldo)
1198+
return 0;
12011199

12021200
if (enable) {
12031201
ret = regulator_enable(ldo);

drivers/net/phy/phy-c45.c

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -523,6 +523,32 @@ int genphy_c45_read_status(struct phy_device *phydev)
523523
}
524524
EXPORT_SYMBOL_GPL(genphy_c45_read_status);
525525

526+
/**
527+
* genphy_c45_config_aneg - restart auto-negotiation or forced setup
528+
* @phydev: target phy_device struct
529+
*
530+
* Description: If auto-negotiation is enabled, we configure the
531+
* advertising, and then restart auto-negotiation. If it is not
532+
* enabled, then we force a configuration.
533+
*/
534+
int genphy_c45_config_aneg(struct phy_device *phydev)
535+
{
536+
bool changed = false;
537+
int ret;
538+
539+
if (phydev->autoneg == AUTONEG_DISABLE)
540+
return genphy_c45_pma_setup_forced(phydev);
541+
542+
ret = genphy_c45_an_config_aneg(phydev);
543+
if (ret < 0)
544+
return ret;
545+
if (ret > 0)
546+
changed = true;
547+
548+
return genphy_c45_check_and_restart_aneg(phydev, changed);
549+
}
550+
EXPORT_SYMBOL_GPL(genphy_c45_config_aneg);
551+
526552
/* The gen10g_* functions are the old Clause 45 stub */
527553

528554
int gen10g_config_aneg(struct phy_device *phydev)

drivers/net/phy/phy.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ static int phy_config_aneg(struct phy_device *phydev)
507507
* allowed to call genphy_config_aneg()
508508
*/
509509
if (phydev->is_c45 && !(phydev->c45_ids.devices_in_package & BIT(0)))
510-
return -EOPNOTSUPP;
510+
return genphy_c45_config_aneg(phydev);
511511

512512
return genphy_config_aneg(phydev);
513513
}

drivers/net/usb/r8152.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4021,8 +4021,7 @@ static int rtl8152_close(struct net_device *netdev)
40214021
#ifdef CONFIG_PM_SLEEP
40224022
unregister_pm_notifier(&tp->pm_notifier);
40234023
#endif
4024-
if (!test_bit(RTL8152_UNPLUG, &tp->flags))
4025-
napi_disable(&tp->napi);
4024+
napi_disable(&tp->napi);
40264025
clear_bit(WORK_ENABLE, &tp->flags);
40274026
usb_kill_urb(tp->intr_urb);
40284027
cancel_delayed_work_sync(&tp->schedule);
@@ -5353,7 +5352,6 @@ static int rtl8152_probe(struct usb_interface *intf,
53535352
return 0;
53545353

53555354
out1:
5356-
netif_napi_del(&tp->napi);
53575355
usb_set_intfdata(intf, NULL);
53585356
out:
53595357
free_netdev(netdev);
@@ -5368,7 +5366,6 @@ static void rtl8152_disconnect(struct usb_interface *intf)
53685366
if (tp) {
53695367
rtl_set_unplug(tp);
53705368

5371-
netif_napi_del(&tp->napi);
53725369
unregister_netdev(tp->netdev);
53735370
cancel_delayed_work_sync(&tp->hw_phy_work);
53745371
tp->rtl_ops.unload(tp);

drivers/net/wireless/intel/iwlwifi/cfg/22000.c

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,30 @@ const struct iwl_cfg killer1650i_2ax_cfg_qu_b0_hr_b0 = {
556556
.max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
557557
};
558558

559+
const struct iwl_cfg killer1650s_2ax_cfg_qu_c0_hr_b0 = {
560+
.name = "Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW)",
561+
.fw_name_pre = IWL_QU_C_HR_B_FW_PRE,
562+
IWL_DEVICE_22500,
563+
/*
564+
* This device doesn't support receiving BlockAck with a large bitmap
565+
* so we need to restrict the size of transmitted aggregation to the
566+
* HT size; mac80211 would otherwise pick the HE max (256) by default.
567+
*/
568+
.max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
569+
};
570+
571+
const struct iwl_cfg killer1650i_2ax_cfg_qu_c0_hr_b0 = {
572+
.name = "Killer(R) Wi-Fi 6 AX1650s 160MHz Wireless Network Adapter (201D2W)",
573+
.fw_name_pre = IWL_QU_C_HR_B_FW_PRE,
574+
IWL_DEVICE_22500,
575+
/*
576+
* This device doesn't support receiving BlockAck with a large bitmap
577+
* so we need to restrict the size of transmitted aggregation to the
578+
* HT size; mac80211 would otherwise pick the HE max (256) by default.
579+
*/
580+
.max_tx_agg_size = IEEE80211_MAX_AMPDU_BUF_HT,
581+
};
582+
559583
const struct iwl_cfg iwl22000_2ax_cfg_jf = {
560584
.name = "Intel(R) Dual Band Wireless AX 22000",
561585
.fw_name_pre = IWL_QU_B_JF_B_FW_PRE,

drivers/net/wireless/intel/iwlwifi/iwl-config.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,8 @@ extern const struct iwl_cfg iwl_ax1650i_cfg_quz_hr;
577577
extern const struct iwl_cfg iwl_ax1650s_cfg_quz_hr;
578578
extern const struct iwl_cfg killer1650s_2ax_cfg_qu_b0_hr_b0;
579579
extern const struct iwl_cfg killer1650i_2ax_cfg_qu_b0_hr_b0;
580+
extern const struct iwl_cfg killer1650s_2ax_cfg_qu_c0_hr_b0;
581+
extern const struct iwl_cfg killer1650i_2ax_cfg_qu_c0_hr_b0;
580582
extern const struct iwl_cfg killer1650x_2ax_cfg;
581583
extern const struct iwl_cfg killer1650w_2ax_cfg;
582584
extern const struct iwl_cfg iwl9461_2ac_cfg_qu_b0_jf_b0;

0 commit comments

Comments
 (0)