Skip to content

Commit 09ed8bf

Browse files
dmosbergerKalle Valo
authored andcommitted
wilc1000: Rename workqueue from "WILC_wq" to "NETDEV-wq"
This follows normal Linux convention and is more useful since the new name will make it apparent which network device the work-queue is for (e.g., the name will be "wlan0-wq" for network device "wlan0"). hif_workqueue allocation has to move from cfg80211.c:wilc_cfg80211_init() to netdev.c:wilc_netdev_ifc_init() because the network device name is not known until after the netdev is registered. The move also makes sense because netdev.c is already responsible for destroying the work queue when it is no longer needed. Signed-off-by: David Mosberger-Tang <davidm@egauge.net> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20211209044411.3482259-5-davidm@egauge.net
1 parent 3cc2393 commit 09ed8bf

File tree

2 files changed

+14
-11
lines changed

2 files changed

+14
-11
lines changed

drivers/net/wireless/microchip/wilc1000/cfg80211.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1737,23 +1737,15 @@ int wilc_cfg80211_init(struct wilc **wilc, struct device *dev, int io_type,
17371737
INIT_LIST_HEAD(&wl->rxq_head.list);
17381738
INIT_LIST_HEAD(&wl->vif_list);
17391739

1740-
wl->hif_workqueue = create_singlethread_workqueue("WILC_wq");
1741-
if (!wl->hif_workqueue) {
1742-
ret = -ENOMEM;
1743-
goto free_cfg;
1744-
}
17451740
vif = wilc_netdev_ifc_init(wl, "wlan%d", WILC_STATION_MODE,
17461741
NL80211_IFTYPE_STATION, false);
17471742
if (IS_ERR(vif)) {
17481743
ret = PTR_ERR(vif);
1749-
goto free_hq;
1744+
goto free_cfg;
17501745
}
17511746

17521747
return 0;
17531748

1754-
free_hq:
1755-
destroy_workqueue(wl->hif_workqueue);
1756-
17571749
free_cfg:
17581750
wilc_wlan_cfg_deinit(wl);
17591751

drivers/net/wireless/microchip/wilc1000/netdev.c

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -962,8 +962,15 @@ struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
962962
ret = register_netdev(ndev);
963963

964964
if (ret) {
965-
free_netdev(ndev);
966-
return ERR_PTR(-EFAULT);
965+
ret = -EFAULT;
966+
goto error;
967+
}
968+
969+
wl->hif_workqueue = alloc_ordered_workqueue("%s-wq", WQ_MEM_RECLAIM,
970+
ndev->name);
971+
if (!wl->hif_workqueue) {
972+
ret = -ENOMEM;
973+
goto error;
967974
}
968975

969976
ndev->needs_free_netdev = true;
@@ -977,6 +984,10 @@ struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
977984
synchronize_srcu(&wl->srcu);
978985

979986
return vif;
987+
988+
error:
989+
free_netdev(ndev);
990+
return ERR_PTR(ret);
980991
}
981992

982993
MODULE_LICENSE("GPL");

0 commit comments

Comments
 (0)