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
Yeshwanth Sriram Guntuka 261d19bcb4 qcacmn: Set local rx_desc list head to NULL
The issue sceanrio is as follows:

1) Packets are received in the rx exception ring and the
rx_descs processed are put into the pdev rx_desc freelist.

2) In the buffers replenish path, the above pdev rx_desc
freelist, on nbuf allocation or map error, is moved to the
soc rx_desc_pool freelist. The tail of the pdev rx_desc
freelist is set to NULL but not the head.

3) On receiving packets in the rx exception ring post above,
the new rx_desc are added to the pdev rx_desc freelist but
since the head of the list was not NULL prior to this, the
tail of the new list will have its next pointing to the
previous stale rx_desc list which is already moved to the soc
rx_desc_pool list.

4) In the replenish path, the buffers would be replenished
till tail of the new list but the desc_list would point
to the same aforementioned stale rx_desc list instead of NULL.
So even though replenish is successful, the desc_list check to
add the list back to soc rx_desc_pool freelist would be true.
This would cause next pointer of the tail and in effect the nbuf
pointer of the rx_desc pointed by tail to get updated.

5) On receiving the rx_desc mentioned in the previous step, nbuf
sanity check fails since nbuf address is pointing to another
rx_desc.

Fix is to set the local_desc_list also to NULL in
dp_rx_add_desc_list_to_free_list.

Change-Id: I984a4c122592547492b9d9625a71c0a90142b442
CRs-Fixed: 2704771
2020-06-16 04:14:08 -07:00
cfg qcacmn: Add support to disable CFR through INI 2020-05-03 18:18:54 -07:00
dp qcacmn: Set local rx_desc list head to NULL 2020-06-16 04:14:08 -07:00
ftm qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h 2020-05-15 10:41:50 -07:00
global_lmac_if qcacmn: lmac header exclusion from wlan_objmgr_psoc_obj.h 2020-05-15 10:41:41 -07:00
hal/wifi3.0 qcacmn: Update REO Remap config API as platform specific 2020-06-12 19:29:39 -07:00
hif qcacmn: Set IRQ_DISABLE_UNLAZY flag for DP interrupts on QCN9000 2020-06-12 09:04:24 -07:00
htc qcacmn: Add NULL pointer check for KW issues 2020-05-29 03:13:53 -07:00
init_deinit/dispatcher qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h 2020-05-15 10:41:50 -07:00
iot_sim qcacmn: Fix compilation issue in iot sim module 2020-05-19 08:41:07 -07:00
os_if/linux qcacmn: QCA vendor command for getting STA information 2020-06-11 13:08:10 -07:00
qal qcacmn: Enhancement of OS abstraction API's 2019-03-20 22:10:24 -07:00
qdf qcacmn: Log memory stats in host driver 2020-06-11 02:04:46 -07:00
scheduler qcacmn: Add API to print scheduler history 2020-02-11 21:53:15 -08:00
spectral qcacmn: remove dependency of public files from wlan_objmgr_psoc_obj.h 2020-05-15 10:41:46 -07:00
target_if qcacmn: Check agile frequency forms a valid 80+80 channel 2020-06-09 06:29:08 -07:00
umac qcacmn: Add vdev id when printing serialization pdev queue 2020-06-16 01:52:59 -07:00
utils qcacmn: Add a new wakelock for idle shutdown 2020-06-10 18:13:49 -07:00
wbuff qcacmn: Use function name instead of file name in debug logs 2019-01-17 22:20:46 -08:00
wlan_cfg qcacmn: store peer_id instead of peer_ids array in dp_peer 2020-05-29 13:13:37 -07:00
wmi qcacmn: Fix buffer overflow while memcpy of pmk_ext 2020-06-15 15:59:02 +05:30
README.txt
VERSION.txt

 This is CNSS WLAN Host Driver for products starting from iHelium