summaryrefslogtreecommitdiff
path: root/qdf/linux/src (unfollow)
Commit message (Collapse)Author
2020-07-06qcacmn: fix format specifier in qdf_dpt_dump_stats_debugfsVevek Venkatesan
Fix proper format specifier for qdf_debugfs_printf in qdf_dpt_dump_stats_debugfs. Change-Id: I3d357cb677c6419e13c3c2333b43d4cae2f2df41 CRs-Fixed: 2717408
2019-11-21qcacmn: Fix zero size malloc when memory debug is disabledPragaspathi Thilagaraj
In SLUB disabled builds, the qdf_mem_malloc calls the qdf_mem_malloc_fl function which doesn't validate if the size provided is 0 and returns the value ZERO_SIZE_PTR(((void *)16)) for the pointer. When this pointer is dereferenced, it causes invalid address dereference. Validate if the size parameter provided to qdf_mem_malloc is 0 or greater than QDF_MEM_MAX_MALLOC. Return failure if the validation fails. Change-Id: I8fc6bc796847e9dd3dfd5186b0386d323560d0cf CRs-Fixed: 2571505
2019-10-29qcacmn: Add support to include tx retry count for mon interfaceVulupala Shashank Reddy
Extend radiotap header to append tx retry count for packets sent to virtual mon interface. Change-Id: I27664e624babe1ef61dc437088fdd96b370b49f9 CRs-Fixed: 2546290
2019-10-09qcacmn: Add support to include ACK status for mon interfaceVulupala Shashank Reddy
Extend radiotap header to append ACK status for packets sent to virtual mon interface. Change-Id: I2f57f7dbf1efdb44185fc9a1383c2d0c3a795f99 CRs-Fixed: 2538423
2018-10-26qcacmn: Add bi-direction dma map flag to qdf_nbuf_cbWill Huang
In case of 11w PMF tx frame, some target would dma write to this tx buffer, it may cause smmu check fault. Add a bi-direction map flag to mcl skb.cb[] for this special case. Change-Id: I72a2c11abb9f3e7e8fb9c6f5290cd4f8d209b19a CRs-Fixed: 2337204
2018-10-23qcacmn: Add QDF cpu hotplug APIsDustin Brown
Currently, there are two consumers of the Linux kernel CPU hotplug APIs. Besides being problematic for not being operating system agnostic, different versions of the Linux kernel export different CPU hotplug APIs. In order to consolidate the various abstractions for different operating systems and API versions, create a CPU hotplug abstraction in QDF. Change-Id: Ib17c6e3ed3a87a90a82d909a6c493360cab27855 CRs-Fixed: 2132632
2018-10-15qcacmn: Fix compilation errorMin Liu
Fix compilarion error for WHUNT Change-Id: I984a2cd7bebb6594372f001d39b3f0e57038d293 CRs-Fixed: 2332205
2018-10-09qcacmn: Validate the network buffer before processingAmar Singhal
Check for potential buffer overflow and NULL ptr access issues. Change-Id: Iecb36530716dafa27a95a82392e97f662a7c25f0 CRs-Fixed: 2251345
2018-10-09qcacmn: Fix NULL pointer dereference in qdf_nbuf_freeManikandan Mohan
Move network buffer null check to beginning of function to cover possible case of null pointer dereference during free. Change-Id: I8c998d4d1711ab28c94a946d04314c26a4c74278 CRs-fixed: 2309452
2018-10-01qcacmn: Fix architecture dependencyMahesh Kumar Kalikot Veetil
API arch_counter_get_cntvct()/arch_counter_get_cntpct() are specific to MSM/ARM platform. Use proper compilation flags for QDF to compile against other platforms. Change-Id: I7fcc5d84cd205151d839d19dfdc3432cb289807d CRs-Fixed: 2216035
2018-08-08qcacmn: Add WLAN Module name as log prefixManikandan Mohan
Add WLAN module name as logging prefix in multiple wlan driver compilation environment for differentiating the logs pertaining to each driver module. Change-Id: Ib3aeaa280e3beb0de8ceb105e0989cb6004964d6 CRs-fixed: 2197751
2018-07-03qcacmn: Verify id before removing idrWu Gao
It causes kernel warning if remove an invalid id. So, verify id before removing idr. Change-Id: I22cd5753a6e4fae0087faaee1c722017523b311e CRs-Fixed: 2271235
2018-06-27qcacmn: Not to be hard to make high order pageSrinivas Girigowda
kcompactd consumes many CPU cycles without being successful to make high-order page. One of the reason is WIFI driver is allocating order-3 page a lot. It shows 46% high-order allocation comes from WIFI driver. Of course, it should be fixed in MM layer but it is never easy stuff to fix in near future. Regardless of MM changes, drivers should do best effort to reduce high-order allocation, too. This patch fixes the problem via not waking kcompactd. Change-Id: I2bc3bf3ec96d32dd1a93c24edf2f590f331c0ed5 CRs-Fixed: 2265578
2018-06-27qcacmn: Invalid dependancy of header filesAshish Kumar Dhanotiya
There is an invalid circular dependancy of header files in the driver. qdf_nbuf.h file includes itself as qdf_nbuf.h file includes i_qdf_nbuf.h and i_qdf_nbuf.h again includes qdf_nbuf.h. To resolve this issue, do not include qdf_nbuf.h in i_qdf_nbuf.h Change-Id: I940321b23e95a81601657d149ff31826db2522ba CRs-Fixed: 2267066
2018-06-19qcacmn: Remove unused APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_infoRakshith Suresh Patkar
Currently, the APIs qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info are no longer used in our driver code. Cleanup the unused code for qdf_nbuf_set_rx_info and qdf_nbuf_get_rx_info. Change-Id: I57acbd4e5901d8922e3b650f0f3b57f056a0ae3e CRs-Fixed: 2259212
2018-05-24qcacmn: Add QDF API for ID allocationWu Gao
In P2P ROC and MGMT tx cases, it use kernel address as cookie and provides to userspace. Which has security risk. Add QDF API for ID allocation and map ID to pointer, provides ID to userspace instead of kernel address. Change-Id: I4e10109988391474722df5b251fab11a87c7992b CRs-Fixed: 2237756
2018-05-17qcacmn: Add debug change to record timestampRakshith Suresh Patkar
This change adds timestamp information for every memory allocated and mapped for debugging purposes. Change-Id: Iba8e720790b863ae11c528a02f5c32ea606560dd CRs-Fixed: 2236213
2018-05-16qcacmn: Possible information leak due to uninitialized dataDundi Raviteja
In qdf_trace_hex_dump() API, linebuf array is not initialized where it is used to print in the form of string in qdf_trace_msg() API, this may cause information leak. To address this issue, initialize the linebuf array to zero. Change-Id: If2fe200eb16b28f7fff4413873c1d149716fb1a7 CRs-Fixed: 2232012
2018-05-16qcacmn: Fix debugfs issue for DPTRACEjitiphil
TX packet records in DPTRACE logs for debugfs do not contain msdu id, while QXDM logs do contain them. Add msdu id of packets in the DPTRACE records for debugfs. Change-Id: Id3f6c21d95221cd5444327189b803ac857d56525 CRs-Fixed: 2242178
2018-05-14qcacmn: Avoid NULL pointer access in qdf_seq_write apiAshish Kumar Dhanotiya
There is no NULL check in qdf_seq_write api after mem alloc. Buffer is dereferenced without this NULL check. Add a NULL check after mem alloc and then only dereferece the buffer. Change-Id: I6c478c60f481f299cb50cae6a519a1458e82859b CRs-Fixed: 2240367
2018-05-05qcacmn: Match callback pointer type to callback function signatureSrinivas Girigowda
Control Flow Integrity (CFI) implementation in the kernel. CFI is an LLVM feature that protects function pointers against control flow hijacking. Basically, when calling a function through a pointer, the type of the pointer must match the signature of the target function. Hence, fix all the occurences of the function pointer type which doesn't match the signature of the target function. Change-Id: I910a7e1995dddf8fdcd7551f7a5e442e1d0120ab CRs-Fixed: 2196475
2018-05-04qcacmn: qdf: Remove legacy markingsJeff Johnson
Per current guidance remove legacy markings. Change-id: Ia920daa3248677b9446f4203c7698cbc37648fbd CRs-Fixed: 2230684
2018-04-25qcacmn: Validate nbuf in dp trace functionjitiphil
This reverts commit Idb59f83edc09f9be8bf0bd231b8eb6ff28f37fd4. nbuf was set to NULL and then deferenced. To address the issue validate nbuf before processing in dp trace function. Change-Id: I464c0dea36c0288c4bb01d6fba5255169d7ec255 CRs-Fixed: 2220892
2018-04-13qcacmn: Check for TSO packet in release_skbManjunathappa Prakash
For TSO packets we get Tx completion for each segment, whereas nbuf tracking code has only one entry. So remove nbuf tracking record entry when nbuf->users is 1. Change-Id: I7f66eb91d802c909ee0c9a0243be6415c82c211e CRs-Fixed: 2179883
2018-03-27qcacmn: Validate nbuf in dp trace functionKabilan Kannan
Validate nbuf before processing in dp trace function Change-Id: Idb59f83edc09f9be8bf0bd231b8eb6ff28f37fd4 CRs-Fixed: 2213737
2018-03-23qcacmn: Add magic string for memory leak debugKabilan Kannan
Add magic string in the driver to automate the memory debug analysis. Change-Id: I79b6ef49fa5c1c5fb74c72b228c3dae05b483a77 CRs-Fixed: 2212167
2018-03-21qcacmn: Add support for GMAC MIC calculationPadma, Santhosh Kumar
Add changes to calculate MIC using aead calls in linux Change-Id: I710b1c748c36babc8e66aaf920a07f9657f6e273 CRs-Fixed: 2164910
2018-03-20qcacmn: Change format specifier %p to %pKMahesh Kumar Kalikot Veetil
The printk format '%pK' will not leak kernel pointers to unprivileged users. So change the format specifier from %p to %pK. Change-Id: Ia229433dbbadc69cc1442c9e683659b8194e30b5 CRs-Fixed: 2133315
2018-03-14qcacmn: Set DPT record logging macro to max valuePoddar, Siddarth
One DP trace record can't be greater than 300 bytes. Max Size is QDF_DP_TRACE_PREPEND_STR_SIZE(100) + BUFFER_SIZE(121). Always make sure to change this QDF_DP_TRACE_MAX_RECORD_SIZE based on the above two macro values. If in case dp record size is more than the remaining size of debugfs file, debugfs file system behaves weird and generate a file of random size. (sometimes 2-3GB) This change make sure that remaining debugfs file size is always greater than the actual DP record size. CRs-Fixed: 2203532 Change-Id: I9119d95cb2e715632bcc96c17fe2938de8816e11
2018-03-09qcacmn: Ignore qdf debug fs create failure during init/deinitRajeev Kumar
Debug fs create failure should not fail wifi turn on. Add logic to allow wifi turn on even if kernel debug fs create API returns failure. Change-Id: I686362340d9ef0268ca7587ad30c726c33f1c427 CRs-Fixed: 2203330
2018-03-07qcacmn: Remove timer from sys msg queue when timer is stoppedVignesh Viswanathan
In a scenario where timer has expired and the timer msg is posted to the mc thread sys_msgq and from a different context the timer has been stopped and freed, access of freed memory would occur when mc thread resumes and processes the timer msg from sys_msgq. Flush the timer msg pending in the sys_msgq when the timer is stopped based on the unique timer_cookie in the timer msg. Change-Id: I11d73bdfb907acb649ec6722ca5060d7225e47dd CRs-Fixed: 2202183
2018-03-06qcacmn: Restrict record logging in debugfs filePoddar, Siddarth
Do not log the DP trace record in given file if record size is greater the remaining file size. CRs-Fixed: 2198359 Change-Id: Ib6b0ddcc796be54231cd3e64ee328e9726d51a27
2018-02-07qcacmn: DPTRACE Enhancements - Phase 2Mohit Khanna
Change data packets printing to one line Add msdu-id to TX packets Increase data packets size to include the complete IP packets Indication/print when the throttling occurs Change-Id: I07fc664ea08bc8746e31260599c5892701ae52e7 CRs-Fixed: 2157769
2018-02-01qcacmn: ADD APIs to set/dump dp trace bufferPoddar, Siddarth
Add APIs to dump dp trace buffer and set proto bitmap, number of record and verbosity of dp trace. Change-Id: I23cda36515e1f3299d6c1c28dee2489a89bb15d9 CRs-Fixed: 2180984
2018-01-29qcacmn: Add debugfs API definitionMahesh Kumar Kalikot Veetil
Implement debugfs APIs abstraction for Linux. If a particular operating system is not supporting debugfs or similar feature, these API's will be a no-op. Change-Id: I51316012876fec258e546fce8fc2f877e4311343 CRs-Fixed: 2097140
2018-01-29qcacmn: Add QDF file permissionsMahesh Kumar Kalikot Veetil
Add file permissions and a function to map that to Linux OS. Also define a type for __qdf_dentry_t and __qdf_debugfs_file_t. Change-Id: I91b293b262d955324e65157909ca9d3b831e2cf6 CRs-Fixed: 2097140
2018-01-24qcacmn: Add APIs to get IPA SMMU statusHimanshu Agarwal
Add APIs to get IPA SMMU status Change-Id: I5889f35739b220bd4ad38f4278c133cd97141b22 CRs-Fixed: 2176318
2018-01-22qcacmn: Fix a race btw tx and tx-complOrhan K AKYILDIZ
While handling a multi-segment TSO packet, there is a race condition where, if tx complete arrives fast enough, the un-sent TSO segments may be lost forever and a previously sent segment would be attempted to be sent over. Fix the race condition. Dont use the entry after send to go to next entry. Change-Id: I023587a48bea6f3b58aac62e398cc15939bbb773 CRs-Fixed: 2174715
2018-01-12qcacmn: Untrack nbuf map on map failureDustin Brown
Currently, nbuf map tracking happens before the nbuf is actually mapped. In cases where the actual map operation fails, remove the nbuf map tracking information to avoid false positive mapped-never-unmapped panics. Change-Id: I8e649841a661d460bf89dd5edf09bb5e460ea98c CRs-Fixed: 2171837
2018-01-12qcacmn: Hold lock for entire nbuf debug iterationDustin Brown
Hold a spinlock for the entire iteration of the nbuf map/unmap hashtable. This prevents invalid list/memory access issues in case of a race with an unmap operation. This also trades list/memory safety for the chance to watchdog bite while printing. Since we are about to panic anyway, the worst case is manually loading the memory dump to inspect the contents of the map/unmap hashtable. Change-Id: Iafc38764d55fc46910051349e4f4b26da33cae51 CRs-Fixed: 2171736
2018-01-12qcacmn: Add nbuf map/unmap history trackingDustin Brown
An nbuf free history circular buffer already exists for tracking recent nbuf frees in the system. This is very useful for debugging tricky nbuf related failures in the driver. In addition to tracking frees, track alloc, map, and unmap nbuf events as well. Change-Id: I253d454d689deb8328b3636e92063e9d33ea1a52 CRs-Fixed: 2170365
2018-01-11qcacmn: Add APIs to get data packets infoPoddar, Siddarth
Add APIs to get TCP syn/syn-ack/ack packets, TCP src/dst port, DNS domain name/query/response, ICMPv4 req/res, and ICMPv4 src/tgt ip information. Change-Id: I1e4e92997a33e64fe2e4ae28a05b54b6ba5e8cff CRs-Fixed: 2168412
2018-01-08qcacmn: Return error on nbuf map alloc failureDustin Brown
When nbuf map/unmap tracking is enabled, a small metadata structure is allocated to keep the tracking information. In cases where this allocation fails during the map operation, return an error status instead of mapping the nbuf. This prevents a false positive unmap-never-mapped panic when the nbuf is unmapped. Change-Id: Id01c1f61165a0beff4edd6cc6a0a2fc5f64d9b04 CRs-Fixed: 2167082
2017-12-16qcacmn: Export qdf_get_current_task using qdf_export_symbolGovind Singh
qdf_get_current_task symbol is exported using EXPORT_SYMBOL instead of using qdf_export_symbol. Use qdf_export_symbol across all QDF API's for consistency. Change-Id: Ib1fa6d9d105da9581c35fb75b315cad343a9e909 CRs-Fixed: 2159764
2017-12-12qcacmn: Add nbuf map/unmap trackingDustin Brown
When MEMORY_DEBUG is enabled, track calls to nbuf map/unmap to detect the following usage problems: * double map * double unmap * unmap without map * never unmap Change-Id: I7326bb628d4cf0be9004398fd396907b1a06bf22 CRs-Fixed: 2155599
2017-12-08qcacmn: Add debug support for DMA memory allocationsKabilan Kannan
Add debug support to detect memory leaks and corruption in DMA memory operations. Change-Id: I1478973828ddc147367c4a579c97c3840c106f44 CRs-Fixed: 2155603
2017-11-30qcacmn: Debug print rate limitingwadesong
Implement driver debug print rate limiting in HIF SDIO RX path and QDF nbuf allocation path to avoid driver inactivity watch dog time out when the platform is facing great memory pressure. Change-Id: Ifa4fe3e7027150fd1469df58049776fca8aa6f2f CRs-Fixed: 2148314
2017-11-22Revert "qcacmn: Add memory debug support for DMA allocations"Himanshu Agarwal
This reverts Change-id: I25c60a1c5d264e7ea08ed2286fd4b3c3134e9f81 When SMMU is enabled, crash is happening as soon as first client is connected to softap interface with this change. Change-Id: I4aa6ff39899117aeb050957eb888642822ae830d CRs-Fixed: 2147823
2017-11-21qcacmn: Dump WMI work queue stack for watchdog biteGovind Singh
In the event of an WMI work queue watchdog bite, dump the stack trace to aid in debugging. Change-Id: I7f3df5a56904748fb80afb1aef1aed90d20fbbc0 CRs-Fixed: 2145913
2017-11-06qcacmn: Add memory debug support for DMA allocationsDustin Brown
In an effort to catch and prevent more memory leak and corruption issues, extend the existing memory debugging support to include DMA coherent memory allocations. Change-Id: I25c60a1c5d264e7ea08ed2286fd4b3c3134e9f81 CRs-Fixed: 2138125