<yhchuang@xxxxxxxxxxx> writes: > From: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> > > main files for Realtek 802.11ac wireless network chips > > Reviewed-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> > Signed-off-by: Yan-Hsuan Chuang <yhchuang@xxxxxxxxxxx> [...] > +static int rtw_ops_add_interface(struct ieee80211_hw *hw, > + struct ieee80211_vif *vif) > +{ > + struct rtw_dev *rtwdev = hw->priv; > + struct rtw_vif *rtwvif = (struct rtw_vif *)vif->drv_priv; > + enum rtw_net_type net_type; > + u32 config = 0; > + u8 port = 0; > + > + rtwvif->port = port; > + rtwvif->vif = vif; > + rtwvif->stats.tx_unicast = 0; > + rtwvif->stats.rx_unicast = 0; > + rtwvif->stats.tx_cnt = 0; > + rtwvif->stats.rx_cnt = 0; > + rtwvif->in_lps = false; > + rtwvif->conf = &rtw_vif_port[port]; > + > + mutex_lock(&rtwdev->mutex); > + > + switch (vif->type) { > + case NL80211_IFTYPE_AP: > + case NL80211_IFTYPE_MESH_POINT: > + net_type = RTW_NET_AP_MODE; > + break; > + case NL80211_IFTYPE_ADHOC: > + net_type = RTW_NET_AD_HOC; > + break; > + case NL80211_IFTYPE_STATION: > + default: > + net_type = RTW_NET_NO_LINK; > + break; > + } > + > + ether_addr_copy(rtwvif->mac_addr, vif->addr); > + config |= PORT_SET_MAC_ADDR; > + rtwvif->net_type = net_type; > + config |= PORT_SET_NET_TYPE; > + rtw_vif_port_config(rtwdev, rtwvif, config); > + > + mutex_unlock(&rtwdev->mutex); > + > + rtw_info(rtwdev, "start vif %pM on port %d\n", vif->addr, rtwvif->port); I think this somewhat spammy. And looking at other uses of rtw_info(): mac80211.c:157: rtw_info(rtwdev, "start vif %pM on port %d\n", vif->addr, rtwvif->port); mac80211.c:168: rtw_info(rtwdev, "stop vif %pM on port %d\n", vif->addr, rtwvif->port); mac80211.c:318: rtw_info(rtwdev, "sta %pM joined with macid %d\n", mac80211.c:340: rtw_info(rtwdev, "sta %pM with macid %d left\n", rtw8822b.c:936: rtw_info(rtwdev, "unsupport tx path, set to default path ab\n"); rtw8822b.c:940: rtw_info(rtwdev, "unsupport rx path, set to default path ab\n"); I would just convert the last two to warning level, assuming those cases do not happen normally. And the rest would be better as debug messages to keep the dmesg clean. -- Kalle Valo