1. 09 10月, 2019 7 次提交
    • Z
      rtlwifi: btcoex: Remove set but not used variable 'result' · e2507607
      zhengbin 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c: In function btc8192e2ant_tdma_duration_adjust:
      drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8192e2ant.c:1584:6: warning: variable result set but not used [-Wunused-but-set-variable]
      
      It is not used since commit 27a31a60 ("rtlwifi:
      btcoex: remove unused functions")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      e2507607
    • Z
      rtlwifi: rtl8188ee: Remove set but not used variable 'h2c_parameter' · 073f8138
      zhengbin 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c: In function rtl88e_dm_pwdb_monitor:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/dm.c:763:6: warning: variable h2c_parameter set but not used [-Wunused-but-set-variable]
      
      It is not used since commit f1d2b4d3 ("rtlwifi:
      rtl818x: Move drivers into new realtek directory")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      073f8138
    • Z
      rtlwifi: rtl8188ee: Remove set but not used variables... · 925942b5
      zhengbin 提交于
      rtlwifi: rtl8188ee: Remove set but not used variables 'v3','rtstatus','reg_ecc','reg_ec4','reg_eac','b_pathb_ok'
      
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function phy_config_bb_with_pghdr:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:652:22: warning: variable v3 set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function rtl88e_phy_config_rf_with_headerfile:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:772:7: warning: variable rtstatus set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function rtl88e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:1945:6: warning: variable reg_ecc set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function rtl88e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:1944:61: warning: variable reg_ec4 set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function rtl88e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:1944:34: warning: variable reg_eac set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c: In function rtl88e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8188ee/phy.c:1943:19: warning: variable b_pathb_ok set but not used [-Wunused-but-set-variable]
      
      They are not used since commit f1d2b4d3 ("rtlwifi:
      rtl818x: Move drivers into new realtek directory")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      925942b5
    • Z
      rtlwifi: rtl8192c: Remove set but not used variables 'reg_ecc','reg_eac' · a003aec3
      zhengbin 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c: In function rtl92c_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c:1373:6: warning: variable reg_ecc set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c: In function rtl92c_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8192c/phy_common.c:1372:34: warning: variable reg_eac set but not used [-Wunused-but-set-variable]
      
      They are not used since commit f1d2b4d3 ("rtlwifi:
      rtl818x: Move drivers into new realtek directory")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a003aec3
    • Z
      rtlwifi: rtl8723ae: Remove set but not used variables 'reg_ecc','reg_ec4','reg_eac','b_pathb_ok' · a3e017fd
      zhengbin 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c: In function rtl8723e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c:1346:6: warning: variable reg_ecc set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c: In function rtl8723e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c:1345:61: warning: variable reg_ec4 set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c: In function rtl8723e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c:1345:34: warning: variable reg_eac set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c: In function rtl8723e_phy_iq_calibrate:
      drivers/net/wireless/realtek/rtlwifi/rtl8723ae/phy.c:1344:19: warning: variable b_pathb_ok set but not used [-Wunused-but-set-variable]
      
      They are not used since commit f1d2b4d3 ("rtlwifi:
      rtl818x: Move drivers into new realtek directory")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a3e017fd
    • Z
      rtlwifi: rtl8821ae: Remove set but not used variables 'rtstatus','bd' · 0fc44cd4
      zhengbin 提交于
      Fixes gcc '-Wunused-but-set-variable' warning:
      
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c: In function rtl8812ae_phy_config_rf_with_headerfile:
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c:2079:7: warning: variable rtstatus set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c: In function rtl8821ae_phy_config_rf_with_headerfile:
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c:2114:7: warning: variable rtstatus set but not used [-Wunused-but-set-variable]
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c: In function _rtl8812ae_phy_get_txpower_limit:
      drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c:2354:6: warning: variable bd set but not used [-Wunused-but-set-variable]
      
      They are not used since commit f1d2b4d3 ("rtlwifi:
      rtl818x: Move drivers into new realtek directory")
      Reported-by: NHulk Robot <hulkci@huawei.com>
      Signed-off-by: Nzhengbin <zhengbin13@huawei.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      0fc44cd4
    • C
      rtl8xxxu: Improve TX performance of RTL8723BU on rtl8xxxu driver · a9bb0b51
      Chris Chiu 提交于
      We have 3 laptops which connect the wifi by the same RTL8723BU.
      The PCI VID/PID of the wifi chip is 10EC:B720 which is supported.
      They have the same problem with the in-kernel rtl8xxxu driver, the
      iperf (as a client to an ethernet-connected server) gets ~1Mbps.
      Nevertheless, the signal strength is reported as around -40dBm,
      which is quite good. From the wireshark capture, the tx rate for each
      data and qos data packet is only 1Mbps. Compare to the Realtek driver
      at https://github.com/lwfinger/rtl8723bu, the same iperf test gets
      ~12Mbps or better. The signal strength is reported similarly around
      -40dBm. That's why we want to improve.
      
      After reading the source code of the rtl8xxxu driver and Realtek's, the
      major difference is that Realtek's driver has a watchdog which will keep
      monitoring the signal quality and updating the rate mask just like the
      rtl8xxxu_gen2_update_rate_mask() does if signal quality changes.
      And this kind of watchdog also exists in rtlwifi driver of some specific
      chips, ex rtl8192ee, rtl8188ee, rtl8723ae, rtl8821ae...etc. They have
      the same member function named dm_watchdog and will invoke the
      corresponding dm_refresh_rate_adaptive_mask to adjust the tx rate
      mask.
      
      With this commit, the tx rate of each data and qos data packet will
      be 39Mbps (MCS4) with the 0xF00000 as the tx rate mask. The 20th bit
      to 23th bit means MCS4 to MCS7. It means that the firmware still picks
      the lowest rate from the rate mask and explains why the tx rate of
      data and qos data is always lowest 1Mbps because the default rate mask
      passed is always 0xFFFFFFF ranges from the basic CCK rate, OFDM rate,
      and MCS rate. However, with Realtek's driver, the tx rate observed from
      wireshark under the same condition is almost 65Mbps or 72Mbps, which
      indicating that rtl8xxxu could still be further improved.
      Signed-off-by: NChris Chiu <chiu@endlessm.com>
      Reviewed-by: NDaniel Drake <drake@endlessm.com>
      Acked-by: NJes Sorensen <Jes.Sorensen@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      a9bb0b51
  2. 04 10月, 2019 17 次提交
  3. 03 10月, 2019 6 次提交
    • K
      Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git · 97ef1226
      Kalle Valo 提交于
      ath.git patches for 5.5. Major changes:
      
      ath10k
      
      * add support for hardware rfkill on devices where firmware supports it
      97ef1226
    • D
      wil6210: check len before memcpy() calls · 2c840676
      Denis Efremov 提交于
      memcpy() in wmi_set_ie() and wmi_update_ft_ies() is called with
      src == NULL and len == 0. This is an undefined behavior. Fix it
      by checking "ie_len > 0" before the memcpy() calls.
      
      As suggested by GCC documentation:
      "The pointers passed to memmove (and similar functions in <string.h>)
      must be non-null even when nbytes==0, so GCC can use that information
      to remove the check after the memmove call." [1]
      
      [1] https://gcc.gnu.org/gcc-4.9/porting_to.html
      
      Cc: Maya Erez <merez@codeaurora.org>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDenis Efremov <efremov@linux.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      2c840676
    • D
      ar5523: check NULL before memcpy() in ar5523_cmd() · 315cee42
      Denis Efremov 提交于
      memcpy() call with "idata == NULL && ilen == 0" results in undefined
      behavior in ar5523_cmd(). For example, NULL is passed in callchain
      "ar5523_stat_work() -> ar5523_cmd_write() -> ar5523_cmd()". This patch
      adds ilen check before memcpy() call in ar5523_cmd() to prevent an
      undefined behavior.
      
      Cc: Pontus Fuchs <pontus.fuchs@gmail.com>
      Cc: Kalle Valo <kvalo@codeaurora.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: David Laight <David.Laight@ACULAB.COM>
      Cc: stable@vger.kernel.org
      Signed-off-by: NDenis Efremov <efremov@linux.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      315cee42
    • W
      ath10k: add support for hardware rfkill · 1382993f
      Wen Gong 提交于
      When hardware rfkill is enabled in the firmware it will report the
      capability via using WMI_TLV_SYS_CAP_INFO_RFKILL bit in the WMI_SERVICE_READY
      event to the host. ath10k will check the capability, and if it is enabled then
      ath10k will set the GPIO information to firmware using WMI_PDEV_SET_PARAM. When
      the firmware detects hardware rfkill is enabled by the user, it will report it
      via WMI_RFKILL_STATE_CHANGE_EVENTID. Once ath10k receives the event it will
      send wmi command WMI_PDEV_SET_PARAM to the firmware to enable/disable the radio
      and also notifies cfg80211.
      
      We can't power off the device when rfkill is enabled, as otherwise the
      firmware would not be able to detect GPIO changes and report them to the
      host. So when rfkill is enabled, we need to keep the firmware running.
      
      Tested with QCA6174 PCI with firmware
      WLAN.RM.4.4.1-00109-QCARMSWPZ-1.
      Signed-off-by: NAlan Liu <alanliu@codeaurora.org>
      Signed-off-by: NWen Gong <wgong@codeaurora.org>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      1382993f
    • C
      ath10k: restore QCA9880-AR1A (v1) detection · f8914a14
      Christian Lamparter 提交于
      This patch restores the old behavior that read
      the chip_id on the QCA988x before resetting the
      chip. This needs to be done in this order since
      the unsupported QCA988x AR1A chips fall off the
      bus when resetted. Otherwise the next MMIO Op
      after the reset causes a BUS ERROR and panic.
      
      Cc: stable@vger.kernel.org
      Fixes: 1a7fecb7 ("ath10k: reset chip before reading chip_id in probe")
      Signed-off-by: NChristian Lamparter <chunkeey@gmail.com>
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      f8914a14
    • B
      ath10k: fix offchannel tx failure when no ath10k_mac_tx_frm_has_freq · cc6df017
      Ben Greear 提交于
      Offchannel management frames were failing:
      
      [18099.253732] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3780
      [18102.293686] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3780
      [18105.333653] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3780
      [18108.373712] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3780
      [18111.413687] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e36c0
      [18114.453726] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3f00
      [18117.493773] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e36c0
      [18120.533631] ath10k_pci 0000:01:00.0: timed out waiting for offchannel skb cf0e3f00
      
      This bug appears to have been added between 4.0 (which works for us),
      and 4.4, which does not work.
      
      I think this is because the tx-offchannel logic gets in a loop when
      ath10k_mac_tx_frm_has_freq(ar) is false, so pkt is never actually
      sent to the firmware for transmit.
      
      This patch fixes the problem on 4.9 for me, and now HS20 clients
      can work again with my firmware.
      
      Antonio: tested with 10.4-3.5.3-00057 on QCA4019 and QCA9888
      Signed-off-by: NBen Greear <greearb@candelatech.com>
      Tested-by: NAntonio Quartulli <antonio.quartulli@kaiwoo.ai>
      [kvalo@codeaurora.org: improve commit log, remove unneeded parenthesis]
      Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
      cc6df017
  4. 02 10月, 2019 10 次提交