USB: ci13xxx_udc: Don't free dTD immediately after active bit is cleared

USB controller may access the dTD one more time after clearing the active
bit in token field.  There is a possibility of software freeing it in this
window.  When this happens, USB controller may access incorrect memory and
leads to system level issues.

dTDs are freed when requests are freed by function drivers during
disconnect or unbind.  The above race condition will come into effect only
for zero length packets.  dTDs are dynamically created for sending zero
length packets on IN endpoints.  These dTDs are immediately freed after
active bit is cleared.  Defer this to next dTD completion.  It is safe to
assume that hardware will no longer access the previous dTD when the next
dTD is completed.

Don't allocate/free setup status phase and GET_STATUS data phase requests
dynamically.  Use  one request for both cases and allocate it during bind.

CRs-Fixed: 474557
Change-Id: I5d41c310e1bb35d93b5af7d90a24ce5aab24f5f9
Signed-off-by: Pavankumar Kondeti <pkondeti@codeaurora.org>
Merge "USB: ci13xxx_udc: Don't free dTD immediately after active bit is cleared"
media: dvb: Discard sections TS packets with transport error indicator

Corrupted section data should not be notified to the application,
TS packets holding sections with transport error indicator (TEI)
are discarded.

CRs-Fixed: 473875
Change-Id: I43f500a8cde86ad970360a7f1b50615f16fb7a89
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
mm: Retry original migrate type if CMA failed

Currently, __rmqueue_cma will disregard the original migrate type
and only try MIGRATE_CMA for allocations. If the MIGRATE_CMA
allocation fails, the fallback types of the original migrate type
are used. Note that in this current path we never try to actually
allocate from the original migrate type. If the only pages left
in the system are the original migrate type, we will fail the
allocation since we never actually try the original migrate type.
This may lead to infinite looping since the system still (correctly)
calculates there are pages available for allocation and will keep
trying to allocate pages. Fix this degenerate case by allocating
from the original migrate type if the MIGRATE_CMA allocation fails.

Change-Id: I62ab293dc694955eaf88e790131a8565395ba8cb
CRs-Fixed: 470615
Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
USB: Dump usb info during memory access violation

USB is accessing an invalid memory which results in EBI error.
To find the endpoint information and the address being accessed,
dump all the usb request info required for debugging memory access
violation issue from APP's proc using the trace framework.

CRs-Fixed: 430455
Change-Id: Ie99c31f43dfa9858a9ec2756903574888629e341
Signed-off-by: Chiranjeevi Velempati <cvelempa@codeaurora.org>
Signed-off-by: Rajkumar Raghupathy <raghup@codeaurora.org>
Merge "mm: Retry original migrate type if CMA failed"
msm: mdm: set the flag to send the mdm shutdown sysmon message

Enable the flag in the platform data of the mdm driver to send
the shutdown message to the mdm.

CRs-fixed: 401598
Change-Id: If8a8f8d3a5eab274c7bd9dff2b927ba5a7794dd8
Signed-off-by: Joel King <joelking@codeaurora.org>
Merge "msm: mdm: set the flag to send the mdm shutdown sysmon message"
Merge "media: dvb: Discard sections TS packets with transport error indicator"
Merge "USB: Dump usb info during memory access violation"
thermal: pm8xxx-tm: Configure temperature alarm for always-on operation

Change the register initialization for the PMIC temperature alarm
module so that it is always on.  This ensures that die
temperature monitoring is active even if CXO is disabled (i.e.
when sleep_b is low).  This is necessary since CXO can be
disabled while the system is still heavily loaded.  Also, using
the alway-on instead of PWM-enabled configuration ensures that
the die temperature can be measured by the PMIC ADC without
reconfiguring the temperature alarm module first.

Change-Id: I4a76c959c81f222fbeca08b6c98b1e4b23653b4e
Signed-off-by: David Collins <collinsd@codeaurora.org>
thermal: pm8xxx-tm: Turn off the temperature alarm during shutdown

The temperature alarm consumes additional current if it remains
turned on when the device is off. Turn off the alarm in the
shutdown hook, as it not required when the device is off.

CRs-Fixed: 474628
Change-Id: Ibfaee6b74aeebcb530ae7375f623955f80df148e
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
power: pm8921-charger: BTC override fixes

- Monitor battery health when charger is not connected
- Add configurable temperature hysteresis and enable the
  same for BTC override
- Avoid releasing wakelock when charging is not in progress
  and BTC override is enabled
- check temperature thresholds when fully charged, to handle
  temperature restrictions while restarting charging

CRs-Fixed: 466525
Change-Id: I8cad3f8bcf65844fc1048625d9b387ede132d3e0
Signed-off-by: Anirudh Ghayal <aghayal@codeaurora.org>
Merge "thermal: pm8xxx-tm: Configure temperature alarm for always-on operation"
Merge "thermal: pm8xxx-tm: Turn off the temperature alarm during shutdown"
msm: kgsl: Properly record the size of the sglist in the memdesc

It was possible to fail out of kgsl_sharedmem_alloc after a sglist was
allocated but before we saved the size of the allocation which caused
problems when the sglist was freed during cleanup.

CRs-fixed: 464289
Change-Id: Ic0dedbadd57ec4d9422b5e3a873243d0ffed51f7
Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org>
Merge "power: pm8921-charger: BTC override fixes"
msm:board-8064: Correct ab/ib values of 1080p turbo vectors

This change corrects the ab/ib values of turbo vectors
intended for 1080p encoder.

CRs-Fixed: 473197

Change-Id: I172b241e7b8b7b2d8600647ac35af78ed928e052
Signed-off-by: Rajeshwar Kurapaty <rkurapat@codeaurora.org>
Merge "msm: kgsl: Properly record the size of the sglist in the memdesc"
Merge "msm:board-8064: Correct ab/ib values of 1080p turbo vectors"