qcacld-3.0: Include/Exclude err code dynamically in bcn rpt rsp

Parse QCA attribute BEACON_REPORT_FAIL to control inclusion/exculsion
of beacon err vsie dynamically. Vendor sub command
QCA_NL80211_VENDOR_SUBCMD_SET_WIFI_CONFIGURATION can control beacon
err vsie inclusion using QCA atrribute BEACON_REPORT_FAIL. Different
operations required to implement this feature can be specified in
QCA_WLAN_VENDOR_ATTR_BEACON_REPORT_FAIL, so driver parses
BEACON_REPORT_FAIL and updates bcn_rpt_err_vsie.

If Userspace wants the driver to include err code in beacon report
response, it can send QCA_WLAN_VENDOR_ATTR_BEACON_REPORT_FAIL with
value 1 and driver will update bcn_rpt_err_vsie to 1.If userspace
requests the driver to send beacon report err code, the driver checks
bcn_rpt_err_vsie and value of err code. driver includes beacon
report err code if bcn_rpt_err_vsie is enabled and err code is not
success. Driver appends beacon report err code vsie and sends to AP,
so that AP can know the reason why sta didn't send beacon report.

If this command is not issued, the default behavior of the driver is
not to include err reason code in beacon repot response. The userspace
requests the driver to stop reporting beacon report err when err code
is not required for AP anymore. If userspace doesn't want the beacon
report err inclusion, userspace can send
QCA_WLAN_VENDOR_ATTR_BEACON_REPORT_FAIL with value 0 and driver will
update bcn_rpt_err_vsie to exclude err code.

If userspace requests the driver to get the value of bcn_rpt_err_vsie,
to check whether driver includes beacon rpt err vsie or not, driver
will fill BEACON_REPORT_FAIL attribute and will update to userspace.

Change-Id: I2483c4993768031aad97a3474c36e9ea2a4dd849
CRs-Fixed: 2622004
4 files changed