drivers/staging/rtl8723bs/include/drv_types.h | 2 -- .../staging/rtl8723bs/include/osdep_intf.h | 1 - drivers/staging/rtl8723bs/os_dep/os_intfs.c | 27 +++---------------- 3 files changed, 3 insertions(+), 27 deletions(-)
The manual ifname allocation via dev_alloc_name() is redundant because
the networking core handles interface naming automatically during
register_netdev().
Remove the ifname module parameter, the corresponding field from
struct registry_priv, and the rtw_init_netdev_name() callpath.
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Svyatoslav Nikolenko <nsvatoslav515@gmail.com>
---
Changes in v3:
- Added missing changelog.
Changes in v2:
- Removed rtw_init_netdev_name() and the entire manual naming callpath
instead of hardcoding "wlan%d", as suggested by Greg KH.
drivers/staging/rtl8723bs/include/drv_types.h | 2 --
.../staging/rtl8723bs/include/osdep_intf.h | 1 -
drivers/staging/rtl8723bs/os_dep/os_intfs.c | 27 +++----------------
3 files changed, 3 insertions(+), 27 deletions(-)
diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
index 552d0c5fa47f..5837c51ac2f5 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -151,8 +151,6 @@ struct registry_priv {
u8 enable80211d;
- u8 ifname[16];
-
u8 notch_filter;
/* define for tx power adjust */
diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h
index 83a25598e962..f1e7a303a286 100644
--- a/drivers/staging/rtl8723bs/include/osdep_intf.h
+++ b/drivers/staging/rtl8723bs/include/osdep_intf.h
@@ -20,7 +20,6 @@ u32 rtw_start_drv_threads(struct adapter *padapter);
void rtw_stop_drv_threads(struct adapter *padapter);
void rtw_cancel_all_timer(struct adapter *padapter);
-int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname);
struct net_device *rtw_init_netdev(struct adapter *padapter);
void rtw_unregister_netdevs(struct dvobj_priv *dvobj);
diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
index dd0c5fc813c8..5659d67a32f4 100644
--- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
+++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
@@ -109,10 +109,6 @@ static int rtw_80211d;
static int rtw_qos_opt_enable;/* 0: disable, 1:enable */
module_param(rtw_qos_opt_enable, int, 0644);
-static char *ifname = "wlan%d";
-module_param(ifname, charp, 0644);
-MODULE_PARM_DESC(ifname, "The default name to allocate for first interface");
-
char *rtw_initmac; /* temp mac address if users want to use instead of the mac address in Efuse */
module_param(rtw_initmac, charp, 0644);
@@ -256,8 +252,6 @@ static void loadparam(struct adapter *padapter, struct net_device *pnetdev)
registry_par->enable80211d = (u8)rtw_80211d;
- strscpy(registry_par->ifname, ifname, sizeof(registry_par->ifname));
-
registry_par->notch_filter = (u8)rtw_notch_filter;
registry_par->reg_enable_tx_power_limit = (u8)rtw_tx_pwr_lmt_enable;
@@ -405,18 +399,6 @@ static const struct net_device_ops rtw_netdev_ops = {
.ndo_get_stats = rtw_net_get_stats,
};
-int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname)
-{
- if (dev_alloc_name(pnetdev, ifname) < 0) {
- pr_err("dev_alloc_name, fail for %s\n", ifname);
- return 1;
- }
- netif_carrier_off(pnetdev);
- /* rtw_netif_stop_queue(pnetdev); */
-
- return 0;
-}
-
struct net_device *rtw_init_netdev(struct adapter *old_padapter)
{
struct adapter *padapter;
@@ -752,14 +734,12 @@ u8 rtw_free_drv_sw(struct adapter *padapter)
return _SUCCESS;
}
-static int _rtw_drv_register_netdev(struct adapter *padapter, char *name)
+static int _rtw_drv_register_netdev(struct adapter *padapter)
{
int ret = _SUCCESS;
struct net_device *pnetdev = padapter->pnetdev;
- /* alloc netdev name */
- if (rtw_init_netdev_name(pnetdev, name))
- return _FAIL;
+ netif_carrier_off(pnetdev);
eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr);
@@ -784,9 +764,8 @@ int rtw_drv_register_netdev(struct adapter *if1)
{
struct dvobj_priv *dvobj = if1->dvobj;
struct adapter *padapter = dvobj->padapters;
- char *name = if1->registrypriv.ifname;
- return _rtw_drv_register_netdev(padapter, name);
+ return _rtw_drv_register_netdev(padapter);
}
static int _netdev_open(struct net_device *pnetdev)
--
2.47.3
On Wed, Sep 02, 2026 at 01:50:03PM +0300, Svyatoslav Nikolenko wrote: > The manual ifname allocation via dev_alloc_name() is redundant because > the networking core handles interface naming automatically during > register_netdev(). > > Remove the ifname module parameter, the corresponding field from > struct registry_priv, and the rtw_init_netdev_name() callpath. > > Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: Svyatoslav Nikolenko <nsvatoslav515@gmail.com> > --- > Changes in v3: > - Added missing changelog. > > Changes in v2: > - Removed rtw_init_netdev_name() and the entire manual naming callpath > instead of hardcoding "wlan%d", as suggested by Greg KH. This does not apply against the latest staging-testing branch, can you rebase and resend? thanks, greg k-h
On Wed, Sep 02, 2026 at 01:50:03PM +0300, Svyatoslav Nikolenko wrote: > The manual ifname allocation via dev_alloc_name() is redundant because > the networking core handles interface naming automatically during > register_netdev(). > > Remove the ifname module parameter, the corresponding field from > struct registry_priv, and the rtw_init_netdev_name() callpath. > > Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: Svyatoslav Nikolenko <nsvatoslav515@gmail.com> > --- > Changes in v3: > - Added missing changelog. > > Changes in v2: > - Removed rtw_init_netdev_name() and the entire manual naming callpath > instead of hardcoding "wlan%d", as suggested by Greg KH. After this patch is applied, what is the network device name? Are you able to test it? thanks, greg k-h
On Wed, Sep 02, 2026 at 14:40, Greg KH wrote: > After this patch is applied, what is the network device name? Are you > able to test it? I don't have the physical rtl8723bs hardware to run a runtime ping test or check 'ip link'. Sorry. Based on the code path, since the driver allocates the net_device using alloc_etherdev_mqs() (which sets the "eth%d" template), register_netdev() will initially resolve it to eth0. From there, standard user-space tools (udev/systemd) will take over via predictable network interface naming and rename the interface automatically based on system rules and hardware topology. By removing the manual renaming, we stop fighting the core system and let standard networking and user-space rules handle the final naming. thanks, svyatoslav
© 2016 - 2026 Red Hat, Inc.