With commit a3a3c169dd ("icnss: Prevent power collapse during
driver probe/remove"), NULL pointer dereference happens in probe
because of recent changes in the function. Fix the issue by using
right pointer.
CRs-Fixed: 1061279
Change-Id: I464579953fabe1bd42ced50f0bbfdfd3cda0a492
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
With the recovery changes, if modem is brought down without FW
ready but WLAN driver is registered then shutdown call back is
called. This causes stability issue.
Make sure not call the shutdown call back if driver is not
registered. Also listening for PD notifications are enough even
for Subsystem restart so changing the quirks to take care of it.
CRs-fixed: 1061734
Change-Id: Ic5d1a38dfb6ea3e255424af135e2afbe47d1fc18
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
Race condition observed during driver probe/remove and
suspend/resume because suspend/resume is not serialized
to work queue. Fix this problem by holding a wake lock
during wlan driver probe/remove to prevent system
suspend/resume.
CRs-Fixed: 1061279
Change-Id: Iad1c9abbdbaea21d4c55d64a6c120d3bcf0df1eb
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
WCSS may take upto 400us to get out of retention. Fix the polling
logic to wait for more than 400us before proceeding with the
reset sequence.
Also do not send mode request to firmware during recovery.
CRs-fixed: 1060725
Change-Id: Id19518a12fe8a0acffd725b25dbcb0240bdbf446
Signed-off-by: Prashanth Bhatta <bhattap@codeaurora.org>
During SSR, we observe cases where card enter bad state
and does not responding to any I/O commands. Fix it by
powering off and on the card.
Change-Id: Ia3ab2781c93d1cfe7427e2b1c2644f6628f6465f
CRs-Fixed: 1058794
Signed-off-by: Komal Seelam <kseelam@codeaurora.org>
DMA coherent allocation was done with inappropriate
flags causing memory allocation to fail occasionally.
Use GFP_KERNEL flag as well as fix up some cleanup
actions.
CRs-Fixed: 1060305
Change-Id: I93c9340439dd65c50764dd078071bf66f65a9464
Signed-off-by: Ghanim Fodi <gfodi@codeaurora.org>
This algorithm allows for programmable charge current values
based on programmable thresholds on state-of-charge (SoC).
Adjusting battery charge current based on the battery SoC
may lead to extended battery capacity over number of charge
cycles.
Charging profile to be used relies on battery characterization
data from battery cell manufacurers.
CRs-Fixed: 1052854
Change-Id: I8844a3e8428b045514863d72c08f6c6b2b2ac2a4
Signed-off-by: Harry Yang <harryy@codeaurora.org>