When adb root is performed, userspace will close and open ffs_epsfile.
Closing this file will call ffs_functionfs_callback() which does call
remove_config(). This will call ffs_function_eps_disable to disable
endpoints and then calls ffs_func_unbind(). Unbind() will also call
endpoint disable which might lead to disabling endpoint which is already
disabled. Hence set ffs->func to NULL after disabling endpoints in
set_alt().
CRs-Fixed: 557532
Change-Id: I3052bdee74a1793d4e003de4b991d353e5d699b0
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Signed-off-by: Mayank Rana <mrana@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Normally in epfile_io() and epfile_ioctl(), if the endpoint is
not enabled the system call will block waiting until the endpoint
is enabled. During a USB disconnect, the function's endpoints get
disabled, so that if an IO call occurs right after that, it would
perform the same blocking wait. From the kernel perspective this
is indistinguishable from an IO call happening after the function
is first initialized but not yet enabled. Hence a userspace
process would be blocked and unaware of the cable disconnection.
For userspace daemons such as ADB, this can be a problem since its
read/write threads cannot be reaped until the I/O call returns,
which won't happen until the cable is reconnected. In that case,
the previous pending read/write would proceed to get successfully
queued. In the case of a read, the previous read consumes data
meant for the new session, and in the case of a write, stale data
could be sent to the host.
To fix this, add a counter to keep track of the epfile's open status.
Upon the endpoint getting disabled mark the endpoint as invalid so as
to fail subsequent IOs until the epfile is fully closed. Returning
-ENODEV upon failure should allow the userspace process to close the
file, so that it can reopen and begin a new session.
Change-Id: I655ffdaa03485753431ff05dc521bf8d1b463ff1
Signed-off-by: Jack Pham <jackp@codeaurora.org>
Add lanes number and infterface number config for lt9611uxc,
and add the code to control lt9611 power enable/disable using gpio.
Change-Id: I18e12791ac671ba1d14f0815a94068fd5ae1abf2
Signed-off-by: Wenjun Zhang <wjzhan@codeaurora.org>
Enable SPS driver for Lahaina GKI version.
SPS (Smart Peripheral System) enables the support of
all BAMs in the system which provide DMA
functionality to various peripherals.
Change-Id: I5eb575d594bbd2c4858f224fcd40f1c2a04643f7
Signed-off-by: Ajay Prathi <aprathi@codeaurora.org>
Adding support for Full cone NAT and Address Restricted Cone
NAT by using the NATTYPE module.
Change-Id: Ib17f87757b86fdb88bbe25bab7d7193b0530f812
Git-commit: 4d71eea17c1eb4362f9d1ae13fce53815b6c9574
Git-repo: source.codeaurora.org/quic/le/kernel/msm/commit/?h=msm-3.4
Signed-off-by: Paras Singh Jain <parassin@codeaurora.org>
When no touch panel, return proper value to exit driver probe.
Change-Id: I422f14ba6c942252346c46df5ccbc2f1f8be7731
Signed-off-by: Huadong Gao <huadgao@codeaurora.org>
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Add callback function from drm panel, so touch driver can be
notified when panel is on or off.
Change-Id: Icd80ef60db3574b3eed3f9d2b8430923580baf69
Signed-off-by: Fei Mao <feim1@codeaurora.org>
This irq is only for touchscreen, not shared with others.
When meets errors, just ignore it, and don't throw again.
Change-Id: I926f645bd1e763792386aa74cedcf649d88b18a9
Signed-off-by: Fei Mao <feim1@codeaurora.org>
Initialize a local variable before referening it.
Change-Id: I469eb892b418fb1906ebf4c093ac28d249412cdd
Signed-off-by: George Shen <sqiao@codeaurora.org>
In order to catch the issue immediately, assert when power on retry
for PCIe resume reaches maximum.
Change-Id: Ie370e031e68721b531aae909f56bc45b9d9b59d8
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Print after successfully assert/de-assert WLAN_EN GPIO for
debug purpose.
Change-Id: I3094252cf2f14d7a5e438ea8a8983b9b30fc75ed
Signed-off-by: Yue Ma <yuem@codeaurora.org>
PCIe internal AUX clock frequency used to be either 1MHz or
19.2MHz. The devicetree entry was a boolean type to determine
which frequency to program in PCIe controller. Newer chipsets
may support other frequencies such as 16.6MHz. Update the
devicetree entry so that it accepts a decimal value for the
desired frequency to be programmed in PCIe controller.
Change-Id: Idd672bfb2908a15b9ee3e72654eb4d40a6d9b624
Signed-off-by: Tony Truong <truong@codeaurora.org>
The regulator_is_enabled() API doesn't guarantee that CX gdsc has
collapsed at hardware. There could be a vote on the GDSC from another
subsystem like TZ. So poll the CX GDSCR register to ensure that CX has
indeed collapsed.
Change-Id: Id98c5318d5358b16f4277cb5d96027add63ad801
Signed-off-by: Akhil P Oommen <akhilpo@codeaurora.org>
Signed-off-by: Pankaj Gupta <gpankaj@codeaurora.org>
Signed-off-by: Indira Biruduraju <ibirudur@codeaurora.org>
This config enable the support for scsi generic driver.
Change-Id: Ib895134d3bd1635f612b9254900162160fbd67ea
Signed-off-by: Nitin Rawat <nitirawa@codeaurora.org>
Add master and slave ID constants for all Qualcomm Technologies, Inc.
Yupik interconnect providers which consumers can use to set bandwidth
constraints and find paths in the NoC (Network-On-Chip) topology.
Change-Id: I0098d170786dacc3869485b86917b1a0a7491bfc
Signed-off-by: Odelu Kukatla <okukatla@codeaurora.org>
Add pcie logs to identify any possible latency in enabling
regulators, clks and icc as part of DRV resume.
Change-Id: I3cb72ce22773f0b6b52c9e704c9ec9a3a1de3d8c
Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Change for fixed link speed.
Change-Id: If2584bd534b868171d53b0b880d65cc2eeb74410
Signed-off-by: Mohammed Siddiq <msiddiq@codeaurora.org>
Signed-off-by: Manikandan Mohan <manikand@codeaurora.org>