This exports a new cfg80211_stop_iface() function.
This is intended for driver internal interface
combination management and channel switching.
Due to locking issues (it re-enters driver) the
call is asynchronous and uses cfg80211 event
list/worker.
CRs-Fixed: 1114710
Change-Id: I2784dc34b6a20fbe8697473e37cacf8edd35deca
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: f04c22033c
[rsirasan@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Qualcomm Technologies Inc vendor specific wlan driver (qcacld-3.0)
internally supports wow mode and is enabled by default.
Currently, cfg80211 subsystem and wpa_supplicant is not aware of
qcacld-3.0 internal support for wowlan, due to which wpa_supplicant
is issuing disconnect on suspend, resulting in wowlan failure.
To fix this, avoid disconnect on suspend.
CRs-Fixed: 2001614
Change-Id: I8e369fe61fd2715d2de9dcfb637ebb53f044b501
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Below is the synchronization issue between unmount and kjournald2
contexts, which results into use after free issue in kjournald2().
Fix this issue by using journal->j_state_lock to synchronize the
wait_event() done in journal_kill_thread() and the wake_up() done
in kjournald2().
TASK 1:
umount cmd:
|--jbd2_journal_destroy() {
|--journal_kill_thread() {
write_lock(&journal->j_state_lock);
journal->j_flags |= JBD2_UNMOUNT;
...
write_unlock(&journal->j_state_lock);
wake_up(&journal->j_wait_commit); TASK 2 wakes up here:
kjournald2() {
...
checks JBD2_UNMOUNT flag and calls goto end-loop;
...
end_loop:
write_unlock(&journal->j_state_lock);
journal->j_task = NULL; --> If this thread gets
pre-empted here, then TASK 1 wait_event will
exit even before this thread is completely
done.
wait_event(journal->j_wait_done_commit, journal->j_task == NULL);
...
write_lock(&journal->j_state_lock);
write_unlock(&journal->j_state_lock);
}
|--kfree(journal);
}
}
wake_up(&journal->j_wait_done_commit); --> this step
now results into use after free issue.
}
Change-Id: I7487aff6f946544cfcfc38a9f28769be762e3969
Signed-off-by: Sahitya Tummala <stummala@codeaurora.org>
If possible that after suspend, cfg80211 will receive request to
disconnect what require action on interface that was removed during
suspend.
Problem can manifest itself by various warnings similar to below one:
WARNING: at net/mac80211/driver-ops.h:12 ieee80211_bss_info_change_notify+0x2f9/0x300 [mac80211]()
wlan0: Failed check-sdata-in-driver check, flags: 0x4
Call Trace:
[<c043e0b3>] warn_slowpath_fmt+0x33/0x40
[<f83707c9>] ieee80211_bss_info_change_notify+0x2f9/0x300 [mac80211]
[<f83a660a>] ieee80211_recalc_ps_vif+0x2a/0x30 [mac80211]
[<f83a6706>] ieee80211_set_disassoc+0xf6/0x500 [mac80211]
[<f83a9441>] ieee80211_mgd_deauth+0x1f1/0x280 [mac80211]
[<f8381b36>] ieee80211_deauth+0x16/0x20 [mac80211]
[<f8261e70>] cfg80211_mlme_down+0x70/0xc0 [cfg80211]
[<f8264de1>] __cfg80211_disconnect+0x1b1/0x1d0 [cfg80211]
To fix the problem disconnect from any associated network before
suspend. User space is responsible to establish connection again
after resume. This basically need to be done by user space anyway,
because associated stations can go away during suspend (for example
NetworkManager disconnects on suspend and connect on resume by default).
Patch also handle situation when driver refuse to suspend with wowlan
configured and try to suspend again without it.
CRs-Fixed: 1114636
Change-Id: I6f2265a65dd47e3b127ba6236e4c9cf7ba77fc09
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Git-repo: git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
Git-commit: 8125696991
[rsirasan@codeaurora.org: Resolved merge conflicts]
Signed-off-by: Rajeev Kumar Sirasanagandla <rsirasan@codeaurora.org>
Locking ION buffer should not fail, print error message if it happens.
Signed-off-by: Amir Samuelov <amirs@codeaurora.org>
Change-Id: Ic67f69daa646712dd814f29d5aa0fc68386177e1
Add the DT entries for clocks, PD PHY handle, logical to physical
lane map settings, DP PLL entries, Pinctrl settings and DP PHY AUX
settings for display port interface on SDM660.
Change-Id: I6fdf430cfe1664a74e4f8b452ac62cb0ce2075f4
Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
Signed-off-by: Vishnuvardhan Prodduturi <vproddut@codeaurora.org>
This makes it possible to ensure that any clients which use
__alloc_skb always allocate memory from the DMA zone.
Change-Id: I3b399b8da113e38a050b0b3e81eeaec549253bb9
Signed-off-by: Liam Mark <lmark@codeaurora.org>
PC tools can use this value to identify protocol used
by diag interface. For example, diag interface can use
firehouse or sahara or plain diag protocols. Update the
protocol value to represent plain diag.
Change-Id: Ifba80a21a99575d1fcdb54647319aea0822b8898
Signed-off-by: Vamsi Krishna Samavedam <vskrishn@codeaurora.org>
Use correct method to connect to static processes as the existing
method was used for dynamic process creation.
Change-Id: Id7f631560edd9b8e4e970baecdda50f7804991bd
Acked-by: Ashwini Patil <aapatil@qti.qualcomm.com>
Signed-off-by: Sathish Ambley <sathishambley@codeaurora.org>
scm call of send data will fail with EBUSY if there are more than one
TAs requesting listener services, add additional checks before scm call
and wait until no more than one listener request in the system.
Change-Id: Ic891e687062dc52f02639605f3bac0e1c4540a6f
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Do not close MHI channels when usb is disconnected and a process
is running in memory device mode.
Change-Id: I043fc25542e432a9fa294d4f433945718b2e5878
Signed-off-by: Sreelakshmi Gownipalli <sgownipa@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Change variables of type 'unsigned' to 'unsigned int'.
- Update the REGULATOR_QPNP_OLEDB Kconfig option.
Change-Id: I75f4a5868f98f7090baa0dc77da8923c1d789d3a
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Change variables of type 'unsigned' to 'unsigned int'.
- Update the REGULATOR_QPNP_LCDB Kconfig option.
Change-Id: I9b9324f205481dd91f0db39f2c4ac309105cb556
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Use variable name in sizeof() for devm_kzalloc() call.
- Update the REGULATOR_QPNP_LABIBB Kconfig option.
Change-Id: Id98fed6b3c460d6f4282eab88cebdc8b2bd9bf2e
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Use octal file permissions instead of symbolic.
- Replace sscanf() for a single integer with kstrtoint().
- Update the LEDS_QPNP_WLED Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
- Expand the description of the LEDS_QPNP_WLED config
option.
Change-Id: I848983cd7beeb1a41191aba94fc8b33ce45fb2bc
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add a comment explaining the strncmp() usage.
- Update the LEDS_QPNP_FLASH_V2 Kconfig entry to use the
name 'Qualcomm Technologies, Inc.'
- Expand the description of the LEDS_QPNP_FLASH_V2 config
option.
Change-Id: I18f49e3c56bfc7ad6770f4f9dc508ad8331af0d4
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Use octal file permissions instead of symbolic.
- Remove unnecessary out-of-memory error messages.
- Use variable name in sizeof() for kzalloc() calls.
- Restructure conditionals to avoid else after return.
- Remove 'return' from the end of void functions.
- Correct the format of block comments.
- Correct the spelling of 'cannot'.
- Update the LEDS_QPNP_FLASH Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
- Expand the description of the LEDS_QPNP_FLASH config
option.
Change-Id: I342fe2d0e6a027c87cd17a3697529b422ec49ab6
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Remove unnecessary out-of-memory error messages.
- Restructure conditionals to avoid else after return.
- Replace kzalloc() with kcalloc() for arrays.
- Replace strncmp() with strcmp().
- Join strings that are wrapped across two lines.
- Correct the format of block comments.
- Remove 'return' from the end of void functions.
- Remove unnecessary parentheses.
- Remove unnecessary line continuations.
- Call usleep_range() with max > min.
- Update the LEDS_QPNP Kconfig entry and the device tree
documentation to use the name: 'Qualcomm Technologies, Inc.'
- Expand the description of the LEDS_QPNP config option.
- Correct the spelling of 'controlled'.
Change-Id: Id29de0da18aa1ce75a0c7604b8c0ecd1633fcaf3
Signed-off-by: David Collins <collinsd@codeaurora.org>
Remove the duplicate Kconfig options for LEDS_QPNP,
LEDS_QPNP_FLASH, and LEDS_QPNP_WLED. Also fix the help text
for LEDS_POWERNV which was associated with LEDS_QPNP_WLED.
Change-Id: I11cc6b30280c4e2e1f33720308353ba746c5612a
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Update the QPNP_COINCELL Kconfig entry and the device tree
documentation to use the name: 'Qualcomm Technologies, Inc.'
Change-Id: Ieb737138dc5dacb01eb840a1861afe14cf14ddc6
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Update the QPNP_REVID Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
Change-Id: I36f9f6b63aedbcfe744800887d8629ac1feac804
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Use octal file permissions instead of symbolic.
- Restructure conditionals to avoid else after return.
- Add a blank line after variable definitions.
- Correct the format of block comments.
- Replace sscanf() for a single integer with kstrtoint().
- Update the QPNP_HAPTIC Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
- Expand the description of the QPNP_HAPTIC config option.
Change-Id: Ifc9ccbb83e2ca59328d6dcb5915b80c578d38fa1
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Add 'const' to the type of struct rtc_class_ops variables.
- Join strings that are wrapped across two lines.
- Move EXPORT_SYMBOL() directly after poweron_alarm
definition.
- Correct the spelling of 'writing'.
- Correct the module license to use 'GPL v2'.
- Update the RTC_DRV_QPNP Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
- Remove duplicate RTC_DRV_QPNP Kconfig entry.
Change-Id: I45fa2db561a5990d8618fa0fcf904ae95a72e3eb
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to type of a struct of_device_id variable.
- Update the THERMAL_QPNP Kconfig entry and the device tree
documentation to use the name: 'Qualcomm Technologies, Inc.'
Change-Id: Ia25eb58820107d0c068ee3e2c31d46f0cb13e3d6
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Correct minor whitespace inconsistencies.
- Replace kzalloc() with kcalloc() for arrays.
- Replace strncmp() with strcmp().
- Replace EXPORT_SYMBOL_GPL() with EXPORT_SYMBOL().
- Remove a macro which affects flow control.
- Update the PWM_QPNP Kconfig entry and driver to use the name:
'Qualcomm Technologies, Inc.'
- Correct the spelling of 'label'.
Change-Id: I36cd39cec22a4e4ad5956e57643753841fedb4dc
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add 'const' to type of struct of_device_id variables.
- Change variables of type 'unsigned' to 'unsigned int'.
- Restructure conditionals to avoid else after return.
- Correct minor whitespace inconsistencies.
- Replace strncmp() with strcmp().
- Replace a static length 1 array with a scalar variable.
- Update the GPIO_QPNP_PIN Kconfig entry to use the name
'Qualcomm Technologies, Inc.'
- Expand the description of the GPIO_QPNP_PIN_DEBUG config
option.
- Remove an unnecessary BUG_ON() call.
Change-Id: Ib1a49adf4668124020fed90108fed338d7ab2bd6
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add 'const' to type of struct of_device_id variables.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Restructure conditionals to avoid else after return/break.
- Remove 'return' from the end of void functions.
- Join strings that are wrapped across two lines.
- Remove ';' from the end of a macro definition.
- Update the REGULATOR_QPNP Kconfig entry and the device tree
documentation to use the name: 'Qualcomm Technologies, Inc.'
Change-Id: I9f2cde58929ae57667366bb886e65154d36dfd3d
Signed-off-by: David Collins <collinsd@codeaurora.org>
Add route map and mix controls to support 4 digital mics
in SDM660 internal codec.
Change-Id: Ida16a910961d01a57d7d03dd64b61ecd36bad37d
Signed-off-by: Laxminath Kasam <lkasam@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Change variables of type 'unsigned' to 'unsigned int'.
- Correct a minor whitespace inconsistency.
Change-Id: I282801edaa3a713fd34035e7270d4fb1d0b86fca
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Add 'const' to the type of a struct of_device_id variable.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Restructure conditionals to avoid else after return.
- Correct the spelling of the word 'initialize'.
- Update the REGULATOR_MEM_ACC Kconfig entry and the device
tree documentation to use the name: 'Qualcomm Technologies,
Inc.'
Change-Id: Idfccd4289eadbbeaf2c682ca4fbe73eda691499a
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add 'const' to the type of a struct of_device_id variable.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Update the REGULATOR_KRYO Kconfig entry.
Change-Id: Iad0fcbcc8f276f4f8344b6fc8591cfbe604659fa
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add 'const' to type of struct of_device_id variables.
- Remove unnecessary out-of-memory error messages.
- Change variables of type 'unsigned' to 'unsigned int'.
- Restructure conditionals to avoid else after return/break.
- Remove 'return' from the end of void functions.
- Correct minor whitespace inconsistencies.
Change-Id: Ibf7812cd722c74e48d51e765f00efcbcf548c552
Signed-off-by: David Collins <collinsd@codeaurora.org>
Correct warnings flagged by checkpatch. In particular, modify
the following:
- Use octal file permissions instead of symbolic.
- Add 'const' to type of struct of_device_id variable.
- Remove unnecessary out-of-memory error message.
- Update the the MSM_APM Kconfig entry.
Change-Id: I57c6d499c90db62ca2733f302bd045b4d439905f
Signed-off-by: David Collins <collinsd@codeaurora.org>
During ramdump collection we assign memory to HLOS from subsystem for
non-secure pil. Whether ramdump collection is successful or not, we
should assign memory back to subsystem. This is to avoid access
violations in powerup path which happens after ramdump.
CRs-Fixed: 2002073
Change-Id: I7f1d42aebb44464fe077ca544ce91c2d7a8eefbb
Signed-off-by: Puja Gupta <pujag@codeaurora.org>
Add error message for GFP_ATOMIC allocation failure. Keep current
design to drop packet if allocation fails. This print will help debug
issues where a system critical client fails because of a dropped GLINK
packet.
CRs-Fixed: 1112151
Change-Id: I6a69cbf1f88295009284d726a06fa5affd4cc591
Signed-off-by: Chris Lew <clew@codeaurora.org>