| .. | .. |
|---|
| 1 | | -/****************************************************************************** |
|---|
| 2 | | - * |
|---|
| 3 | | - * Copyright(c) 2009-2012 Realtek Corporation. |
|---|
| 4 | | - * |
|---|
| 5 | | - * This program is free software; you can redistribute it and/or modify it |
|---|
| 6 | | - * under the terms of version 2 of the GNU General Public License as |
|---|
| 7 | | - * published by the Free Software Foundation. |
|---|
| 8 | | - * |
|---|
| 9 | | - * This program is distributed in the hope that it will be useful, but WITHOUT |
|---|
| 10 | | - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|---|
| 11 | | - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
|---|
| 12 | | - * more details. |
|---|
| 13 | | - * |
|---|
| 14 | | - * The full GNU General Public License is included in this distribution in the |
|---|
| 15 | | - * file called LICENSE. |
|---|
| 16 | | - * |
|---|
| 17 | | - * Contact Information: |
|---|
| 18 | | - * wlanfae <wlanfae@realtek.com> |
|---|
| 19 | | - * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, |
|---|
| 20 | | - * Hsinchu 300, Taiwan. |
|---|
| 21 | | - * |
|---|
| 22 | | - * Larry Finger <Larry.Finger@lwfinger.net> |
|---|
| 23 | | - * |
|---|
| 24 | | - *****************************************************************************/ |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | +/* Copyright(c) 2009-2012 Realtek Corporation.*/ |
|---|
| 25 | 3 | |
|---|
| 26 | 4 | #include "wifi.h" |
|---|
| 27 | 5 | #include "rc.h" |
|---|
| .. | .. |
|---|
| 217 | 195 | } else { |
|---|
| 218 | 196 | if (get_rf_type(rtlphy) == RF_1T2R || |
|---|
| 219 | 197 | get_rf_type(rtlphy) == RF_2T2R) { |
|---|
| 220 | | - RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, |
|---|
| 221 | | - "1T2R or 2T2R\n"); |
|---|
| 198 | + rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG, |
|---|
| 199 | + "1T2R or 2T2R\n"); |
|---|
| 222 | 200 | ht_cap->mcs.rx_mask[0] = 0xFF; |
|---|
| 223 | 201 | ht_cap->mcs.rx_mask[1] = 0xFF; |
|---|
| 224 | 202 | ht_cap->mcs.rx_mask[4] = 0x01; |
|---|
| .. | .. |
|---|
| 226 | 204 | ht_cap->mcs.rx_highest = |
|---|
| 227 | 205 | cpu_to_le16(MAX_BIT_RATE_40MHZ_MCS15); |
|---|
| 228 | 206 | } else if (get_rf_type(rtlphy) == RF_1T1R) { |
|---|
| 229 | | - RT_TRACE(rtlpriv, COMP_INIT, DBG_DMESG, "1T1R\n"); |
|---|
| 207 | + rtl_dbg(rtlpriv, COMP_INIT, DBG_DMESG, "1T1R\n"); |
|---|
| 230 | 208 | |
|---|
| 231 | 209 | ht_cap->mcs.rx_mask[0] = 0xFF; |
|---|
| 232 | 210 | ht_cap->mcs.rx_mask[1] = 0x00; |
|---|
| .. | .. |
|---|
| 452 | 430 | SET_IEEE80211_PERM_ADDR(hw, rtlefuse->dev_addr); |
|---|
| 453 | 431 | } else { |
|---|
| 454 | 432 | u8 rtlmac1[] = { 0x00, 0xe0, 0x4c, 0x81, 0x92, 0x00 }; |
|---|
| 433 | + |
|---|
| 455 | 434 | get_random_bytes((rtlmac1 + (ETH_ALEN - 1)), 1); |
|---|
| 456 | 435 | SET_IEEE80211_PERM_ADDR(hw, rtlmac1); |
|---|
| 457 | 436 | } |
|---|
| 458 | 437 | } |
|---|
| 438 | + |
|---|
| 439 | +static void rtl_watchdog_wq_callback(struct work_struct *work); |
|---|
| 440 | +static void rtl_fwevt_wq_callback(struct work_struct *work); |
|---|
| 441 | +static void rtl_c2hcmd_wq_callback(struct work_struct *work); |
|---|
| 459 | 442 | |
|---|
| 460 | 443 | static int _rtl_init_deferred_work(struct ieee80211_hw *hw) |
|---|
| 461 | 444 | { |
|---|
| .. | .. |
|---|
| 476 | 459 | rtlpriv->works.rtl_wq = wq; |
|---|
| 477 | 460 | |
|---|
| 478 | 461 | INIT_DELAYED_WORK(&rtlpriv->works.watchdog_wq, |
|---|
| 479 | | - (void *)rtl_watchdog_wq_callback); |
|---|
| 462 | + rtl_watchdog_wq_callback); |
|---|
| 480 | 463 | INIT_DELAYED_WORK(&rtlpriv->works.ips_nic_off_wq, |
|---|
| 481 | | - (void *)rtl_ips_nic_off_wq_callback); |
|---|
| 482 | | - INIT_DELAYED_WORK(&rtlpriv->works.ps_work, |
|---|
| 483 | | - (void *)rtl_swlps_wq_callback); |
|---|
| 464 | + rtl_ips_nic_off_wq_callback); |
|---|
| 465 | + INIT_DELAYED_WORK(&rtlpriv->works.ps_work, rtl_swlps_wq_callback); |
|---|
| 484 | 466 | INIT_DELAYED_WORK(&rtlpriv->works.ps_rfon_wq, |
|---|
| 485 | | - (void *)rtl_swlps_rfon_wq_callback); |
|---|
| 486 | | - INIT_DELAYED_WORK(&rtlpriv->works.fwevt_wq, |
|---|
| 487 | | - (void *)rtl_fwevt_wq_callback); |
|---|
| 488 | | - INIT_DELAYED_WORK(&rtlpriv->works.c2hcmd_wq, |
|---|
| 489 | | - (void *)rtl_c2hcmd_wq_callback); |
|---|
| 467 | + rtl_swlps_rfon_wq_callback); |
|---|
| 468 | + INIT_DELAYED_WORK(&rtlpriv->works.fwevt_wq, rtl_fwevt_wq_callback); |
|---|
| 469 | + INIT_DELAYED_WORK(&rtlpriv->works.c2hcmd_wq, rtl_c2hcmd_wq_callback); |
|---|
| 490 | 470 | return 0; |
|---|
| 491 | 471 | } |
|---|
| 492 | 472 | |
|---|
| .. | .. |
|---|
| 528 | 508 | |
|---|
| 529 | 509 | rtlpriv->rfkill.rfkill_state = radio_state; |
|---|
| 530 | 510 | |
|---|
| 531 | | - blocked = (rtlpriv->rfkill.rfkill_state == 1) ? 0 : 1; |
|---|
| 511 | + blocked = rtlpriv->rfkill.rfkill_state != 1; |
|---|
| 532 | 512 | wiphy_rfkill_set_hw_state(hw->wiphy, blocked); |
|---|
| 533 | 513 | } |
|---|
| 534 | 514 | |
|---|
| .. | .. |
|---|
| 644 | 624 | u8 rate_flag = info->control.rates[0].flags; |
|---|
| 645 | 625 | u8 sgi_40 = 0, sgi_20 = 0, bw_40 = 0; |
|---|
| 646 | 626 | u8 sgi_80 = 0, bw_80 = 0; |
|---|
| 627 | + |
|---|
| 647 | 628 | tcb_desc->use_shortgi = false; |
|---|
| 648 | 629 | |
|---|
| 649 | 630 | if (sta == NULL) |
|---|
| .. | .. |
|---|
| 1344 | 1325 | rtlpriv->cfg->ops->chk_switch_dmdp(hw); |
|---|
| 1345 | 1326 | } |
|---|
| 1346 | 1327 | if (ieee80211_is_auth(fc)) { |
|---|
| 1347 | | - RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG, "MAC80211_LINKING\n"); |
|---|
| 1328 | + rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG, "MAC80211_LINKING\n"); |
|---|
| 1348 | 1329 | |
|---|
| 1349 | 1330 | mac->link_state = MAC80211_LINKING; |
|---|
| 1350 | 1331 | /* Dul mac */ |
|---|
| .. | .. |
|---|
| 1405 | 1386 | if (mac->act_scanning) |
|---|
| 1406 | 1387 | return false; |
|---|
| 1407 | 1388 | |
|---|
| 1408 | | - RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1389 | + rtl_dbg(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1409 | 1390 | "%s ACT_ADDBAREQ From :%pM\n", |
|---|
| 1410 | 1391 | is_tx ? "Tx" : "Rx", hdr->addr2); |
|---|
| 1411 | 1392 | RT_PRINT_DATA(rtlpriv, COMP_INIT, DBG_DMESG, "req\n", |
|---|
| .. | .. |
|---|
| 1420 | 1401 | rcu_read_lock(); |
|---|
| 1421 | 1402 | sta = rtl_find_sta(hw, hdr->addr3); |
|---|
| 1422 | 1403 | if (sta == NULL) { |
|---|
| 1423 | | - RT_TRACE(rtlpriv, COMP_SEND | COMP_RECV, |
|---|
| 1424 | | - DBG_DMESG, "sta is NULL\n"); |
|---|
| 1404 | + rtl_dbg(rtlpriv, COMP_SEND | COMP_RECV, |
|---|
| 1405 | + DBG_DMESG, "sta is NULL\n"); |
|---|
| 1425 | 1406 | rcu_read_unlock(); |
|---|
| 1426 | 1407 | return true; |
|---|
| 1427 | 1408 | } |
|---|
| .. | .. |
|---|
| 1448 | 1429 | } |
|---|
| 1449 | 1430 | break; |
|---|
| 1450 | 1431 | case ACT_ADDBARSP: |
|---|
| 1451 | | - RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1452 | | - "%s ACT_ADDBARSP From :%pM\n", |
|---|
| 1453 | | - is_tx ? "Tx" : "Rx", hdr->addr2); |
|---|
| 1432 | + rtl_dbg(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1433 | + "%s ACT_ADDBARSP From :%pM\n", |
|---|
| 1434 | + is_tx ? "Tx" : "Rx", hdr->addr2); |
|---|
| 1454 | 1435 | break; |
|---|
| 1455 | 1436 | case ACT_DELBA: |
|---|
| 1456 | | - RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1457 | | - "ACT_ADDBADEL From :%pM\n", hdr->addr2); |
|---|
| 1437 | + rtl_dbg(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1438 | + "ACT_ADDBADEL From :%pM\n", hdr->addr2); |
|---|
| 1458 | 1439 | break; |
|---|
| 1459 | 1440 | } |
|---|
| 1460 | 1441 | break; |
|---|
| .. | .. |
|---|
| 1475 | 1456 | if (rtlpriv->cfg->ops->get_btc_status()) |
|---|
| 1476 | 1457 | rtlpriv->btcoexist.btc_ops->btc_special_packet_notify( |
|---|
| 1477 | 1458 | rtlpriv, type); |
|---|
| 1478 | | - rtl_lps_leave(hw); |
|---|
| 1459 | + rtl_lps_leave(hw, false); |
|---|
| 1479 | 1460 | ppsc->last_delaylps_stamp_jiffies = jiffies; |
|---|
| 1480 | 1461 | } |
|---|
| 1481 | 1462 | |
|---|
| .. | .. |
|---|
| 1539 | 1520 | /* 68 : UDP BOOTP client |
|---|
| 1540 | 1521 | * 67 : UDP BOOTP server |
|---|
| 1541 | 1522 | */ |
|---|
| 1542 | | - RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), |
|---|
| 1543 | | - DBG_DMESG, "dhcp %s !!\n", |
|---|
| 1544 | | - (is_tx) ? "Tx" : "Rx"); |
|---|
| 1523 | + rtl_dbg(rtlpriv, (COMP_SEND | COMP_RECV), |
|---|
| 1524 | + DBG_DMESG, "dhcp %s !!\n", |
|---|
| 1525 | + (is_tx) ? "Tx" : "Rx"); |
|---|
| 1545 | 1526 | |
|---|
| 1546 | 1527 | if (is_tx) |
|---|
| 1547 | 1528 | setup_special_tx(rtlpriv, ppsc, |
|---|
| .. | .. |
|---|
| 1560 | 1541 | rtlpriv->btcoexist.btc_info.in_4way = true; |
|---|
| 1561 | 1542 | rtlpriv->btcoexist.btc_info.in_4way_ts = jiffies; |
|---|
| 1562 | 1543 | |
|---|
| 1563 | | - RT_TRACE(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1564 | | - "802.1X %s EAPOL pkt!!\n", (is_tx) ? "Tx" : "Rx"); |
|---|
| 1544 | + rtl_dbg(rtlpriv, (COMP_SEND | COMP_RECV), DBG_DMESG, |
|---|
| 1545 | + "802.1X %s EAPOL pkt!!\n", (is_tx) ? "Tx" : "Rx"); |
|---|
| 1565 | 1546 | |
|---|
| 1566 | 1547 | if (is_tx) { |
|---|
| 1567 | 1548 | rtlpriv->ra.is_special_data = true; |
|---|
| 1568 | | - rtl_lps_leave(hw); |
|---|
| 1549 | + rtl_lps_leave(hw, false); |
|---|
| 1569 | 1550 | ppsc->last_delaylps_stamp_jiffies = jiffies; |
|---|
| 1570 | 1551 | |
|---|
| 1571 | 1552 | setup_special_tx(rtlpriv, ppsc, PACKET_EAPOL); |
|---|
| .. | .. |
|---|
| 1603 | 1584 | info = IEEE80211_SKB_CB(skb); |
|---|
| 1604 | 1585 | ieee80211_tx_info_clear_status(info); |
|---|
| 1605 | 1586 | if (ack) { |
|---|
| 1606 | | - RT_TRACE(rtlpriv, COMP_TX_REPORT, DBG_LOUD, |
|---|
| 1607 | | - "tx report: ack\n"); |
|---|
| 1587 | + rtl_dbg(rtlpriv, COMP_TX_REPORT, DBG_LOUD, |
|---|
| 1588 | + "tx report: ack\n"); |
|---|
| 1608 | 1589 | info->flags |= IEEE80211_TX_STAT_ACK; |
|---|
| 1609 | 1590 | } else { |
|---|
| 1610 | | - RT_TRACE(rtlpriv, COMP_TX_REPORT, DBG_LOUD, |
|---|
| 1611 | | - "tx report: not ack\n"); |
|---|
| 1591 | + rtl_dbg(rtlpriv, COMP_TX_REPORT, DBG_LOUD, |
|---|
| 1592 | + "tx report: not ack\n"); |
|---|
| 1612 | 1593 | info->flags &= ~IEEE80211_TX_STAT_ACK; |
|---|
| 1613 | 1594 | } |
|---|
| 1614 | 1595 | ieee80211_tx_status_irqsafe(hw, skb); |
|---|
| .. | .. |
|---|
| 1646 | 1627 | tx_report->last_sent_time = jiffies; |
|---|
| 1647 | 1628 | tx_info->sn = sn; |
|---|
| 1648 | 1629 | tx_info->send_time = tx_report->last_sent_time; |
|---|
| 1649 | | - RT_TRACE(rtlpriv, COMP_TX_REPORT, DBG_DMESG, |
|---|
| 1650 | | - "Send TX-Report sn=0x%X\n", sn); |
|---|
| 1630 | + rtl_dbg(rtlpriv, COMP_TX_REPORT, DBG_DMESG, |
|---|
| 1631 | + "Send TX-Report sn=0x%X\n", sn); |
|---|
| 1651 | 1632 | |
|---|
| 1652 | 1633 | return sn; |
|---|
| 1653 | 1634 | } |
|---|
| .. | .. |
|---|
| 1694 | 1675 | break; |
|---|
| 1695 | 1676 | } |
|---|
| 1696 | 1677 | } |
|---|
| 1697 | | - RT_TRACE(rtlpriv, COMP_TX_REPORT, DBG_DMESG, |
|---|
| 1698 | | - "Recv TX-Report st=0x%02X sn=0x%X retry=0x%X\n", |
|---|
| 1699 | | - st, sn, retry); |
|---|
| 1678 | + rtl_dbg(rtlpriv, COMP_TX_REPORT, DBG_DMESG, |
|---|
| 1679 | + "Recv TX-Report st=0x%02X sn=0x%X retry=0x%X\n", |
|---|
| 1680 | + st, sn, retry); |
|---|
| 1700 | 1681 | } |
|---|
| 1701 | 1682 | EXPORT_SYMBOL_GPL(rtl_tx_report_handler); |
|---|
| 1702 | 1683 | |
|---|
| .. | .. |
|---|
| 1709 | 1690 | return true; |
|---|
| 1710 | 1691 | |
|---|
| 1711 | 1692 | if (time_before(tx_report->last_sent_time + 3 * HZ, jiffies)) { |
|---|
| 1712 | | - RT_TRACE(rtlpriv, COMP_TX_REPORT, DBG_WARNING, |
|---|
| 1713 | | - "Check TX-Report timeout!! s_sn=0x%X r_sn=0x%X\n", |
|---|
| 1714 | | - tx_report->last_sent_sn, tx_report->last_recv_sn); |
|---|
| 1693 | + rtl_dbg(rtlpriv, COMP_TX_REPORT, DBG_WARNING, |
|---|
| 1694 | + "Check TX-Report timeout!! s_sn=0x%X r_sn=0x%X\n", |
|---|
| 1695 | + tx_report->last_sent_sn, tx_report->last_recv_sn); |
|---|
| 1715 | 1696 | return true; /* 3 sec. (timeout) seen as acked */ |
|---|
| 1716 | 1697 | } |
|---|
| 1717 | 1698 | |
|---|
| .. | .. |
|---|
| 1727 | 1708 | if (rtl_check_tx_report_acked(hw)) |
|---|
| 1728 | 1709 | break; |
|---|
| 1729 | 1710 | usleep_range(1000, 2000); |
|---|
| 1730 | | - RT_TRACE(rtlpriv, COMP_SEC, DBG_DMESG, |
|---|
| 1731 | | - "Wait 1ms (%d/%d) to disable key.\n", i, wait_ms); |
|---|
| 1711 | + rtl_dbg(rtlpriv, COMP_SEC, DBG_DMESG, |
|---|
| 1712 | + "Wait 1ms (%d/%d) to disable key.\n", i, wait_ms); |
|---|
| 1732 | 1713 | } |
|---|
| 1733 | 1714 | } |
|---|
| 1734 | 1715 | |
|---|
| .. | .. |
|---|
| 1790 | 1771 | return -ENXIO; |
|---|
| 1791 | 1772 | tid_data = &sta_entry->tids[tid]; |
|---|
| 1792 | 1773 | |
|---|
| 1793 | | - RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1794 | | - "on ra = %pM tid = %d seq:%d\n", sta->addr, tid, |
|---|
| 1795 | | - *ssn); |
|---|
| 1774 | + rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1775 | + "on ra = %pM tid = %d seq:%d\n", sta->addr, tid, |
|---|
| 1776 | + *ssn); |
|---|
| 1796 | 1777 | |
|---|
| 1797 | 1778 | tid_data->agg.agg_state = RTL_AGG_START; |
|---|
| 1798 | 1779 | |
|---|
| 1799 | | - ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
|---|
| 1800 | | - return 0; |
|---|
| 1780 | + return IEEE80211_AMPDU_TX_START_IMMEDIATE; |
|---|
| 1801 | 1781 | } |
|---|
| 1802 | 1782 | |
|---|
| 1803 | 1783 | int rtl_tx_agg_stop(struct ieee80211_hw *hw, struct ieee80211_vif *vif, |
|---|
| .. | .. |
|---|
| 1809 | 1789 | if (sta == NULL) |
|---|
| 1810 | 1790 | return -EINVAL; |
|---|
| 1811 | 1791 | |
|---|
| 1812 | | - RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1813 | | - "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1792 | + rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1793 | + "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1814 | 1794 | |
|---|
| 1815 | 1795 | if (unlikely(tid >= MAX_TID_COUNT)) |
|---|
| 1816 | 1796 | return -EINVAL; |
|---|
| .. | .. |
|---|
| 1849 | 1829 | return -ENXIO; |
|---|
| 1850 | 1830 | tid_data = &sta_entry->tids[tid]; |
|---|
| 1851 | 1831 | |
|---|
| 1852 | | - RT_TRACE(rtlpriv, COMP_RECV, DBG_DMESG, |
|---|
| 1853 | | - "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1832 | + rtl_dbg(rtlpriv, COMP_RECV, DBG_DMESG, |
|---|
| 1833 | + "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1854 | 1834 | |
|---|
| 1855 | 1835 | tid_data->agg.rx_agg_state = RTL_RX_AGG_START; |
|---|
| 1856 | 1836 | return 0; |
|---|
| .. | .. |
|---|
| 1865 | 1845 | if (sta == NULL) |
|---|
| 1866 | 1846 | return -EINVAL; |
|---|
| 1867 | 1847 | |
|---|
| 1868 | | - RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1869 | | - "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1848 | + rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1849 | + "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1870 | 1850 | |
|---|
| 1871 | 1851 | if (unlikely(tid >= MAX_TID_COUNT)) |
|---|
| 1872 | 1852 | return -EINVAL; |
|---|
| .. | .. |
|---|
| 1876 | 1856 | |
|---|
| 1877 | 1857 | return 0; |
|---|
| 1878 | 1858 | } |
|---|
| 1859 | + |
|---|
| 1879 | 1860 | int rtl_tx_agg_oper(struct ieee80211_hw *hw, |
|---|
| 1880 | 1861 | struct ieee80211_sta *sta, u16 tid) |
|---|
| 1881 | 1862 | { |
|---|
| .. | .. |
|---|
| 1885 | 1866 | if (sta == NULL) |
|---|
| 1886 | 1867 | return -EINVAL; |
|---|
| 1887 | 1868 | |
|---|
| 1888 | | - RT_TRACE(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1889 | | - "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1869 | + rtl_dbg(rtlpriv, COMP_SEND, DBG_DMESG, |
|---|
| 1870 | + "on ra = %pM tid = %d\n", sta->addr, tid); |
|---|
| 1890 | 1871 | |
|---|
| 1891 | 1872 | if (unlikely(tid >= MAX_TID_COUNT)) |
|---|
| 1892 | 1873 | return -EINVAL; |
|---|
| .. | .. |
|---|
| 1906 | 1887 | btc_ops->btc_get_ampdu_cfg(rtlpriv, &reject_agg, |
|---|
| 1907 | 1888 | &ctrl_agg_size, &agg_size); |
|---|
| 1908 | 1889 | |
|---|
| 1909 | | - RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, |
|---|
| 1910 | | - "Set RX AMPDU: coex - reject=%d, ctrl_agg_size=%d, size=%d", |
|---|
| 1911 | | - reject_agg, ctrl_agg_size, agg_size); |
|---|
| 1890 | + rtl_dbg(rtlpriv, COMP_BT_COEXIST, DBG_DMESG, |
|---|
| 1891 | + "Set RX AMPDU: coex - reject=%d, ctrl_agg_size=%d, size=%d", |
|---|
| 1892 | + reject_agg, ctrl_agg_size, agg_size); |
|---|
| 1912 | 1893 | |
|---|
| 1913 | 1894 | rtlpriv->hw->max_rx_aggregation_subframes = |
|---|
| 1914 | 1895 | (ctrl_agg_size ? agg_size : IEEE80211_MAX_AMPDU_BUF_HT); |
|---|
| .. | .. |
|---|
| 1996 | 1977 | list_del(&entry->list); |
|---|
| 1997 | 1978 | rtlpriv->scan_list.num--; |
|---|
| 1998 | 1979 | |
|---|
| 1999 | | - RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 2000 | | - "BSSID=%pM is expire in scan list (total=%d)\n", |
|---|
| 2001 | | - entry->bssid, rtlpriv->scan_list.num); |
|---|
| 1980 | + rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 1981 | + "BSSID=%pM is expire in scan list (total=%d)\n", |
|---|
| 1982 | + entry->bssid, rtlpriv->scan_list.num); |
|---|
| 2002 | 1983 | kfree(entry); |
|---|
| 2003 | 1984 | } |
|---|
| 2004 | 1985 | |
|---|
| .. | .. |
|---|
| 2032 | 2013 | if (memcmp(entry->bssid, hdr->addr3, ETH_ALEN) == 0) { |
|---|
| 2033 | 2014 | list_del_init(&entry->list); |
|---|
| 2034 | 2015 | entry_found = true; |
|---|
| 2035 | | - RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 2036 | | - "Update BSSID=%pM to scan list (total=%d)\n", |
|---|
| 2037 | | - hdr->addr3, rtlpriv->scan_list.num); |
|---|
| 2016 | + rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 2017 | + "Update BSSID=%pM to scan list (total=%d)\n", |
|---|
| 2018 | + hdr->addr3, rtlpriv->scan_list.num); |
|---|
| 2038 | 2019 | break; |
|---|
| 2039 | 2020 | } |
|---|
| 2040 | 2021 | } |
|---|
| .. | .. |
|---|
| 2048 | 2029 | memcpy(entry->bssid, hdr->addr3, ETH_ALEN); |
|---|
| 2049 | 2030 | rtlpriv->scan_list.num++; |
|---|
| 2050 | 2031 | |
|---|
| 2051 | | - RT_TRACE(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 2052 | | - "Add BSSID=%pM to scan list (total=%d)\n", |
|---|
| 2053 | | - hdr->addr3, rtlpriv->scan_list.num); |
|---|
| 2032 | + rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD, |
|---|
| 2033 | + "Add BSSID=%pM to scan list (total=%d)\n", |
|---|
| 2034 | + hdr->addr3, rtlpriv->scan_list.num); |
|---|
| 2054 | 2035 | } |
|---|
| 2055 | 2036 | |
|---|
| 2056 | 2037 | entry->age = jiffies; |
|---|
| .. | .. |
|---|
| 2062 | 2043 | } |
|---|
| 2063 | 2044 | EXPORT_SYMBOL(rtl_collect_scan_list); |
|---|
| 2064 | 2045 | |
|---|
| 2065 | | -void rtl_watchdog_wq_callback(void *data) |
|---|
| 2046 | +static void rtl_watchdog_wq_callback(struct work_struct *work) |
|---|
| 2066 | 2047 | { |
|---|
| 2067 | | - struct rtl_works *rtlworks = container_of_dwork_rtl(data, |
|---|
| 2068 | | - struct rtl_works, |
|---|
| 2069 | | - watchdog_wq); |
|---|
| 2048 | + struct rtl_works *rtlworks = container_of(work, struct rtl_works, |
|---|
| 2049 | + watchdog_wq.work); |
|---|
| 2070 | 2050 | struct ieee80211_hw *hw = rtlworks->hw; |
|---|
| 2071 | 2051 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
|---|
| 2072 | 2052 | struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); |
|---|
| .. | .. |
|---|
| 2099 | 2079 | * busytraffic we don't change channel |
|---|
| 2100 | 2080 | */ |
|---|
| 2101 | 2081 | if (mac->link_state >= MAC80211_LINKED) { |
|---|
| 2102 | | - |
|---|
| 2103 | 2082 | /* (1) get aver_rx_cnt_inperiod & aver_tx_cnt_inperiod */ |
|---|
| 2104 | 2083 | for (idx = 0; idx <= 2; idx++) { |
|---|
| 2105 | 2084 | rtlpriv->link_info.num_rx_in4period[idx] = |
|---|
| .. | .. |
|---|
| 2168 | 2147 | if (rtlpriv->link_info.num_rx_inperiod + |
|---|
| 2169 | 2148 | rtlpriv->link_info.num_tx_inperiod > 8 || |
|---|
| 2170 | 2149 | rtlpriv->link_info.num_rx_inperiod > 2) |
|---|
| 2171 | | - rtl_lps_leave(hw); |
|---|
| 2150 | + rtl_lps_leave(hw, true); |
|---|
| 2172 | 2151 | else |
|---|
| 2173 | | - rtl_lps_enter(hw); |
|---|
| 2152 | + rtl_lps_enter(hw, true); |
|---|
| 2174 | 2153 | |
|---|
| 2175 | 2154 | label_lps_done: |
|---|
| 2176 | 2155 | ; |
|---|
| 2177 | 2156 | } |
|---|
| 2178 | 2157 | |
|---|
| 2179 | | - rtlpriv->link_info.num_rx_inperiod = 0; |
|---|
| 2180 | | - rtlpriv->link_info.num_tx_inperiod = 0; |
|---|
| 2181 | 2158 | for (tid = 0; tid <= 7; tid++) |
|---|
| 2182 | 2159 | rtlpriv->link_info.tidtx_inperiod[tid] = 0; |
|---|
| 2183 | 2160 | |
|---|
| .. | .. |
|---|
| 2213 | 2190 | if ((rtlpriv->link_info.bcn_rx_inperiod + |
|---|
| 2214 | 2191 | rtlpriv->link_info.num_rx_inperiod) == 0) { |
|---|
| 2215 | 2192 | rtlpriv->link_info.roam_times++; |
|---|
| 2216 | | - RT_TRACE(rtlpriv, COMP_ERR, DBG_DMESG, |
|---|
| 2217 | | - "AP off for %d s\n", |
|---|
| 2193 | + rtl_dbg(rtlpriv, COMP_ERR, DBG_DMESG, |
|---|
| 2194 | + "AP off for %d s\n", |
|---|
| 2218 | 2195 | (rtlpriv->link_info.roam_times * 2)); |
|---|
| 2219 | 2196 | |
|---|
| 2220 | 2197 | /* if we can't recv beacon for 10s, |
|---|
| .. | .. |
|---|
| 2240 | 2217 | rtlpriv->btcoexist.btc_info.in_4way = false; |
|---|
| 2241 | 2218 | } |
|---|
| 2242 | 2219 | |
|---|
| 2220 | + rtlpriv->link_info.num_rx_inperiod = 0; |
|---|
| 2221 | + rtlpriv->link_info.num_tx_inperiod = 0; |
|---|
| 2243 | 2222 | rtlpriv->link_info.bcn_rx_inperiod = 0; |
|---|
| 2244 | 2223 | |
|---|
| 2245 | 2224 | /* <6> scan list */ |
|---|
| .. | .. |
|---|
| 2259 | 2238 | mod_timer(&rtlpriv->works.watchdog_timer, |
|---|
| 2260 | 2239 | jiffies + MSECS(RTL_WATCH_DOG_TIME)); |
|---|
| 2261 | 2240 | } |
|---|
| 2262 | | -void rtl_fwevt_wq_callback(void *data) |
|---|
| 2241 | + |
|---|
| 2242 | +static void rtl_fwevt_wq_callback(struct work_struct *work) |
|---|
| 2263 | 2243 | { |
|---|
| 2264 | | - struct rtl_works *rtlworks = |
|---|
| 2265 | | - container_of_dwork_rtl(data, struct rtl_works, fwevt_wq); |
|---|
| 2244 | + struct rtl_works *rtlworks = container_of(work, struct rtl_works, |
|---|
| 2245 | + fwevt_wq.work); |
|---|
| 2266 | 2246 | struct ieee80211_hw *hw = rtlworks->hw; |
|---|
| 2267 | 2247 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
|---|
| 2268 | 2248 | |
|---|
| .. | .. |
|---|
| 2315 | 2295 | struct rtl_priv *rtlpriv = rtl_priv(hw); |
|---|
| 2316 | 2296 | struct rtl_hal_ops *hal_ops = rtlpriv->cfg->ops; |
|---|
| 2317 | 2297 | const struct rtl_btc_ops *btc_ops = rtlpriv->btcoexist.btc_ops; |
|---|
| 2318 | | - u8 cmd_id, cmd_seq, cmd_len; |
|---|
| 2298 | + u8 cmd_id, cmd_len; |
|---|
| 2319 | 2299 | u8 *cmd_buf = NULL; |
|---|
| 2320 | 2300 | |
|---|
| 2321 | 2301 | cmd_id = GET_C2H_CMD_ID(skb->data); |
|---|
| 2322 | | - cmd_seq = GET_C2H_SEQ(skb->data); |
|---|
| 2323 | 2302 | cmd_len = skb->len - C2H_DATA_OFFSET; |
|---|
| 2324 | 2303 | cmd_buf = GET_C2H_DATA_PTR(skb->data); |
|---|
| 2325 | 2304 | |
|---|
| 2326 | 2305 | switch (cmd_id) { |
|---|
| 2327 | 2306 | case C2H_DBG: |
|---|
| 2328 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_LOUD, "[C2H], C2H_DBG!!\n"); |
|---|
| 2307 | + rtl_dbg(rtlpriv, COMP_FW, DBG_LOUD, "[C2H], C2H_DBG!!\n"); |
|---|
| 2329 | 2308 | break; |
|---|
| 2330 | 2309 | case C2H_TXBF: |
|---|
| 2331 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2332 | | - "[C2H], C2H_TXBF!!\n"); |
|---|
| 2310 | + rtl_dbg(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2311 | + "[C2H], C2H_TXBF!!\n"); |
|---|
| 2333 | 2312 | break; |
|---|
| 2334 | 2313 | case C2H_TX_REPORT: |
|---|
| 2335 | 2314 | rtl_tx_report_handler(hw, cmd_buf, cmd_len); |
|---|
| .. | .. |
|---|
| 2339 | 2318 | hal_ops->c2h_ra_report_handler(hw, cmd_buf, cmd_len); |
|---|
| 2340 | 2319 | break; |
|---|
| 2341 | 2320 | case C2H_BT_INFO: |
|---|
| 2342 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2343 | | - "[C2H], C2H_BT_INFO!!\n"); |
|---|
| 2321 | + rtl_dbg(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2322 | + "[C2H], C2H_BT_INFO!!\n"); |
|---|
| 2344 | 2323 | if (rtlpriv->cfg->ops->get_btc_status()) |
|---|
| 2345 | 2324 | btc_ops->btc_btinfo_notify(rtlpriv, cmd_buf, cmd_len); |
|---|
| 2346 | 2325 | break; |
|---|
| 2347 | 2326 | case C2H_BT_MP: |
|---|
| 2348 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2349 | | - "[C2H], C2H_BT_MP!!\n"); |
|---|
| 2327 | + rtl_dbg(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2328 | + "[C2H], C2H_BT_MP!!\n"); |
|---|
| 2350 | 2329 | if (rtlpriv->cfg->ops->get_btc_status()) |
|---|
| 2351 | 2330 | btc_ops->btc_btmpinfo_notify(rtlpriv, cmd_buf, cmd_len); |
|---|
| 2352 | 2331 | break; |
|---|
| 2353 | 2332 | default: |
|---|
| 2354 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2355 | | - "[C2H], Unknown packet!! cmd_id(%#X)!\n", cmd_id); |
|---|
| 2333 | + rtl_dbg(rtlpriv, COMP_FW, DBG_TRACE, |
|---|
| 2334 | + "[C2H], Unknown packet!! cmd_id(%#X)!\n", cmd_id); |
|---|
| 2356 | 2335 | break; |
|---|
| 2357 | 2336 | } |
|---|
| 2358 | 2337 | } |
|---|
| .. | .. |
|---|
| 2376 | 2355 | if (!skb) |
|---|
| 2377 | 2356 | break; |
|---|
| 2378 | 2357 | |
|---|
| 2379 | | - RT_TRACE(rtlpriv, COMP_FW, DBG_DMESG, "C2H rx_desc_shift=%d\n", |
|---|
| 2380 | | - *((u8 *)skb->cb)); |
|---|
| 2358 | + rtl_dbg(rtlpriv, COMP_FW, DBG_DMESG, "C2H rx_desc_shift=%d\n", |
|---|
| 2359 | + *((u8 *)skb->cb)); |
|---|
| 2381 | 2360 | RT_PRINT_DATA(rtlpriv, COMP_FW, DBG_DMESG, |
|---|
| 2382 | 2361 | "C2H data: ", skb->data, skb->len); |
|---|
| 2383 | 2362 | |
|---|
| .. | .. |
|---|
| 2389 | 2368 | } |
|---|
| 2390 | 2369 | } |
|---|
| 2391 | 2370 | |
|---|
| 2392 | | -void rtl_c2hcmd_wq_callback(void *data) |
|---|
| 2371 | +static void rtl_c2hcmd_wq_callback(struct work_struct *work) |
|---|
| 2393 | 2372 | { |
|---|
| 2394 | | - struct rtl_works *rtlworks = container_of_dwork_rtl(data, |
|---|
| 2395 | | - struct rtl_works, |
|---|
| 2396 | | - c2hcmd_wq); |
|---|
| 2373 | + struct rtl_works *rtlworks = container_of(work, struct rtl_works, |
|---|
| 2374 | + c2hcmd_wq.work); |
|---|
| 2397 | 2375 | struct ieee80211_hw *hw = rtlworks->hw; |
|---|
| 2398 | 2376 | |
|---|
| 2399 | 2377 | rtl_c2hcmd_launcher(hw, 1); |
|---|
| .. | .. |
|---|
| 2411 | 2389 | |
|---|
| 2412 | 2390 | rtlpriv->cfg->ops->dualmac_easy_concurrent(hw); |
|---|
| 2413 | 2391 | } |
|---|
| 2392 | + |
|---|
| 2414 | 2393 | /********************************************************* |
|---|
| 2415 | 2394 | * |
|---|
| 2416 | 2395 | * frame process functions |
|---|
| .. | .. |
|---|
| 2463 | 2442 | case IEEE80211_SMPS_AUTOMATIC:/* 0 */ |
|---|
| 2464 | 2443 | case IEEE80211_SMPS_NUM_MODES:/* 4 */ |
|---|
| 2465 | 2444 | WARN_ON(1); |
|---|
| 2466 | | - /* fall through */ |
|---|
| 2445 | + fallthrough; |
|---|
| 2467 | 2446 | case IEEE80211_SMPS_OFF:/* 1 */ /*MIMO_PS_NOLIMIT*/ |
|---|
| 2468 | 2447 | action_frame->u.action.u.ht_smps.smps_control = |
|---|
| 2469 | 2448 | WLAN_HT_SMPS_CONTROL_DISABLED;/* 0 */ |
|---|
| .. | .. |
|---|
| 2721 | 2700 | (memcmp(mac->bssid, ap5_6, 3) == 0) || |
|---|
| 2722 | 2701 | vendor == PEER_ATH) { |
|---|
| 2723 | 2702 | vendor = PEER_ATH; |
|---|
| 2724 | | - RT_TRACE(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>ath find\n"); |
|---|
| 2703 | + rtl_dbg(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>ath find\n"); |
|---|
| 2725 | 2704 | } else if ((memcmp(mac->bssid, ap4_4, 3) == 0) || |
|---|
| 2726 | 2705 | (memcmp(mac->bssid, ap4_5, 3) == 0) || |
|---|
| 2727 | 2706 | (memcmp(mac->bssid, ap4_1, 3) == 0) || |
|---|
| 2728 | 2707 | (memcmp(mac->bssid, ap4_2, 3) == 0) || |
|---|
| 2729 | 2708 | (memcmp(mac->bssid, ap4_3, 3) == 0) || |
|---|
| 2730 | 2709 | vendor == PEER_RAL) { |
|---|
| 2731 | | - RT_TRACE(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>ral find\n"); |
|---|
| 2710 | + rtl_dbg(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>ral find\n"); |
|---|
| 2732 | 2711 | vendor = PEER_RAL; |
|---|
| 2733 | 2712 | } else if (memcmp(mac->bssid, ap6_1, 3) == 0 || |
|---|
| 2734 | 2713 | vendor == PEER_CISCO) { |
|---|
| 2735 | 2714 | vendor = PEER_CISCO; |
|---|
| 2736 | | - RT_TRACE(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>cisco find\n"); |
|---|
| 2715 | + rtl_dbg(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>cisco find\n"); |
|---|
| 2737 | 2716 | } else if ((memcmp(mac->bssid, ap3_1, 3) == 0) || |
|---|
| 2738 | 2717 | (memcmp(mac->bssid, ap3_2, 3) == 0) || |
|---|
| 2739 | 2718 | (memcmp(mac->bssid, ap3_3, 3) == 0) || |
|---|
| 2740 | 2719 | vendor == PEER_BROAD) { |
|---|
| 2741 | | - RT_TRACE(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>broad find\n"); |
|---|
| 2720 | + rtl_dbg(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>broad find\n"); |
|---|
| 2742 | 2721 | vendor = PEER_BROAD; |
|---|
| 2743 | 2722 | } else if (memcmp(mac->bssid, ap7_1, 3) == 0 || |
|---|
| 2744 | 2723 | vendor == PEER_MARV) { |
|---|
| 2745 | 2724 | vendor = PEER_MARV; |
|---|
| 2746 | | - RT_TRACE(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>marv find\n"); |
|---|
| 2725 | + rtl_dbg(rtlpriv, COMP_MAC80211, DBG_LOUD, "=>marv find\n"); |
|---|
| 2747 | 2726 | } |
|---|
| 2748 | 2727 | |
|---|
| 2749 | 2728 | mac->vendor = vendor; |
|---|