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 <[email protected]>
The usb_assign_descriptors copies the descriptors depending
on the maximum speed supported by the gadget.
If the function drivers unconditionally assign the
descriptors and the speed is limited to full, the switching
to the same function would lead to a use after free.
Fix this by removing unconditional assigning of descriptors
in the function drivers.
Change-Id: Id283c87d6f3ccf708507afb66a3b93121022e990
Signed-off-by: Sriharsha Allenki <[email protected]>
When no touch panel, return proper value to exit driver probe.
Change-Id: I422f14ba6c942252346c46df5ccbc2f1f8be7731
Signed-off-by: Huadong Gao <[email protected]>
Signed-off-by: Fei Mao <[email protected]>
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 <[email protected]>
This reverts commit 9fed4d8bdd.
Revert the description for synaptics_dsx to avoid unnecessary
documentation.
Change-Id: Ied0263529bca79c083a3e2e67e3559f5a32087d1
Signed-off-by: Ravikanth Tuniki <[email protected]>
Revert submission 1437052
Reason for revert: ABI is changed. While is is correct, we will hold off doing this for another week.
Reverted Changes:
Iae19ae10f:UPSTREAM: ehci-hcd: Move include to keep CRC stabl...
I85a933434:ANDROID: Update android/abi_gki_aarch64.xml
Change-Id: I2859f7b3ffa293371f842c01ecf433a84d5e1179
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Revert submission 1437052
Reason for revert: ABI is changed. While is is correct, we will hold off doing this for another week.
Reverted Changes:
Iae19ae10f:UPSTREAM: ehci-hcd: Move include to keep CRC stabl...
I85a933434:ANDROID: Update android/abi_gki_aarch64.xml
Change-Id: If22472924ae1a42956123806eeb4fed750db5204
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Leaf changes summary: 5 artifacts changed
Changed leaf types summary: 0 leaf type changed
Removed/Changed/Added functions summary: 0 Removed, 5 Changed, 0 Added function
Removed/Changed/Added variables summary: 0 Removed, 0 Changed, 0 Added variable
5 functions with some sub-type change:
[C] 'function int ehci_handshake(ehci_hcd*, void*, u32, u32, int)' at ehci-hcd.c:148:1 has some sub-type changes:
CRC value (modversions) changed from 0xab5f23a3 to 0xe32dc66c
[C] 'function void ehci_init_driver(hc_driver*, const ehci_driver_overrides*)' at ehci.h:879:1 has some sub-type changes:
CRC value (modversions) changed from 0x70c01a65 to 0x5bd6ac93
[C] 'function int ehci_resume(usb_hcd*, bool)' at ehci.h:887:1 has some sub-type changes:
CRC value (modversions) changed from 0x51dbddda to 0xa250ac83
[C] 'function int ehci_setup(usb_hcd*)' at ehci.h:881:1 has some sub-type changes:
CRC value (modversions) changed from 0x175f644c to 0xda517721
[C] 'function int ehci_suspend(usb_hcd*, bool)' at ehci-hcd.c:1085:1 has some sub-type changes:
CRC value (modversions) changed from 0x3afe7f3 to 0x5a7df441
Bug: 167230325
Signed-off-by: Quentin Perret <[email protected]>
Change-Id: I85a93343482eacce6e989f545dcd89432ad70c85
The CRC calculation done by genksyms is triggered when the parser hits
EXPORT_SYMBOL*() macros. At this point, genksyms recursively expands the
types of the function parameters, and uses that as the input for the CRC
calculation. In the case of forward-declared structs, the type expands
to 'UNKNOWN'. Following this, it appears that the result of the
expansion of each type is cached somewhere, and seems to be re-used
when/if the same type is seen again for another exported symbol in the
same C file.
Unfortunately, this can cause CRC 'stability' issues when a struct
definition becomes visible in the middle of a C file. For example, let's
assume code with the following pattern:
struct foo;
int bar(struct foo *arg)
{
/* Do work ... */
}
EXPORT_SYMBOL_GPL(bar);
/* This contains struct foo's definition */
#include "foo.h"
int baz(struct foo *arg)
{
/* Do more work ... */
}
EXPORT_SYMBOL_GPL(baz);
Here, baz's CRC will be computed using the expansion of struct foo that
was cached after bar's CRC calculation ('UNKOWN' here). But if
EXPORT_SYMBOL_GPL(bar) is removed from the file (because of e.g. symbol
trimming using CONFIG_TRIM_UNUSED_KSYMS), struct foo will be expanded
late, during baz's CRC calculation, which now has visibility over the
full struct definition, hence resulting in a different CRC for baz.
The proper fix for this certainly is in genksyms, but that will take me
some time to get right. In the meantime, we have seen one occurrence of
this in the ehci-hcd code which hits this problem because of the way it
includes C files halfway through the code together with an unlucky mix
of symbol trimming.
In order to workaround this, move the include done in ehci-hub.c early
in ehci-hcd.c, hence making sure the struct definitions are visible to
the entire file. This improves CRC stability of the ehci-hcd exports
even when symbol trimming is enabled.
Bug: 167230325
Acked-by: Alan Stern <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Quentin Perret <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
(cherry picked from commit 29231826f3bd65500118c473fccf31c0cf14dbc0)
Change-Id: Iae19ae10feb15fd775076acdd2e0b29d7ccb6b20
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 <[email protected]>
scripts/mkcompile_h runs $(CC) just for getting the version string.
Reuse CONFIG_CC_VERSION_TEXT for optimization.
For GCC, this slightly changes the version string. I do not think it
is a big deal as we do not have the defined format for LINUX_COMPILER.
In fact, the recent commit 4831f7ad6c ("kbuild: mkcompile_h:
Include $LD version in /proc/version") added the linker version.
Bug: 168274246
Signed-off-by: Masahiro Yamada <[email protected]>
(cherry picked from commit 9a950154668729a472d17b8e307d92e7c60f45f7)
Signed-off-by: Mars Lin <[email protected]>
Change-Id: I66bac5b44bf764e7c0e432ae17bcdf06d79c96d0
Commit 21c54b7747 ("kconfig: show compiler version text in the top
comment") added the environment variable, CC_VERSION_TEXT in the comment
of the top Kconfig file. It can detect the compiler update, and invoke
the syncconfig because all environment variables referenced in Kconfig
files are recorded in include/config/auto.conf.cmd
This commit makes it a CONFIG option in order to ensure the full rebuild
when the compiler is updated.
This works like follows:
include/config/kconfig.h contains "CONFIG_CC_VERSION_TEXT" in the comment
block.
The top Makefile specifies "-include $(srctree)/include/linux/kconfig.h"
to guarantee it is included from all kernel source files.
fixdep parses every source file and all headers included from it,
searching for words prefixed with "CONFIG_". Then, fixdep finds
CONFIG_CC_VERSION_TEXT in include/config/kconfig.h and adds
include/config/cc/version/text.h into every .*.cmd file.
When the compiler is updated, syncconfig is invoked because init/Kconfig
contains the reference to the environment variable CC_VERTION_TEXT.
CONFIG_CC_VERSION_TEXT is updated to the new version string, and
include/config/cc/version/text.h is touched.
In the next rebuild, Make will rebuild every files since the timestamp
of include/config/cc/version/text.h is newer than that of target.
Bug: 168274246
Signed-off-by: Masahiro Yamada <[email protected]>
(cherry picked from commit 8b59cd81dc5e724eaea283fa6006985891c7bff4)
Signed-off-by: Mars Lin <[email protected]>
Change-Id: Ie52bb8e33b95d0e97998024d28c0d8d7caf8aa59
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 <[email protected]>
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 <[email protected]>
Add WAIT_FOR_IDLE and WAIT_FOR_ME/WAIT_FOR_CP_FLUSH commands before
adding commands to change the CPAPRIV bit. In absence of these
synchronizing commands write permission faults to pagetable_desc
are observed.
Change-Id: I1d47fd050a9d9f97858ee24b22a2a3cf99cc5e69
Signed-off-by: Puranam V G Tejaswi <[email protected]>
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 <[email protected]>
Signed-off-by: Pankaj Gupta <[email protected]>
Signed-off-by: Indira Biruduraju <[email protected]>
This config enable the support for scsi generic driver.
Change-Id: Ib895134d3bd1635f612b9254900162160fbd67ea
Signed-off-by: Nitin Rawat <[email protected]>
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 <[email protected]>
Change to enable self recovery if the param
cnss-enable-self-recovery is present in the
dt node.
Change-Id: I4c88153a161054162e99182a0ea89041d8960b3b
Signed-off-by: Mohammed Siddiq <[email protected]>
The adv7533 node had a duplicate entry in the hi3660.dtsi
which is misplaced as that hardware is board specific and
not soc specific.
A recent changes upstream were backported to -stable which
recently broke the driver from loading properly, so this
patch moves the details from the incorrect node into its
proper place, resolving the issue.
Fixes: 274f4e9c57 ("arm64: dts: hisilicon: hikey: fixes to comply with adi, adv7533 DT binding")
Signed-off-by: John Stultz <[email protected]>
Change-Id: Iffe78badb08a1a49ed99fb8ab2257cb95e368f3f
(cherry picked from commit 623715b470c6c51e54344a274ca90df19556b56a)
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 <[email protected]>
Similar to commit f683c8dc7f ("ANDROID: kallsyms: strip hashes from
static functions with ThinLTO and CFI"), since LLVM adds a hash to
static function names when CONFIG_THINLTO and CFI are enabled, callers
of kallsyms_lookup_name() which aren't aware of the additional suffix
will fail to find the symbol. One example is kprobes (both compiled
and the dynamic events) which rely on this to resolve the function
name to attach a kprobe/kretprobe to.
Address this by also calling the cleanup_symbol_name() helper from
kallsyms_lookup_name() when failing to match a symbol by name.
This will strip off the hash suffix, if any, and attempt the
strcmp() again.
Bug: 167595670
Change-Id: I4c79c818c29b4b82a94a5a7e86ae9783a41e853d
Signed-off-by: Jack Pham <[email protected]>
Consider a case where copy_from_iter_full fails and it
leads the driver to free the buffer which is allocated
for io_data but in ffs_free_buffer function, driver checks
for io_data->buf, which is NULL in this case, and it returns
without freeing the buffer causing memory leak. Fix this by
assigning data to io_data->buf right after memory allocation
for io_data is successful.
Change-Id: I20719fdeed603b74fe05215ec057d4cc22379ab2
Signed-off-by: Pratham Pratap <[email protected]>
Use the property INPUT_CURRENT_LIMIT to suspend and un-suspend
USB and DC paths.
Change-Id: Id0636e7c792c63156597d5db4e9087bd5fdc262f
Signed-off-by: Anirudh Ghayal <[email protected]>
This enables the detection of VBUS going high or low on sdxlemur
platforms where USB peripheral uses VBUS_DET peripheral from PMX65.
Change-Id: I0a30944de02403ed7b777380c3e75708f033a5bc
Signed-off-by: Guru Das Srinagesh <[email protected]>
This upgrades some types from declaration-only tracking to full type
tracking, but creates this one-time churn.
Bug: 158736583
Signed-off-by: Matthias Maennich <[email protected]>
Change-Id: I39f778d7660fb4065eec2ecb6dd1ed47816e25b6
Add support for sdxlemur CPU clock driver for
controlling cpu clocks.
Change-Id: I02325424dabfe96f7357844cb69a368fc04afba9
Signed-off-by: Naveen Yadav <[email protected]>