Skip to content

Commit 0d0b752

Browse files
SandyWinterkuba-moo
authored andcommitted
s390/qeth: move netif_napi_add_tx() and napi_enable() from under BH
Like other drivers qeth is calling local_bh_enable() after napi_schedule() to kick-start softirqs [0]. Since netif_napi_add_tx() and napi_enable() now take the netdev_lock() mutex [1], move them out from under the BH protection. Same solution as in commit a605586 ("wifi: mt76: move napi_enable() from under BH") Fixes: 1b23cdb ("net: protect netdev->napi_list with netdev_lock()") Link: https://lore.kernel.org/netdev/[email protected]/ [0] Link: https://lore.kernel.org/netdev/[email protected]/ [1] Signed-off-by: Alexandra Winter <[email protected]> Acked-by: Joe Damato <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent fee5d68 commit 0d0b752

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

drivers/s390/net/qeth_core_main.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7050,14 +7050,16 @@ int qeth_open(struct net_device *dev)
70507050
card->data.state = CH_STATE_UP;
70517051
netif_tx_start_all_queues(dev);
70527052

7053-
local_bh_disable();
70547053
qeth_for_each_output_queue(card, queue, i) {
70557054
netif_napi_add_tx(dev, &queue->napi, qeth_tx_poll);
70567055
napi_enable(&queue->napi);
7057-
napi_schedule(&queue->napi);
70587056
}
7059-
70607057
napi_enable(&card->napi);
7058+
7059+
local_bh_disable();
7060+
qeth_for_each_output_queue(card, queue, i) {
7061+
napi_schedule(&queue->napi);
7062+
}
70617063
napi_schedule(&card->napi);
70627064
/* kick-start the NAPI softirq: */
70637065
local_bh_enable();

0 commit comments

Comments
 (0)