Skip to content

Commit

Permalink
wilc1000: Rename workqueue from "WILC_wq" to "NETDEV-wq"
Browse files Browse the repository at this point in the history
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
  • Loading branch information
David Mosberger-Tang authored and Kalle Valo committed Dec 14, 2021
1 parent 3cc2393 commit 09ed8bf
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 11 deletions.
10 changes: 1 addition & 9 deletions drivers/net/wireless/microchip/wilc1000/cfg80211.c
Original file line number Diff line number Diff line change
Expand Up @@ -1737,23 +1737,15 @@ int wilc_cfg80211_init(struct wilc **wilc, struct device *dev, int io_type,
INIT_LIST_HEAD(&wl->rxq_head.list);
INIT_LIST_HEAD(&wl->vif_list);

wl->hif_workqueue = create_singlethread_workqueue("WILC_wq");
if (!wl->hif_workqueue) {
ret = -ENOMEM;
goto free_cfg;
}
vif = wilc_netdev_ifc_init(wl, "wlan%d", WILC_STATION_MODE,
NL80211_IFTYPE_STATION, false);
if (IS_ERR(vif)) {
ret = PTR_ERR(vif);
goto free_hq;
goto free_cfg;
}

return 0;

free_hq:
destroy_workqueue(wl->hif_workqueue);

free_cfg:
wilc_wlan_cfg_deinit(wl);

Expand Down
15 changes: 13 additions & 2 deletions drivers/net/wireless/microchip/wilc1000/netdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -962,8 +962,15 @@ struct wilc_vif *wilc_netdev_ifc_init(struct wilc *wl, const char *name,
ret = register_netdev(ndev);

if (ret) {
free_netdev(ndev);
return ERR_PTR(-EFAULT);
ret = -EFAULT;
goto error;
}

wl->hif_workqueue = alloc_ordered_workqueue("%s-wq", WQ_MEM_RECLAIM,
ndev->name);
if (!wl->hif_workqueue) {
ret = -ENOMEM;
goto error;
}

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

return vif;

error:
free_netdev(ndev);
return ERR_PTR(ret);
}

MODULE_LICENSE("GPL");
Expand Down

0 comments on commit 09ed8bf

Please sign in to comment.