Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac80211_hwsim: use dyndbg for debug messages

The mac80211_hwsim doesn't offer a way to disable the debugging output.
Unfortunately, it's pretty chatty, dumping a lot of stuff into the message
buffer.

This patch changes it to use dyndbg for controlling the debug output.
It's disabled by default, but can be enabled by a module parameter (1),
at runtime (2) or persisted in modprobe.conf (3).

(1) modprobe mac80211_hwsim dyndbg=+p
(2) echo "module mac80211_hwsim +p" >/sys/kernel/debug/dynamic_debug/control
(3) echo "options mac80211_hwsim dyndbg=+p" >>/etc/modprobe.d/my.conf

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Lubomir Rintel and committed by
Johannes Berg
62b093b3 4c121fd6

+96 -96
+96 -96
drivers/net/wireless/mac80211_hwsim.c
··· 396 396 if (!tb[QCA_WLAN_VENDOR_ATTR_TEST]) 397 397 return -EINVAL; 398 398 val = nla_get_u32(tb[QCA_WLAN_VENDOR_ATTR_TEST]); 399 - wiphy_debug(wiphy, "%s: test=%u\n", __func__, val); 399 + wiphy_dbg(wiphy, "%s: test=%u\n", __func__, val); 400 400 401 401 /* Send a vendor event as a test. Note that this would not normally be 402 402 * done within a command handler, but rather, based on some other ··· 643 643 if (!vp->assoc) 644 644 return; 645 645 646 - wiphy_debug(data->hw->wiphy, 647 - "%s: send PS-Poll to %pM for aid %d\n", 648 - __func__, vp->bssid, vp->aid); 646 + wiphy_dbg(data->hw->wiphy, 647 + "%s: send PS-Poll to %pM for aid %d\n", 648 + __func__, vp->bssid, vp->aid); 649 649 650 650 skb = dev_alloc_skb(sizeof(*pspoll)); 651 651 if (!skb) ··· 674 674 if (!vp->assoc) 675 675 return; 676 676 677 - wiphy_debug(data->hw->wiphy, 678 - "%s: send data::nullfunc to %pM ps=%d\n", 679 - __func__, vp->bssid, ps); 677 + wiphy_dbg(data->hw->wiphy, 678 + "%s: send data::nullfunc to %pM ps=%d\n", 679 + __func__, vp->bssid, ps); 680 680 681 681 skb = dev_alloc_skb(sizeof(*hdr)); 682 682 if (!skb) ··· 1034 1034 msg_head = genlmsg_put(skb, 0, 0, &hwsim_genl_family, 0, 1035 1035 HWSIM_CMD_FRAME); 1036 1036 if (msg_head == NULL) { 1037 - printk(KERN_DEBUG "mac80211_hwsim: problem with msg_head\n"); 1037 + pr_debug("mac80211_hwsim: problem with msg_head\n"); 1038 1038 goto nla_put_failure; 1039 1039 } 1040 1040 ··· 1093 1093 nla_put_failure: 1094 1094 nlmsg_free(skb); 1095 1095 err_free_txskb: 1096 - printk(KERN_DEBUG "mac80211_hwsim: error occurred in %s\n", __func__); 1096 + pr_debug("mac80211_hwsim: error occurred in %s\n", __func__); 1097 1097 ieee80211_free_txskb(hw, my_skb); 1098 1098 data->tx_failed++; 1099 1099 } ··· 1347 1347 } 1348 1348 1349 1349 if (data->idle && !data->tmp_chan) { 1350 - wiphy_debug(hw->wiphy, "Trying to TX when idle - reject\n"); 1350 + wiphy_dbg(hw->wiphy, "Trying to TX when idle - reject\n"); 1351 1351 ieee80211_free_txskb(hw, skb); 1352 1352 return; 1353 1353 } ··· 1408 1408 static int mac80211_hwsim_start(struct ieee80211_hw *hw) 1409 1409 { 1410 1410 struct mac80211_hwsim_data *data = hw->priv; 1411 - wiphy_debug(hw->wiphy, "%s\n", __func__); 1411 + wiphy_dbg(hw->wiphy, "%s\n", __func__); 1412 1412 data->started = true; 1413 1413 return 0; 1414 1414 } ··· 1419 1419 struct mac80211_hwsim_data *data = hw->priv; 1420 1420 data->started = false; 1421 1421 tasklet_hrtimer_cancel(&data->beacon_timer); 1422 - wiphy_debug(hw->wiphy, "%s\n", __func__); 1422 + wiphy_dbg(hw->wiphy, "%s\n", __func__); 1423 1423 } 1424 1424 1425 1425 1426 1426 static int mac80211_hwsim_add_interface(struct ieee80211_hw *hw, 1427 1427 struct ieee80211_vif *vif) 1428 1428 { 1429 - wiphy_debug(hw->wiphy, "%s (type=%d mac_addr=%pM)\n", 1430 - __func__, ieee80211_vif_type_p2p(vif), 1431 - vif->addr); 1429 + wiphy_dbg(hw->wiphy, "%s (type=%d mac_addr=%pM)\n", 1430 + __func__, ieee80211_vif_type_p2p(vif), 1431 + vif->addr); 1432 1432 hwsim_set_magic(vif); 1433 1433 1434 1434 vif->cab_queue = 0; ··· 1447 1447 bool newp2p) 1448 1448 { 1449 1449 newtype = ieee80211_iftype_p2p(newtype, newp2p); 1450 - wiphy_debug(hw->wiphy, 1451 - "%s (old type=%d, new type=%d, mac_addr=%pM)\n", 1452 - __func__, ieee80211_vif_type_p2p(vif), 1450 + wiphy_dbg(hw->wiphy, 1451 + "%s (old type=%d, new type=%d, mac_addr=%pM)\n", 1452 + __func__, ieee80211_vif_type_p2p(vif), 1453 1453 newtype, vif->addr); 1454 1454 hwsim_check_magic(vif); 1455 1455 ··· 1465 1465 static void mac80211_hwsim_remove_interface( 1466 1466 struct ieee80211_hw *hw, struct ieee80211_vif *vif) 1467 1467 { 1468 - wiphy_debug(hw->wiphy, "%s (type=%d mac_addr=%pM)\n", 1469 - __func__, ieee80211_vif_type_p2p(vif), 1470 - vif->addr); 1468 + wiphy_dbg(hw->wiphy, "%s (type=%d mac_addr=%pM)\n", 1469 + __func__, ieee80211_vif_type_p2p(vif), 1470 + vif->addr); 1471 1471 hwsim_check_magic(vif); 1472 1472 hwsim_clear_magic(vif); 1473 1473 } ··· 1589 1589 int idx; 1590 1590 1591 1591 if (conf->chandef.chan) 1592 - wiphy_debug(hw->wiphy, 1593 - "%s (freq=%d(%d - %d)/%s idle=%d ps=%d smps=%s)\n", 1594 - __func__, 1595 - conf->chandef.chan->center_freq, 1596 - conf->chandef.center_freq1, 1597 - conf->chandef.center_freq2, 1598 - hwsim_chanwidths[conf->chandef.width], 1599 - !!(conf->flags & IEEE80211_CONF_IDLE), 1600 - !!(conf->flags & IEEE80211_CONF_PS), 1601 - smps_modes[conf->smps_mode]); 1592 + wiphy_dbg(hw->wiphy, 1593 + "%s (freq=%d(%d - %d)/%s idle=%d ps=%d smps=%s)\n", 1594 + __func__, 1595 + conf->chandef.chan->center_freq, 1596 + conf->chandef.center_freq1, 1597 + conf->chandef.center_freq2, 1598 + hwsim_chanwidths[conf->chandef.width], 1599 + !!(conf->flags & IEEE80211_CONF_IDLE), 1600 + !!(conf->flags & IEEE80211_CONF_PS), 1601 + smps_modes[conf->smps_mode]); 1602 1602 else 1603 - wiphy_debug(hw->wiphy, 1604 - "%s (freq=0 idle=%d ps=%d smps=%s)\n", 1605 - __func__, 1606 - !!(conf->flags & IEEE80211_CONF_IDLE), 1607 - !!(conf->flags & IEEE80211_CONF_PS), 1608 - smps_modes[conf->smps_mode]); 1603 + wiphy_dbg(hw->wiphy, 1604 + "%s (freq=0 idle=%d ps=%d smps=%s)\n", 1605 + __func__, 1606 + !!(conf->flags & IEEE80211_CONF_IDLE), 1607 + !!(conf->flags & IEEE80211_CONF_PS), 1608 + smps_modes[conf->smps_mode]); 1609 1609 1610 1610 data->idle = !!(conf->flags & IEEE80211_CONF_IDLE); 1611 1611 ··· 1659 1659 { 1660 1660 struct mac80211_hwsim_data *data = hw->priv; 1661 1661 1662 - wiphy_debug(hw->wiphy, "%s\n", __func__); 1662 + wiphy_dbg(hw->wiphy, "%s\n", __func__); 1663 1663 1664 1664 data->rx_filter = 0; 1665 1665 if (*total_flags & FIF_ALLMULTI) ··· 1688 1688 1689 1689 hwsim_check_magic(vif); 1690 1690 1691 - wiphy_debug(hw->wiphy, "%s(changed=0x%x vif->addr=%pM)\n", 1692 - __func__, changed, vif->addr); 1691 + wiphy_dbg(hw->wiphy, "%s(changed=0x%x vif->addr=%pM)\n", 1692 + __func__, changed, vif->addr); 1693 1693 1694 1694 if (changed & BSS_CHANGED_BSSID) { 1695 - wiphy_debug(hw->wiphy, "%s: BSSID changed: %pM\n", 1696 - __func__, info->bssid); 1695 + wiphy_dbg(hw->wiphy, "%s: BSSID changed: %pM\n", 1696 + __func__, info->bssid); 1697 1697 memcpy(vp->bssid, info->bssid, ETH_ALEN); 1698 1698 } 1699 1699 1700 1700 if (changed & BSS_CHANGED_ASSOC) { 1701 - wiphy_debug(hw->wiphy, " ASSOC: assoc=%d aid=%d\n", 1702 - info->assoc, info->aid); 1701 + wiphy_dbg(hw->wiphy, " ASSOC: assoc=%d aid=%d\n", 1702 + info->assoc, info->aid); 1703 1703 vp->assoc = info->assoc; 1704 1704 vp->aid = info->aid; 1705 1705 } 1706 1706 1707 1707 if (changed & BSS_CHANGED_BEACON_ENABLED) { 1708 - wiphy_debug(hw->wiphy, " BCN EN: %d (BI=%u)\n", 1709 - info->enable_beacon, info->beacon_int); 1708 + wiphy_dbg(hw->wiphy, " BCN EN: %d (BI=%u)\n", 1709 + info->enable_beacon, info->beacon_int); 1710 1710 vp->bcn_en = info->enable_beacon; 1711 1711 if (data->started && 1712 1712 !hrtimer_is_queued(&data->beacon_timer.timer) && ··· 1725 1725 ieee80211_iterate_active_interfaces_atomic( 1726 1726 data->hw, IEEE80211_IFACE_ITER_NORMAL, 1727 1727 mac80211_hwsim_bcn_en_iter, &count); 1728 - wiphy_debug(hw->wiphy, " beaconing vifs remaining: %u", 1729 - count); 1728 + wiphy_dbg(hw->wiphy, " beaconing vifs remaining: %u", 1729 + count); 1730 1730 if (count == 0) { 1731 1731 tasklet_hrtimer_cancel(&data->beacon_timer); 1732 1732 data->beacon_int = 0; ··· 1735 1735 } 1736 1736 1737 1737 if (changed & BSS_CHANGED_ERP_CTS_PROT) { 1738 - wiphy_debug(hw->wiphy, " ERP_CTS_PROT: %d\n", 1739 - info->use_cts_prot); 1738 + wiphy_dbg(hw->wiphy, " ERP_CTS_PROT: %d\n", 1739 + info->use_cts_prot); 1740 1740 } 1741 1741 1742 1742 if (changed & BSS_CHANGED_ERP_PREAMBLE) { 1743 - wiphy_debug(hw->wiphy, " ERP_PREAMBLE: %d\n", 1744 - info->use_short_preamble); 1743 + wiphy_dbg(hw->wiphy, " ERP_PREAMBLE: %d\n", 1744 + info->use_short_preamble); 1745 1745 } 1746 1746 1747 1747 if (changed & BSS_CHANGED_ERP_SLOT) { 1748 - wiphy_debug(hw->wiphy, " ERP_SLOT: %d\n", info->use_short_slot); 1748 + wiphy_dbg(hw->wiphy, " ERP_SLOT: %d\n", info->use_short_slot); 1749 1749 } 1750 1750 1751 1751 if (changed & BSS_CHANGED_HT) { 1752 - wiphy_debug(hw->wiphy, " HT: op_mode=0x%x\n", 1753 - info->ht_operation_mode); 1752 + wiphy_dbg(hw->wiphy, " HT: op_mode=0x%x\n", 1753 + info->ht_operation_mode); 1754 1754 } 1755 1755 1756 1756 if (changed & BSS_CHANGED_BASIC_RATES) { 1757 - wiphy_debug(hw->wiphy, " BASIC_RATES: 0x%llx\n", 1758 - (unsigned long long) info->basic_rates); 1757 + wiphy_dbg(hw->wiphy, " BASIC_RATES: 0x%llx\n", 1758 + (unsigned long long) info->basic_rates); 1759 1759 } 1760 1760 1761 1761 if (changed & BSS_CHANGED_TXPOWER) 1762 - wiphy_debug(hw->wiphy, " TX Power: %d dBm\n", info->txpower); 1762 + wiphy_dbg(hw->wiphy, " TX Power: %d dBm\n", info->txpower); 1763 1763 } 1764 1764 1765 1765 static int mac80211_hwsim_sta_add(struct ieee80211_hw *hw, ··· 1813 1813 struct ieee80211_vif *vif, u16 queue, 1814 1814 const struct ieee80211_tx_queue_params *params) 1815 1815 { 1816 - wiphy_debug(hw->wiphy, 1817 - "%s (queue=%d txop=%d cw_min=%d cw_max=%d aifs=%d)\n", 1818 - __func__, queue, 1819 - params->txop, params->cw_min, 1820 - params->cw_max, params->aifs); 1816 + wiphy_dbg(hw->wiphy, 1817 + "%s (queue=%d txop=%d cw_min=%d cw_max=%d aifs=%d)\n", 1818 + __func__, queue, 1819 + params->txop, params->cw_min, 1820 + params->cw_max, params->aifs); 1821 1821 return 0; 1822 1822 } 1823 1823 ··· 1981 1981 .aborted = false, 1982 1982 }; 1983 1983 1984 - wiphy_debug(hwsim->hw->wiphy, "hw scan complete\n"); 1984 + wiphy_dbg(hwsim->hw->wiphy, "hw scan complete\n"); 1985 1985 ieee80211_scan_completed(hwsim->hw, &info); 1986 1986 hwsim->hw_scan_request = NULL; 1987 1987 hwsim->hw_scan_vif = NULL; ··· 1990 1990 return; 1991 1991 } 1992 1992 1993 - wiphy_debug(hwsim->hw->wiphy, "hw scan %d MHz\n", 1994 - req->channels[hwsim->scan_chan_idx]->center_freq); 1993 + wiphy_dbg(hwsim->hw->wiphy, "hw scan %d MHz\n", 1994 + req->channels[hwsim->scan_chan_idx]->center_freq); 1995 1995 1996 1996 hwsim->tmp_chan = req->channels[hwsim->scan_chan_idx]; 1997 1997 if (hwsim->tmp_chan->flags & (IEEE80211_CHAN_NO_IR | ··· 2060 2060 memset(hwsim->survey_data, 0, sizeof(hwsim->survey_data)); 2061 2061 mutex_unlock(&hwsim->mutex); 2062 2062 2063 - wiphy_debug(hw->wiphy, "hwsim hw_scan request\n"); 2063 + wiphy_dbg(hw->wiphy, "hwsim hw_scan request\n"); 2064 2064 2065 2065 ieee80211_queue_delayed_work(hwsim->hw, &hwsim->hw_scan, 0); 2066 2066 ··· 2075 2075 .aborted = true, 2076 2076 }; 2077 2077 2078 - wiphy_debug(hw->wiphy, "hwsim cancel_hw_scan\n"); 2078 + wiphy_dbg(hw->wiphy, "hwsim cancel_hw_scan\n"); 2079 2079 2080 2080 cancel_delayed_work_sync(&hwsim->hw_scan); 2081 2081 ··· 2096 2096 mutex_lock(&hwsim->mutex); 2097 2097 2098 2098 if (hwsim->scanning) { 2099 - printk(KERN_DEBUG "two hwsim sw_scans detected!\n"); 2099 + pr_debug("two hwsim sw_scans detected!\n"); 2100 2100 goto out; 2101 2101 } 2102 2102 2103 - printk(KERN_DEBUG "hwsim sw_scan request, prepping stuff\n"); 2103 + pr_debug("hwsim sw_scan request, prepping stuff\n"); 2104 2104 2105 2105 memcpy(hwsim->scan_addr, mac_addr, ETH_ALEN); 2106 2106 hwsim->scanning = true; ··· 2117 2117 2118 2118 mutex_lock(&hwsim->mutex); 2119 2119 2120 - printk(KERN_DEBUG "hwsim sw_scan_complete\n"); 2120 + pr_debug("hwsim sw_scan_complete\n"); 2121 2121 hwsim->scanning = false; 2122 2122 eth_zero_addr(hwsim->scan_addr); 2123 2123 ··· 2131 2131 2132 2132 mutex_lock(&hwsim->mutex); 2133 2133 2134 - wiphy_debug(hwsim->hw->wiphy, "hwsim ROC begins\n"); 2134 + wiphy_dbg(hwsim->hw->wiphy, "hwsim ROC begins\n"); 2135 2135 hwsim->tmp_chan = hwsim->roc_chan; 2136 2136 ieee80211_ready_on_channel(hwsim->hw); 2137 2137 ··· 2151 2151 hwsim->tmp_chan = NULL; 2152 2152 mutex_unlock(&hwsim->mutex); 2153 2153 2154 - wiphy_debug(hwsim->hw->wiphy, "hwsim ROC expired\n"); 2154 + wiphy_dbg(hwsim->hw->wiphy, "hwsim ROC expired\n"); 2155 2155 } 2156 2156 2157 2157 static int mac80211_hwsim_roc(struct ieee80211_hw *hw, ··· 2172 2172 hwsim->roc_duration = duration; 2173 2173 mutex_unlock(&hwsim->mutex); 2174 2174 2175 - wiphy_debug(hw->wiphy, "hwsim ROC (%d MHz, %d ms)\n", 2176 - chan->center_freq, duration); 2175 + wiphy_dbg(hw->wiphy, "hwsim ROC (%d MHz, %d ms)\n", 2176 + chan->center_freq, duration); 2177 2177 ieee80211_queue_delayed_work(hw, &hwsim->roc_start, HZ/50); 2178 2178 2179 2179 return 0; ··· 2190 2190 hwsim->tmp_chan = NULL; 2191 2191 mutex_unlock(&hwsim->mutex); 2192 2192 2193 - wiphy_debug(hw->wiphy, "hwsim ROC canceled\n"); 2193 + wiphy_dbg(hw->wiphy, "hwsim ROC canceled\n"); 2194 2194 2195 2195 return 0; 2196 2196 } ··· 2199 2199 struct ieee80211_chanctx_conf *ctx) 2200 2200 { 2201 2201 hwsim_set_chanctx_magic(ctx); 2202 - wiphy_debug(hw->wiphy, 2203 - "add channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2204 - ctx->def.chan->center_freq, ctx->def.width, 2205 - ctx->def.center_freq1, ctx->def.center_freq2); 2202 + wiphy_dbg(hw->wiphy, 2203 + "add channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2204 + ctx->def.chan->center_freq, ctx->def.width, 2205 + ctx->def.center_freq1, ctx->def.center_freq2); 2206 2206 return 0; 2207 2207 } 2208 2208 2209 2209 static void mac80211_hwsim_remove_chanctx(struct ieee80211_hw *hw, 2210 2210 struct ieee80211_chanctx_conf *ctx) 2211 2211 { 2212 - wiphy_debug(hw->wiphy, 2213 - "remove channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2214 - ctx->def.chan->center_freq, ctx->def.width, 2215 - ctx->def.center_freq1, ctx->def.center_freq2); 2212 + wiphy_dbg(hw->wiphy, 2213 + "remove channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2214 + ctx->def.chan->center_freq, ctx->def.width, 2215 + ctx->def.center_freq1, ctx->def.center_freq2); 2216 2216 hwsim_check_chanctx_magic(ctx); 2217 2217 hwsim_clear_chanctx_magic(ctx); 2218 2218 } ··· 2222 2222 u32 changed) 2223 2223 { 2224 2224 hwsim_check_chanctx_magic(ctx); 2225 - wiphy_debug(hw->wiphy, 2226 - "change channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2227 - ctx->def.chan->center_freq, ctx->def.width, 2228 - ctx->def.center_freq1, ctx->def.center_freq2); 2225 + wiphy_dbg(hw->wiphy, 2226 + "change channel context control: %d MHz/width: %d/cfreqs:%d/%d MHz\n", 2227 + ctx->def.chan->center_freq, ctx->def.width, 2228 + ctx->def.center_freq1, ctx->def.center_freq2); 2229 2229 } 2230 2230 2231 2231 static int mac80211_hwsim_assign_vif_chanctx(struct ieee80211_hw *hw, ··· 2479 2479 ops = &mac80211_hwsim_mchan_ops; 2480 2480 hw = ieee80211_alloc_hw_nm(sizeof(*data), ops, param->hwname); 2481 2481 if (!hw) { 2482 - printk(KERN_DEBUG "mac80211_hwsim: ieee80211_alloc_hw failed\n"); 2482 + pr_debug("mac80211_hwsim: ieee80211_alloc_hw failed\n"); 2483 2483 err = -ENOMEM; 2484 2484 goto failed; 2485 2485 } ··· 2507 2507 data->dev->driver = &mac80211_hwsim_driver.driver; 2508 2508 err = device_bind_driver(data->dev); 2509 2509 if (err != 0) { 2510 - printk(KERN_DEBUG "mac80211_hwsim: device_bind_driver failed (%d)\n", 2510 + pr_debug("mac80211_hwsim: device_bind_driver failed (%d)\n", 2511 2511 err); 2512 2512 goto failed_bind; 2513 2513 } ··· 2698 2698 2699 2699 err = ieee80211_register_hw(hw); 2700 2700 if (err < 0) { 2701 - printk(KERN_DEBUG "mac80211_hwsim: ieee80211_register_hw failed (%d)\n", 2701 + pr_debug("mac80211_hwsim: ieee80211_register_hw failed (%d)\n", 2702 2702 err); 2703 2703 goto failed_hw; 2704 2704 } 2705 2705 2706 - wiphy_debug(hw->wiphy, "hwaddr %pM registered\n", hw->wiphy->perm_addr); 2706 + wiphy_dbg(hw->wiphy, "hwaddr %pM registered\n", hw->wiphy->perm_addr); 2707 2707 2708 2708 if (param->reg_alpha2) { 2709 2709 data->alpha2[0] = param->reg_alpha2[0]; ··· 3067 3067 3068 3068 return 0; 3069 3069 err: 3070 - printk(KERN_DEBUG "mac80211_hwsim: error occurred in %s\n", __func__); 3070 + pr_debug("mac80211_hwsim: error occurred in %s\n", __func__); 3071 3071 out: 3072 3072 dev_kfree_skb(skb); 3073 3073 return -EINVAL; ··· 3098 3098 3099 3099 hwsim_register_wmediumd(net, info->snd_portid); 3100 3100 3101 - printk(KERN_DEBUG "mac80211_hwsim: received a REGISTER, " 3101 + pr_debug("mac80211_hwsim: received a REGISTER, " 3102 3102 "switching to wmediumd mode with pid %d\n", info->snd_portid); 3103 3103 3104 3104 return 0; ··· 3387 3387 return 0; 3388 3388 3389 3389 failure: 3390 - printk(KERN_DEBUG "mac80211_hwsim: error occurred in %s\n", __func__); 3390 + pr_debug("mac80211_hwsim: error occurred in %s\n", __func__); 3391 3391 return -EINVAL; 3392 3392 } 3393 3393 ··· 3578 3578 3579 3579 static void __exit exit_mac80211_hwsim(void) 3580 3580 { 3581 - printk(KERN_DEBUG "mac80211_hwsim: unregister radios\n"); 3581 + pr_debug("mac80211_hwsim: unregister radios\n"); 3582 3582 3583 3583 hwsim_exit_netlink(); 3584 3584