No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tallapragada Kalyan ccf5b37f7d qcacmn: re-arrange is_raw_frame bit in qdf_nbuf_cb
"qdf_nbuf_cb.u.rx.lro_eligible",
"qdf_nbuf_cb.u.rx.is_raw_frame"
bits occupy same memmory as
"qdf_nbuf_cb.u.tx.flags.bits.flag_efrag",
"qdf_nbuf_cb.u.tx.flags.bits.flag_nbuf" as it is a union
but flag_efrag and flag_nbuf are always set during
qdf_nbuf_alloc, this is resulting in is_raw_frame to be
explicitly set even when the received frame is not RAW

memory location of these fields in qdf_nbuf_cb
D:0xBCDFE0F4.0 lro_eligible = 1
D:0xBCDFE0F4.1 is_raw_frame = 1

D:0xBCDFE0F4.0 flag_efrag = 1
D:0xBCDFE0F4.1 flag_nbuf = 1

in qdf_nbuf_alloc the flag_efrag & flag_nbuf is set.
skb_alloc:
memset(skb->cb, 0x0, sizeof(skb->cb));

/*
 * * The default is for netbuf fragments to be interpreted
 * * as wordstreams rather than bytestreams.
 * */
QDF_NBUF_CB_TX_EXTRA_FRAG_WORDSTR_EFRAG(skb) = 1;
QDF_NBUF_CB_TX_EXTRA_FRAG_WORDSTR_NBUF(skb) = 1;

As discussed over email this is a temporary WAR
until a long term solution is in place.

Below is the email conversation

	This is a temporary change to unblock the present sanity issues
	There seems to be a basic issue with nbuf_alloc, with following logic

	QDF_NBUF_CB_TX_EXTRA_FRAG_WORDSTR_EFRAG(skb) = 1;
	QDF_NBUF_CB_TX_EXTRA_FRAG_WORDSTR_NBUF(skb) = 1;

	nbuf_lloc is assuming that the buffer is allocated for TX always
	and setting fields in the area of TX portion of union.
	If that skb is used for RX can lead to wrong interpretation of the RX
       	union fields, which is causing present issue.

	This got exposed with a recent change that shuffled the fields of
	RX union which made the imp fields got manipulated with this TX setting.

	We need to resolve this basic issue with wider consent and validations,
	while this fix unblocks the basic sanity issues.

Change-Id: I24a6d0faf3a874c54b4859dc027e059c693d6759
2020-01-14 15:03:43 -08:00
cfg qcacmn: use debugfs to show ini configs 2019-12-27 03:26:11 -08:00
dp qcacmn: CFR: Capture cfr info for PPDUs from non-associated clients 2020-01-14 05:34:11 -08:00
ftm qcacmn: ftm: Replace explicit comparison to NULL 2019-03-26 01:24:52 -07:00
global_lmac_if qcacmn: remove CONFIG_WIN from Spectral 2019-05-30 00:30:07 -07:00
hal/wifi3.0 qcacmn: define SHADOW_REGISTER macro for QCN9000 2020-01-12 00:12:33 -08:00
hif qcacmn: Fix return values in if_ahb.c 2020-01-13 23:18:22 -08:00
htc qcacmn: Track tasklet execution and total time (sched+exec) 2020-01-05 10:16:57 -08:00
init_deinit/dispatcher qcacmn: Initial version of coex component 2020-01-09 02:40:23 -08:00
os_if/linux qcacmn: Add dwell time parameters to cfg80211 scan request API 2020-01-10 13:49:54 -08:00
qal
qdf qcacmn: re-arrange is_raw_frame bit in qdf_nbuf_cb 2020-01-14 15:03:43 -08:00
scheduler Merge "qcacmn: Unified scheduler watchdog handler implementation" 2020-01-12 19:35:58 -08:00
spectral qcacmn: Add Agile channel width to SAMP message 2019-12-12 18:14:27 +05:30
target_if Merge "qcacmn: Fix WMI event registration context" 2020-01-12 23:38:38 -08:00
umac qcacmn: Fix beacon processing error 2020-01-13 15:19:01 -08:00
utils qcacmn: Add diag log structure for data pkt info 2020-01-13 15:18:53 -08:00
wbuff
wlan_cfg qcacmn: Create new interrupt mask for msi 2020-01-13 15:18:31 -08:00
wmi qcacmn: Support phyid conversion map for wmi_handle 2020-01-13 23:18:39 -08:00
README.txt
VERSION.txt

 This is CNSS WLAN Host Driver for products starting from iHelium