Revision tags: v5.3.11, v5.3.10, v5.3.9, v5.3.8, v5.3.7, v5.3.6, v5.3.5, v5.3.4, v5.3.3, v5.3.2, v5.3.1, v5.3, v5.2.14, v5.3-rc8, v5.2.13, v5.2.12, v5.2.11, v5.2.10, v5.2.9, v5.2.8, v5.2.7, v5.2.6, v5.2.5, v5.2.4, v5.2.3, v5.2.2, v5.2.1, v5.2, v5.1.16, v5.1.15, v5.1.14, v5.1.13, v5.1.12, v5.1.11, v5.1.10, v5.1.9, v5.1.8 |
|
#
9a1ace64 |
| 07-Jun-2019 |
Gustavo A. R. Silva <gustavo@embeddedor.com> |
qtnfmac: Use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for
qtnfmac: Use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct ieee80211_regdomain { ... struct ieee80211_reg_rule reg_rules[]; };
instance = kzalloc(sizeof(*mac->rd) + sizeof(struct ieee80211_reg_rule) * count, GFP_KERNEL);
Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper:
instance = kzalloc(struct_size(instance, reg_rules, count), GFP_KERNEL);
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v5.1.7, v5.1.6, v5.1.5, v5.1.4, v5.1.3, v5.1.2, v5.1.1, v5.0.14, v5.1, v5.0.13, v5.0.12, v5.0.11, v5.0.10, v5.0.9, v5.0.8 |
|
#
888f1564 |
| 09-Apr-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: allow to control DFS slave radar detection
In ETSI region DFS slave device can operate in two modes on DFS channels: - do on-channel radar detection and use higher Tx power - don't do rad
qtnfmac: allow to control DFS slave radar detection
In ETSI region DFS slave device can operate in two modes on DFS channels: - do on-channel radar detection and use higher Tx power - don't do radar detection and use lower Tx power as a consequence
Allow user to control that behavior through qtnfmac module parameter.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v5.0.7 |
|
#
95336d4c |
| 03-Apr-2019 |
Gustavo A. R. Silva <gustavo@embeddedor.com> |
qtnfmac: replace qtnf_cmd_acl_data_size() with struct_size()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, a
qtnfmac: replace qtnf_cmd_acl_data_size() with struct_size()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct foo { int stuff; struct boo entry[]; };
size = sizeof(struct foo) + count * sizeof(struct boo); instance = kzalloc(size, GFP_KERNEL)
Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper:
size = struct_size(instance, entry, count);
or
instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL)
Based on the above, replace qtnf_cmd_acl_data_size() with the new struct_size() helper.
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v5.0.6, v5.0.5, v5.0.4 |
|
#
b63967ca |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: use scan duration param for different scan types
Use scan duration param for both active and passive scan dwell times. Document what different types of dwell times are used for. Explicitly
qtnfmac: use scan duration param for different scan types
Use scan duration param for both active and passive scan dwell times. Document what different types of dwell times are used for. Explicitly specify that if unset, automatic selection by device firmware will be used.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
bc70732f |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: send EAPOL frames via control path
Use control path to send EAPOL frames to make sure they are sent with higher priority with aggregation disabled.
Signed-off-by: Igor Mitsyanko <igor.mits
qtnfmac: send EAPOL frames via control path
Use control path to send EAPOL frames to make sure they are sent with higher priority with aggregation disabled.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
83b00f6e |
| 20-Mar-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: simplify firmware state tracking
This patch streamlines firmware state tracking. In particular, state QTNF_FW_STATE_FW_DNLD_DONE is removed, states QTNF_FW_STATE_RESET and QTNF_FW_STATE_DET
qtnfmac: simplify firmware state tracking
This patch streamlines firmware state tracking. In particular, state QTNF_FW_STATE_FW_DNLD_DONE is removed, states QTNF_FW_STATE_RESET and QTNF_FW_STATE_DETACHED are merged into a single state. Besides, new state QTNF_FW_STATE_RUNNING is introduced to distinguish between the following two cases: - firmware load succeeded, firmware init process is ongoing - firmware init succeeded, firmware is fully functional
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
93eeab26 |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: update bands information on CHANGE_INTF command
In some regions, different regulatory limits (like max Tx power) may be defined for different operating modes. As an example: in ETSI regions
qtnfmac: update bands information on CHANGE_INTF command
In some regions, different regulatory limits (like max Tx power) may be defined for different operating modes. As an example: in ETSI regions DFS master devices may use higher transmit powers compared to DFS slave devices. Update bands information in CHANGE_INTF command if mode of operation changes.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
438fb43b |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: pass DFS region to firmware on region update
Pass DFS region as requested by regulatory core directly to firmware so it can initialize radar detection block accordingly.
Signed-off-by: Igo
qtnfmac: pass DFS region to firmware on region update
Pass DFS region as requested by regulatory core directly to firmware so it can initialize radar detection block accordingly.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
c698bce0 |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: allow each MAC to specify its own regulatory rules
Currently driver uses the same regulatory rules to register all wiphy instances. This is not logically correct since each wiphy may have d
qtnfmac: allow each MAC to specify its own regulatory rules
Currently driver uses the same regulatory rules to register all wiphy instances. This is not logically correct since each wiphy may have different capabilities (different supported bands, EIRP etc). Allow firmware to pass regulatory rules for each MAC separately.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
2c31129f |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: pass complete channel info in regulatory notifier
Currently only a portion of per-channel information is passed to firmware. Extend logic to pass all useful per-channel data.
Signed-off-by
qtnfmac: pass complete channel info in regulatory notifier
Currently only a portion of per-channel information is passed to firmware. Extend logic to pass all useful per-channel data.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
a2fbaaf7 |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: include full channels info to regulatory notifier
Before regulatory notifier is invoked by a wireless core, it will update band information for the wiphy. Pass this information to firmware
qtnfmac: include full channels info to regulatory notifier
Before regulatory notifier is invoked by a wireless core, it will update band information for the wiphy. Pass this information to firmware together with new region alpha2 code.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
d1231721 |
| 20-Mar-2019 |
Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> |
qtnfmac: make regulatory notifier work on per-phy basis
Wireless core calls regulatory notifier for each wiphy and it only guarantees that bands info is updated for this particular wiphy prior to ca
qtnfmac: make regulatory notifier work on per-phy basis
Wireless core calls regulatory notifier for each wiphy and it only guarantees that bands info is updated for this particular wiphy prior to calling a notifier. Hence updating all wiphy which belong to driver in a single notifier callback is redundant and incorrect.
Signed-off-by: Igor Mitsyanko <igor.mitsyanko.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v5.0.3, v4.19.29, v5.0.2, v4.19.28, v5.0.1, v4.19.27, v5.0, v4.19.26, v4.19.25, v4.19.24, v4.19.23, v4.19.22, v4.19.21, v4.19.20 |
|
#
47b08e75 |
| 05-Feb-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: enable WPA3 SAE support
In the case of SAE AP, drivers offload authentication to user-space software, e.g. hostapd. For FullMAC drivers the procedure is as follows. If auth_type is SAE and
qtnfmac: enable WPA3 SAE support
In the case of SAE AP, drivers offload authentication to user-space software, e.g. hostapd. For FullMAC drivers the procedure is as follows. If auth_type is SAE and user space indicates external authentication capability, then driver requests authentication offload to user-space software using cfg80211_external_auth_request call. From that point, auth frame exchange is performed transparently for driver: user-space software sends/receives mgmt frames using mgmt_tx/mgmt_frame_register cfg80211 callbacks. As soon as authenitcation is completed, user-space software notifies driver about its status using external_auth cfg80211 callback.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.19.19, v4.19.18, v4.19.17, v4.19.16 |
|
#
3844dec0 |
| 14-Jan-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: qtnf_cmd_send_with_reply cleanup
Use existing variable with dereferenced cmd_id field.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kv
qtnfmac: qtnf_cmd_send_with_reply cleanup
Use existing variable with dereferenced cmd_id field.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
ff233cb5 |
| 14-Jan-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: convert to SPDX license identifiers
Replace textual license with SPDX-License-Identifier. Add an SPDX-License-Identifier for the Makefile.
Signed-off-by: Sergey Matyukevich <sergey.matyuke
qtnfmac: convert to SPDX license identifiers
Replace textual license with SPDX-License-Identifier. Add an SPDX-License-Identifier for the Makefile.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
f3c8bd46 |
| 14-Jan-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: do not reject retry changes in driver
Do not reject RETRY changes in driver. This decision should belong to firmware.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com
qtnfmac: do not reject retry changes in driver
Do not reject RETRY changes in driver. This decision should belong to firmware.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
9fe504a1 |
| 14-Jan-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: switch to 32bit values for RTS/FRAG thresholds
Host wireless stack uses u32 type for RTS/FRAG threshold values. Switch to u32 in driver: pass u32 values to firmware and let firmware properl
qtnfmac: switch to 32bit values for RTS/FRAG thresholds
Host wireless stack uses u32 type for RTS/FRAG threshold values. Switch to u32 in driver: pass u32 values to firmware and let firmware properly adapt these values according to its internal representation.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
de624a35 |
| 14-Jan-2019 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: add support for 4addr mode
Advertise WIPHY_FLAG_4ADDR_STATION capability to wireless core. Send use4addr interface change flag to firmware in change_virtual_intf cfg80211 callback.
In orde
qtnfmac: add support for 4addr mode
Advertise WIPHY_FLAG_4ADDR_STATION capability to wireless core. Send use4addr interface change flag to firmware in change_virtual_intf cfg80211 callback.
In order to enable adding wireless station interface to bridge one should turn on 4addr mode using the following command: $ iw dev wlan0 set 4addr on $ brctl addif br0 wlan0
If this commands succeeds, then interface can be added to bridge. Note that when wireless interface is added to bridge, wpa_supplicant should be started with appropriate -b <brname> parameter, e.g: $ wpa_supplicant -Dnl80211 -iwlan0 -c/path/to/wpa.conf -b br0
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
126824f5 |
| 14-Jan-2019 |
Andrey Shevchenko <ashevchenko@quantenna.com> |
qtnfmac: support EBUSY errcode for QLINK protocol
Add support of EBUSY error code for remote procedures over QLINK protocol.
Signed-off-by: Andrey Shevchenko <ashevchenko@quantenna.com> Signed-off-
qtnfmac: support EBUSY errcode for QLINK protocol
Add support of EBUSY error code for remote procedures over QLINK protocol.
Signed-off-by: Andrey Shevchenko <ashevchenko@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.19.15, v4.19.14 |
|
#
db040dfa |
| 08-Jan-2019 |
Gustavo A. R. Silva <gustavo@embeddedor.com> |
qtnfmac: use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for
qtnfmac: use struct_size() in kzalloc()
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct foo { int stuff; void *entry[]; };
instance = kzalloc(sizeof(struct foo) + sizeof(void *) * count, GFP_KERNEL);
Instead of leaving these open-coded and prone to type mistakes, we can now use the new struct_size() helper:
instance = kzalloc(struct_size(instance, entry, count), GFP_KERNEL);
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Reviewed-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.19.13, v4.19.12, v4.19.11, v4.19.10, v4.19.9, v4.19.8, v4.19.7, v4.19.6, v4.19.5, v4.19.4, v4.18.20, v4.19.3, v4.18.19, v4.19.2, v4.18.18, v4.18.17, v4.19.1, v4.19, v4.18.16, v4.18.15 |
|
#
1066bd19 |
| 17-Oct-2018 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: fix error handling in control path
This patch fixes the following warnings:
- smatch drivers/net/wireless/quantenna/qtnfmac/commands.c:132 qtnf_cmd_send_with_reply() warn: variable derefer
qtnfmac: fix error handling in control path
This patch fixes the following warnings:
- smatch drivers/net/wireless/quantenna/qtnfmac/commands.c:132 qtnf_cmd_send_with_reply() warn: variable dereferenced before check 'resp' (see line 117) drivers/net/wireless/quantenna/qtnfmac/commands.c:716 qtnf_cmd_get_sta_info() error: uninitialized symbol 'var_resp_len'. drivers/net/wireless/quantenna/qtnfmac/commands.c:1668 qtnf_cmd_get_mac_info() error: uninitialized symbol 'var_data_len'. drivers/net/wireless/quantenna/qtnfmac/commands.c:1697 qtnf_cmd_get_hw_info() error: uninitialized symbol 'info_len'. drivers/net/wireless/quantenna/qtnfmac/commands.c:1753 qtnf_cmd_band_info_get() error: uninitialized symbol 'info_len'. drivers/net/wireless/quantenna/qtnfmac/commands.c:1782 qtnf_cmd_send_get_phy_params() error: uninitialized symbol 'response_size'. drivers/net/wireless/quantenna/qtnfmac/commands.c:2438 qtnf_cmd_get_chan_stats() error: uninitialized symbol 'var_data_len'.
- gcc-8.2.1 drivers/net/wireless/quantenna/qtnfmac/commands.c: In function 'qtnf_cmd_send_with_reply': drivers/net/wireless/quantenna/qtnfmac/commands.c:133:54: error: 'resp' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
Revision tags: v4.18.14, v4.18.13 |
|
#
2525f188 |
| 05-Oct-2018 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: add support for scan dwell time configuration
Firmware supports scan dwell time tuning for various types of scans. Enable support for this feature: - advertise capability to configure chann
qtnfmac: add support for scan dwell time configuration
Firmware supports scan dwell time tuning for various types of scans. Enable support for this feature: - advertise capability to configure channel dwell time to host - pass scan dwell parameters to wireless card in scan request
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
6d85930f |
| 05-Oct-2018 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: add support for scan flush
Notify firmware to flush cache before scanning when needed.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kv
qtnfmac: add support for scan flush
Notify firmware to flush cache before scanning when needed.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
ab1c64a1 |
| 05-Oct-2018 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: inform wireless core about supported extended capabilities
Driver retrieves information about supported extended capabilities from wireless card. However this information is not propagated
qtnfmac: inform wireless core about supported extended capabilities
Driver retrieves information about supported extended capabilities from wireless card. However this information is not propagated further to Linux wireless core. Fix this by setting extended capabilities fields of wiphy structure.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|
#
d5657b70 |
| 05-Oct-2018 |
Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> |
qtnfmac: pass sgi rate info flag to wireless core
SGI should be passed to wireless core as a part of rate structure. Otherwise wireless core performs incorrect rate calculation when SGI is enabled i
qtnfmac: pass sgi rate info flag to wireless core
SGI should be passed to wireless core as a part of rate structure. Otherwise wireless core performs incorrect rate calculation when SGI is enabled in hardware but not reported to host.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
show more ...
|