USB: ci13xxx_udc: Flush ep0 even when queue is empty

The endpoint must be flushed before retiring pending requests. The
current code skips flushing an endpoint if there are no pending
requests.  Flushing ep0 for every setup packet is some how resolving
the race between transfer completion interrupt and transfer descriptors
updates to the system memory in the controller.  Always allow flushing
ep0 endpoint.  This patch resolves USB disconnect issue during RNDIS
high bandwidth tests.

CRs-Fixed: 466538
Change-Id: Ia89b2dc8ff831641dafb91196e3af5271ac66cfd
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
msm: vidc: Fix possible memory corruption

This change fix the possible memory corruption
by increasing the local array sizes in video
encoder.

Change-Id: If03cee2f428c3cef863178da70bc083159f203f5
Signed-off-by: Maheshwar Ajja <majja@codeaurora.org>
EHCI: HSIC: Add payload support for control transfers logging

Print first 16 bytes of control transfer's data to debug entries.
This is helpful in debugging QMI transactions.  The current code
determines the direction (IN/OUT) using ep descriptor.  This is
correct for all endpoints except ep0.  Use URB helper functions.

CRs-Fixed: 466603
Change-Id: I8bd3e7990259587aa026bd476ac5a4d5e7f049ca
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
slimbus: Specify number of channels for the group in group handle

Use group handle instead of next element in channel's data structure
to identify how many channels were specified by a client in the group.
That way clients can specify different number of channels for shared
channels, and work with their own client-handle. Note that sequence of
channel still matters (so 2 clients sharing a channel should not
specify channels in different order, otherwise scheduling of the
channels will not be in the correct order)

CRs-Fixed: 415109
Change-Id: Idd636a500ee6449b16648a234b9e76fad21f2fcc
Signed-off-by: Sagar Dharia <sdharia@codeaurora.org>
msm: board-8930: Add TS support for 8930 QRD

Add synaptic TS support and gpio configuration for
8930 QRD

Change-Id: I82493553f355f52f2998918eb335495239f8c7de
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
input: synaptics_i2c_rmi4: Add device tree support

To work with device tree framework, support must be added
in driver.  Read in properties such as gpios, x/y size and
soft button mapping.  Also, enable multitouch with protocol
B.

Change-Id: I17f41105c57f22db1623d03627ca89f47ef57a8b
Signed-off-by: Amy Maloche <amaloche@codeaurora.org>
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
msm: Change the permissions of sps debug files

Debug sysfs files should not be world writable.
Changed the permissions for desc_option, bam_pipe_sel,
bam_addr, testbus_sel files.

CRs-Fixed: 465369
Change-Id: Ie1a2aa993750510fd4e8c54819eb2efdc8b92055
Signed-off-by: Praveena Pachipulusu <pveena@codeaurora.org>
usb: wwan: Fix RX data corruption issue

The received data is pushed to TTY in global workqueue context.
The work is scheduled from URB completion handler and TTY unthrottle
callback.  The global workqueue does not guarantee non-reentrance.
The data is getting corrupted when work is run simultaneously on
multiple processors.  Use non-reentrant version of global workqueue.

CRs-Fixed: 458325
Change-Id: I9562fc5be9d15c34cc4498fa3ddb325b35136fd2
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
msm:video: Enable LUT update on DSI command mode panel

CRs-Fixed: 462625

Change-Id: Ieb670abbed0ad06a9c758fb044bf71b6fc2c71b0
Signed-off-by: Ping Li <quicpingli@codeaurora.org>
msm: kgsl: pwrscale functions should be run while GPU is ACTIVE

Base the decision to call power scaling functions on the current
state, not the requested state.  The GPU may not transition to the
requested state; call through based on current GPU state instead.

Change-Id: I1524bc92c908dc50a60b5815f2221ae3feef59be
CRs-Fixed: 441847
Signed-off-by: Lucille Sylvester <lsylvest@codeaurora.org>
msm: ipc: Security updates to IPC Router

In order to provide fine-grained access control to QMI services,
a security script from user-space will feed the security rules to
IPC Router. The security rule implies that in order to send a QMI
message to a service, a client process should belong to a specific
Linux/Android group. IPC Router, after receiving the security rules,
will enforce the access control rules.

Change-Id: I49f8d7c0067fc37cb0b4de2ccb46a575905ef64f
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
msm: ipc: Allow QMI clients to send messages after IRSC is complete

Currently there exists a small time interval during initialization
where QMI clients in user-space can communicate with QMI services
before the IPC Router Security Configuration(IRSC) is complete.

Only allow clients to communicate after IRSC is complete.

Change-Id: I773ad5b3cb02c51a725cd60a77466876c1498b64
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
msm: ipc: Security updates to IPC Router

With the fine-grained access control in place for QMI clients, default
security check in socket create operation is redundant. Update the
IPC Router to perform the default security check only for the
bind operation, which is used during QMI service registration.

Change-Id: I967dbc3d414d39d307c071ff49c319828b5ed19e
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@codeaurora.org>
ASoC: wcd9310: Disable Mic Bias Pull down prior to enable micbias

Pull down Mic Bias and add a delay of 250ms to avoid issue
of something else pulling up the mic voltage other than mbhc
polling prior to enable micbias when recording starts.

CRs-fixed: 431573
Signed-off-by: Simmi Pateriya <simmip@codeaurora.org>
(cherry picked from commit 1b9a309c9a58bfd47d0e6dee75cfd6fea12e0760)

Change-Id: I575cc61c1f0d9956958768f8852b87695bb2211c
Signed-off-by: Sivasri Kumar Vanka <sivasri@codeaurora.org>
Merge "msm: 8930: i2c gpio changes for QRD SGLTE"
Merge "msm8930: Add support for GSBI9 for Primary IPC"
Conflicts:
	arch/arm/mach-msm/board-8930.c
	arch/arm/mach-msm/clock-8960.c
Merge "first commit"
Merge "input: touchscreen: synaptics v1.1"
Merge "input: synaptics_i2c_rmi4: Add TS support"
Conflicts:
Merge "input: synaptics: driver updates"
Conflicts:
	drivers/input/touchscreen/synaptics_fw_update.c
	drivers/input/touchscreen/synaptics_i2c_rmi4.h
	drivers/input/touchscreen/synaptics_rmi_dev.c