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
Himanshu Agarwal 865201d99d qcacld-3.0: Do netif_tx_stop_all_queues() instead of netif_tx_disable()
Race condition is happening when tx traffic is running and simulataneously
suspend is going on. hdd_hard_start_xmit() is called under txq->__xmit_lock
and in case of low descriptor scenario, it goes to pause the netif queues
and trying to take adapter->pause_map_lock for doing so which is already
acquired by another thread. In another thread, suspend indication is being
preocessed and as a result is trying to pause netif queues with
netif_action WLAN_NETIF_TX_DISABLE which takes adapter->pause_map_lock and
then calls netif_tx_disable() which is trying to take txq->__xmit_lock
already taken by the thread executing hdd_hard_start_xmit(). This leads to
a deadlock situation.

Replace netif_tx_disable() with netif_tx_stop_all_queues() as
netif_tx_stop_all_queues() is doing the same thing as netif_tx_disable()
only without taking the txq->__xmit_lock which prevents this deadlock.

Change-Id: I5afafe6435707bd8f0e87972a740f908d06ce847
CRs-Fixed: 2030933
2017-04-13 17:53:09 -07:00
core qcacld-3.0: Do netif_tx_stop_all_queues() instead of netif_tx_disable() 2017-04-13 17:53:09 -07:00
uapi/linux qcacld-3.0: Add support for multiple instances of the host driver 2016-12-14 14:08:37 -08:00
Android.mk qcacld-3.0: Use absolute path for header files 2017-04-09 13:57:23 -07:00
Kbuild qcacld-3.0: UMAC: Replace sir_dump_buf() with QDF_TRACE_HEX_DUMP() 2017-04-13 12:29:26 -07:00
Kconfig qcacld-3.0: [11AX] Add feature flag for 11AX 2017-03-18 15:59:57 -07:00
Makefile qcacld-3.0: accept module name externally 2016-06-01 10:48:46 -07:00
README.txt Initial readme for WLAN Host Driver for iHelium 2015-04-06 11:45:23 -07:00

This is CNSS WLAN Host Driver for products starting from iHelium