Skip to content

Commit e52f7c1

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Merge in the left-over fixes before the net-next pull-request. Conflicts: drivers/net/ethernet/mediatek/mtk_ppe.c ae3ed15 ("net: ethernet: mtk_eth_soc: fix state in __mtk_foe_entry_clear") 9d8cb4c ("net: ethernet: mtk_eth_soc: add foe_entry_size to mtk_eth_soc") https://lore.kernel.org/all/6cb6893b-4921-a068-4c30-1109795110bb@tessares.net/ kernel/bpf/helpers.c 8addbfc ("bpf: Gate dynptr API behind CAP_BPF") 5679ff2 ("bpf: Move bpf_loop and bpf_for_each_map_elem under CAP_BPF") 8a67f2d ("bpf: expose bpf_strtol and bpf_strtoul to all program types") https://lore.kernel.org/all/20221003201957.13149-1-daniel@iogearbox.net/ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2 parents 2a4187f + 0152dfe commit e52f7c1

File tree

45 files changed

+264
-120
lines changed

Some content is hidden

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

45 files changed

+264
-120
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3833,6 +3833,7 @@ F: kernel/bpf/dispatcher.c
38333833
F: kernel/bpf/trampoline.c
38343834
F: include/linux/bpf*
38353835
F: include/linux/filter.h
3836+
F: include/linux/tnum.h
38363837

38373838
BPF [BTF]
38383839
M: Martin KaFai Lau <martin.lau@linux.dev>

drivers/isdn/mISDN/l1oip.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ struct l1oip {
5959
int bundle; /* bundle channels in one frm */
6060
int codec; /* codec to use for transmis. */
6161
int limit; /* limit number of bchannels */
62+
bool shutdown; /* if card is released */
6263

6364
/* timer */
6465
struct timer_list keep_tl;

drivers/isdn/mISDN/l1oip_core.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ l1oip_socket_send(struct l1oip *hc, u8 localcodec, u8 channel, u32 chanmask,
275275
p = frame;
276276

277277
/* restart timer */
278-
if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ))
278+
if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ) && !hc->shutdown)
279279
mod_timer(&hc->keep_tl, jiffies + L1OIP_KEEPALIVE * HZ);
280280
else
281281
hc->keep_tl.expires = jiffies + L1OIP_KEEPALIVE * HZ;
@@ -601,7 +601,9 @@ l1oip_socket_parse(struct l1oip *hc, struct sockaddr_in *sin, u8 *buf, int len)
601601
goto multiframe;
602602

603603
/* restart timer */
604-
if (time_before(hc->timeout_tl.expires, jiffies + 5 * HZ) || !hc->timeout_on) {
604+
if ((time_before(hc->timeout_tl.expires, jiffies + 5 * HZ) ||
605+
!hc->timeout_on) &&
606+
!hc->shutdown) {
605607
hc->timeout_on = 1;
606608
mod_timer(&hc->timeout_tl, jiffies + L1OIP_TIMEOUT * HZ);
607609
} else /* only adjust timer */
@@ -1232,11 +1234,10 @@ release_card(struct l1oip *hc)
12321234
{
12331235
int ch;
12341236

1235-
if (timer_pending(&hc->keep_tl))
1236-
del_timer(&hc->keep_tl);
1237+
hc->shutdown = true;
12371238

1238-
if (timer_pending(&hc->timeout_tl))
1239-
del_timer(&hc->timeout_tl);
1239+
del_timer_sync(&hc->keep_tl);
1240+
del_timer_sync(&hc->timeout_tl);
12401241

12411242
cancel_work_sync(&hc->workq);
12421243

drivers/net/ethernet/atheros/alx/main.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1912,11 +1912,14 @@ static int alx_suspend(struct device *dev)
19121912

19131913
if (!netif_running(alx->dev))
19141914
return 0;
1915+
1916+
rtnl_lock();
19151917
netif_device_detach(alx->dev);
19161918

19171919
mutex_lock(&alx->mtx);
19181920
__alx_stop(alx);
19191921
mutex_unlock(&alx->mtx);
1922+
rtnl_unlock();
19201923

19211924
return 0;
19221925
}
@@ -1927,6 +1930,7 @@ static int alx_resume(struct device *dev)
19271930
struct alx_hw *hw = &alx->hw;
19281931
int err;
19291932

1933+
rtnl_lock();
19301934
mutex_lock(&alx->mtx);
19311935
alx_reset_phy(hw);
19321936

@@ -1943,6 +1947,7 @@ static int alx_resume(struct device *dev)
19431947

19441948
unlock:
19451949
mutex_unlock(&alx->mtx);
1950+
rtnl_unlock();
19461951
return err;
19471952
}
19481953

drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -787,6 +787,7 @@ static void bnx2x_tpa_stop(struct bnx2x *bp, struct bnx2x_fastpath *fp,
787787
BNX2X_ERR("skb_put is about to fail... pad %d len %d rx_buf_size %d\n",
788788
pad, len, fp->rx_buf_size);
789789
bnx2x_panic();
790+
bnx2x_frag_free(fp, new_data);
790791
return;
791792
}
792793
#endif

drivers/net/ethernet/marvell/mvpp2/mvpp2.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1530,6 +1530,7 @@ u32 mvpp2_read(struct mvpp2 *priv, u32 offset);
15301530
void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name);
15311531

15321532
void mvpp2_dbgfs_cleanup(struct mvpp2 *priv);
1533+
void mvpp2_dbgfs_exit(void);
15331534

15341535
void mvpp23_rx_fifo_fc_en(struct mvpp2 *priv, int port, bool en);
15351536

drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,13 @@ static int mvpp2_dbgfs_port_init(struct dentry *parent,
691691
return 0;
692692
}
693693

694+
static struct dentry *mvpp2_root;
695+
696+
void mvpp2_dbgfs_exit(void)
697+
{
698+
debugfs_remove(mvpp2_root);
699+
}
700+
694701
void mvpp2_dbgfs_cleanup(struct mvpp2 *priv)
695702
{
696703
debugfs_remove_recursive(priv->dbgfs_dir);
@@ -700,10 +707,9 @@ void mvpp2_dbgfs_cleanup(struct mvpp2 *priv)
700707

701708
void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name)
702709
{
703-
struct dentry *mvpp2_dir, *mvpp2_root;
710+
struct dentry *mvpp2_dir;
704711
int ret, i;
705712

706-
mvpp2_root = debugfs_lookup(MVPP2_DRIVER_NAME, NULL);
707713
if (!mvpp2_root)
708714
mvpp2_root = debugfs_create_dir(MVPP2_DRIVER_NAME, NULL);
709715

drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7704,7 +7704,18 @@ static struct platform_driver mvpp2_driver = {
77047704
},
77057705
};
77067706

7707-
module_platform_driver(mvpp2_driver);
7707+
static int __init mvpp2_driver_init(void)
7708+
{
7709+
return platform_driver_register(&mvpp2_driver);
7710+
}
7711+
module_init(mvpp2_driver_init);
7712+
7713+
static void __exit mvpp2_driver_exit(void)
7714+
{
7715+
platform_driver_unregister(&mvpp2_driver);
7716+
mvpp2_dbgfs_exit();
7717+
}
7718+
module_exit(mvpp2_driver_exit);
77087719

77097720
MODULE_DESCRIPTION("Marvell PPv2 Ethernet Driver - www.marvell.com");
77107721
MODULE_AUTHOR("Marcin Wojtas <mw@semihalf.com>");

drivers/net/ethernet/marvell/prestera/prestera_acl.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,10 +185,14 @@ prestera_acl_ruleset_create(struct prestera_acl *acl,
185185
return ERR_PTR(err);
186186
}
187187

188-
void prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset,
189-
void *keymask)
188+
int prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset,
189+
void *keymask)
190190
{
191191
ruleset->keymask = kmemdup(keymask, ACL_KEYMASK_SIZE, GFP_KERNEL);
192+
if (!ruleset->keymask)
193+
return -ENOMEM;
194+
195+
return 0;
192196
}
193197

194198
int prestera_acl_ruleset_offload(struct prestera_acl_ruleset *ruleset)

drivers/net/ethernet/marvell/prestera/prestera_acl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ struct prestera_acl_ruleset *
185185
prestera_acl_ruleset_lookup(struct prestera_acl *acl,
186186
struct prestera_flow_block *block,
187187
u32 chain_index);
188-
void prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset,
189-
void *keymask);
188+
int prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset,
189+
void *keymask);
190190
bool prestera_acl_ruleset_is_offload(struct prestera_acl_ruleset *ruleset);
191191
int prestera_acl_ruleset_offload(struct prestera_acl_ruleset *ruleset);
192192
void prestera_acl_ruleset_put(struct prestera_acl_ruleset *ruleset);

0 commit comments

Comments
 (0)