Avoid page table corruptions during memory hotremove by
stopping all other cpus.
Change-Id: If4084768044dd95601bdc5993d14bc6b0a5921c3
Signed-off-by: Venkata Rao Kakani <vkakani@codeaurora.org>
During multiple adb reboots test case, adbd is taking time to start
and write the descriptors from the userspace. If adb is their in the
composition and its not ready when bind happens, UDC bind for ffs will
fail and adding the function back to the func_list in failure path and
calling purge_configs_funcs.
In purge_func adb driver unbind the functions from config->functions list
and add back to the tail of the func_list. With this order of the functions
in func_list got changed and next time when bind happens from adbd start
usb does not working.
Fix this issue by changing the order of the functions while adding the
functions back to the list in purge_configs_funcs.
Change-Id: I50c2362062130836d66edfcf8e1f020134248cb4
Signed-off-by: Chandana Kishori Chiluveru <cchiluve@codeaurora.org>
There's no reason to unhalt if switching to CQ mode fails.
Since card is not in CQ mode, let the controller be halted.
The caller will handle this error.
CRs-fixed: 2241401
Change-Id: I307753ad66d291168a55f760565cc141d7c83c31
Signed-off-by: Asutosh Das <asutoshd@codeaurora.org>
If soundcard registration has failed because of custom
driver probe failure and at the same time
msm_dig_suspend is called, this will lead to
null pointer dereference when component is accessed.
Add NULL check to avoid this.
CRs-Fixed: 2263093
Change-Id: I2d321814a316d9b3af1ff0f8963f2999520e60d2
Signed-off-by: Vatsal Bucha <vbucha@codeaurora.org>
The patch enables to track the control channel buffer
status, reception of feature mask and error case of
not queueing a read on socket by use of debug logs.
Change-Id: Ibd9bd9a09f6519e31874f8794df3df875e931d25
Signed-off-by: Manoj Prabhu B <bmanoj@codeaurora.org>
Add support for routing QMI messages to and from connected device
over BULK In and Out endpoints.
Change-Id: I9d6d06252ff7e98a1e41206b8699990f4312fb01
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add support for creation of diag and IPC traffic channel in case
the connected device has 0x05C6 VID and 0x9900 or 0x9901 PID.
0x9900 : WLAN + QMI + DIAG
0x9901 : BT ACL + BT SCO + WLAN + QMI + DIAG
Change-Id: Iaa803d729516016a3b5043aa1cec78d12a408451
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
Add diag_bridge driver which is used to communicate with the diag
and QMI interfaces exposed by Qualcomm devices. This snapshot is
taken as of msm-3.10 'commit d722f698a54e ("regulator: core: Fix
buffer overflow issue")'.
Also rename the diag_bridge driver to diag_ipc_bridge.c.
Change-Id: Ide503c5bf729a7e41de98b12c89e4edc12af61fe
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
when we kill ais_server sensor state is in cci down, hence added
cci power down check in sensor power up.
Added CLKFLAG_NO_RATE_CACHE to support hibernation
Change-Id: Ic546ab4a320d0aa4a3ee80bc8256687ee89e9f63
Signed-off-by: Suprith Malligere Shankaregowda <supgow@codeaurora.org>
mutex lock should be unlocked before returning if the offset is not right.
Change-Id: I11945696d2c4078c28266312915837a812fedcc8
Signed-off-by: Yunyun Cao <yunyunc@codeaurora.org>
Fix offset address to use set parameter structure while
copying data from user instead of get parameter structure
for AFE_PORT_CMD_SET_PARAM_V3 case.
CRs-Fixed: 2256728
Change-Id: I61e41f366f365734a47080b79179fbe3021ee8a7
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
During unmap of rtac block in ASM, mem_map_handle
address is set to zero instead of the value. Set the
map handle value to zero to avoid issue in freeing the
ion memory.
CRs-Fixed: 2254339
Change-Id: I6584be029d4c8dde235e722149c758df0db9916e
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Return error only if apr_send_pkt() function
return code is less than 0.
CRs-Fixed: 2262017
Change-Id: I98903c6c275f360d32c3af523352071d92d1ef85
Signed-off-by: Aditya Bavanari <abavanar@codeaurora.org>
Add support for creation of misc device in case the connected
device has 0x05C6 VID and 0x9900 or 0x9901 PID.
0x9900 : WLAN + QMI + DIAG
0x9901 : BT ACL + BT SCO + WLAN + QMI + DIAG
Change-Id: I9f2df97db34c358d341edbf106502eae598b9aed
Signed-off-by: Ajay Agarwal <ajaya@codeaurora.org>
This fixes the hab compilation issues found when
CONFIG_GHS_VMM is enabled.
Change-Id: Ie4b6aca5f0a7f549273d939dd6069e55db7877c4
Signed-off-by: Yong Ding <yongding@codeaurora.org>
The standard -EINTR will be returned if the hab open
blocking call is woken up by a signal.
Change-Id: I0329c3b3a70241a31a64eab6872808e0f7d21013
Signed-off-by: Yong Ding <yongding@codeaurora.org>
For arm-memlat and bimc-hwmon platform driver does not
support the manual bind / unbind feature through sysfs,
when the governor is registered and started.
Suppress the bind / unbind calls using driver attribute.
Change-Id: I8287012e1e6931d80953382f3d625223315cec85
Signed-off-by: Santosh Mardi <gsantosh@codeaurora.org>
When AFE returns failure in setting the digital codec
core clock during SSR, it leads to LPASS register access
which results in NOC error and AHB timeout. Put the regmap
in cache only mode when clock enable fails to fix this.
Also fix watchdog bite failure during stability run
by returning from digclock control if cacheonly mode
is set. This is seen while SSR is in progress and teardown
of session happens, it will request for afe clock enable
continuously at digital clock control.
Change-Id: I952b667a5cffcb667154378102609b23ab0cee3d
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
To avoid access of variable after being freed, using
list_first_entry_safe function to iterate over list
of given type, safe against removal of list entry.
Change-Id: I70611fddf3e9b80b1affa3e5235be24eac0d0a58
Signed-off-by: Monika Singh <monising@codeaurora.org>
For multi COPP feature it could only allow POPPs with same app_type
to connect single COPP. But it's possible to connect different POPPs
with different app_type to single COPP, to achieve this, it should
skip the app_type check when create copp_idx.
Change-Id: Ic8d7c63d317baba09768d08bc723a6b097322f63
Signed-off-by: Cong Tang <congt@codeaurora.org>
Set hardware frame drop config in the start_stream().
New command for user to set frame drop during streaming.
Change-Id: I523c96366ebbe6d664262e66d3bf7ee2d1b28ee3
Signed-off-by: Andy Sun <bins@codeaurora.org>
In the split display use case that has two DSPPs, we enabled the caller
to have different global PA value for each DSPP.
Change-Id: Ie19a48229a07e39fe20a5626aa18c065ad9946d6
Signed-off-by: Camus Wong <camusw@codeaurora.org>
apr ignores initial PDR_DOWN event from ADSP/Modem during
boot up. ADSP_DOWN event is wrongly sent to audio drivers
during boot up if it gets MODEM_UP event before ADSP_DOWN.
Added separate flags for both ADSP and Modem events to avoid
this issue.
CRs-Fixed: 2232315
Change-Id: I2c6084ac03e3867009f36be36631f881124f59ba
Signed-off-by: Soumya Managoli <smanag@codeaurora.org>
A merge conflict resolution of commit e57f781805f0 ("ANDROID: sound:
rawmidi: Hold lock around realloc") placed a realloc_mutex lock
inside of a runtime->lock irq spinlock. The mutex lock has to
encompass the spinlock to avoid attempts to sleep in an invalid
context.
Change-Id: I29723c5623db3b7145644f941ccc5226e3764f08
Signed-off-by: Srinivasa Rao Kuppala <srkupp@codeaurora.org>
ion_system_heap_destroy_pools frees the pool, but
does not invalidate the pointer. This can result in
a double free if ion_system_heap_create_pools fails,
and then causes ion_system_heap_create to call into
ion_system_heap_destroy_pools again from the error
path. This can happen in ion_system_heap_create when
one of the secure pool creation fails.
Change-Id: Ic73ca78722aa5a575cc4dd7c1caa560b518094f2
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>