This patch contains fixes to prevent the CRTC's atomic check
from inadvertently adding extra plane states to the current
state object.
CRs-Fixed: 2037970
Change-Id: Ic0b09ab369f77c2412ba7c3e63fe5032ef9bcd74
Signed-off-by: Clarence Ip <cip@codeaurora.org>
virtual is a protected keyword in C++ and can't be used at all. Ugh.
This aligns the kernel versions of the drm headers with the ones in
libdrm.
v2: Also annote with __user, as request by Emil&Ilia.
CRs-Fixed: 2038080
Change-Id: I184b99e51fc5c6efd4eb6f5ed9da2858b7972a6e
Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1459350753-18320-1-git-send-email-daniel.vetter@ffwll.ch
Git-commit: 4c4925fa0c2b5943655ef28b2d6a379961db551f
Git-repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4c4925f
Signed-off-by: Manoj Kumar AVM <manojavm@codeaurora.org>
Replace mutex lock by spinlock in icnss_wlan_set_dfs_nol
as dfs module may call this function in timer context
which will result apps crash.
CRs-Fixed: 2044689
Change-Id: Ib820589cd8b120a39536aab69d6954ba8cc35e3c
Signed-off-by: Arif Hussain <arifhussain@codeaurora.org>
Signed-off-by: Yuanyuan Liu <yuanliu@codeaurora.org>
While using the sysfs entry for getting the different bit values
of EXT_CSD register, it is returned by sprintf(). But sprintf() has
been deprecated, that's why replace with safe function snprintf().
By using this patch, PAGE_SIZE(4Kb) is the max number of characters
store in a buffer.
Change-Id: Ifb3dc39e8d3728094fff10c7e761dc19fdfaa854
Signed-off-by: Siba Prasad <sibap@codeaurora.org>
Uninitialized key_index local variable in sdhci_msm_ice_cmdq_cfg() would
be passed as it is to sdhci_msm_ice_hci_update_cmdq_cfg()
/sdhci_msm_ice_update_cfg() when request is not valid. So initialize
this variable with right value.
Without this change, its causing KW warning.
Change-Id: Ibf2f3973e8e2143b303196133758534846437b46
Signed-off-by: Siba Prasad <sibap@codeaurora.org>
Previously local variable ice_set in ufs_qcom_ice_cfg_start() function
was initialized only if qcom_host->ice.vops->config_start was set.
If that was not set, then the uninitialized value of ice_set might have
lead to incorrect configuration of ICE.
So initialize the variable regardless the value of config_start.
Change-Id: I16692902d9f5b8df00ae2ffc7c363413d13e932a
Signed-off-by: Siba Prasad <sibap@codeaurora.org>
Add TrueHD format selection to ASM compressed
open and remove it from non-compressed open.
Change-Id: I94b61958e71d3a0d3aec2aa0206cf35698399d34
Signed-off-by: Ben Romberger <bromberg@codeaurora.org>
If it happens that usb_qdss_close() gets called before
completion of qdss_connect_work(), there is a chance that endless
request being accessed in connect_work(), which will be freed in
usb_qdss_close(). Fix that issue by having proper check for
endless request under spinlock protection.
Change-Id: Ied14137e01bf685547c093b907484b4dee583fda
Signed-off-by: Vijayavardhan Vennapusa <vvreddy@codeaurora.org>
Add new nodes for multiple neutrino interfaces. This is for
differentiating multiple neutrino interfaces connected to
different RC.
CRs-Fixed: 1060701
Change-Id: I6f9f7c050d5736fdf3e6bf45257ae410b7190c3b
Signed-off-by: Jaiju Yesudasan <cjaijuy@codeaurora.org>
Simplify the clearing of the topology name by moving it directly
to the release resources call.
Change-Id: If1926372b276f01f64138691b805493d1894951a
Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org>
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
This option allow CNSS platform driver to use asynchronous
probe for auto platform.
Change-Id: I54c997be995e3fb660779a18fd848dcbc325c49a
Signed-off-by: Wei Li <weili@codeaurora.org>
Add option CONFIG_CNSS_ASYNC to allow CNSS platform driver probe
asynchronously for boot time optimization in auto platform
Change-Id: Id1fcb8991a47ae56098a9bbd6ff570e22d6450d6
Signed-off-by: Wei Li <weili@codeaurora.org>
SDE HDMI driver capabilities were capped
to 1080P due to lack of dual pipe support in userspace.
Relax this restriction as full userspace support to
allow dual pipe support is now available.
Change-Id: If8242ea3c65a901ceb3e1004ac40b29ab8554c4b
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
This flag is primarily being used for WLAN to support WLAN
hardware which cannot handle "> 32 bit" physical addresses for
DMA.
Disable this flag for the perf variant of msm8998. This flag forces DMA
addresses to be in 32 bit region. Using this flag with ihelium WLAN
solution (which can handle 64 bit physical DMA addresses) is causing a
reduction in peak KPIs for TCP RX.
Since kernel 4.4 is being used only by ihelium and not being used
for older versions of WLAN hardware (e.g. ROME), we can safely disable
this flag.
CRs-Fixed: 2044326
Change-Id: If2e7d4bab15f6211e91b1095a8ac6c2bf7e9000e
Signed-off-by: Mohit Khanna <mkhannaqca@codeaurora.org>
Invoke operation is processed at couple of places in trusted env;
in TZ kernel and/or in TZ apps. If TZ kernel returns an error,
SMCInvoke driver does not process output params and returns
appropriate err to userspace. However, if error is returned from
trusted apps, SMCInvoke still processes output params and returns error
to userspace. Now, SMCInvoke driver will not process output params if
trusted app returns an error. Userspace is also expected to follow the
same rule.
Change-Id: Ic58e37ba714d4b384e3fa9206419c69ddd852b4a
Signed-off-by: Dinesh K Garg <dineshg@codeaurora.org>
Based on the duration of the pattern, haptics mode and other
parameters needs to be configured dynamically for a better
performance and ease of use. Add support for this through device
tree property "qcom,lra-auto-mode".
Add support to configure some parameters like auto resonance
mode, LRA high-Z period, calibration period, vmax along with an
option to override the settings done by auto_mode configuration.
Change-Id: I4706fed4e3ca97d190f907769fd4a9899479b330
Signed-off-by: Subbaraman Narayanamurthy <subbaram@codeaurora.org>
Add support to handle new ADSP ASM stream event APIs for
different applications.
Change-Id: Id1e7b9b2841449ceb70099722d834b51c198f04e
Signed-off-by: Kuirong Wang <kuirongw@codeaurora.org>
Signed-off-by: Vidyakumar Athota <vathota@codeaurora.org>
60g frequency range and outdoor for EU updated.
Remove blanks lines as they must not be used.
Change-Id: I35395e8d770521514fc704aa71ccd5c74274b0ff
Signed-off-by: Hamad Kadmany <hkadmany@codeaurora.org>
Adding perf defconfig for APQ8098 mediabox.
APQ8098 Display driver is moving away from Framebuffer (CONFIG_FB)
configuration to DRM (CONFIG_DRM) configuration and mediabox is using
ATH10k wlan driver.
Change-Id: I6f0b52a4beca9b3367d9fc52127aa57426685355
Signed-off-by: Shadab Naseem <snaseem@codeaurora.org>
The ath10k snoc driver has two work handlers for the qmi event
processing and serializations of event processing. These two
event work handler must be sync and canceled in driver remove
method to avoid module unload and load failure due to the active
event work handler during device object memory free.
Change-Id: I546c6ba5404e6a26b22b5ef6155e092e279f2c71
Signed-off-by: Sarada Prasanna Garnayak <sgarna@codeaurora.org>
Enable OnSemi external buck regulator driver to provide
the supply for graphics rail on msm8996-auto board.
Change-Id: I0e7a37aca19fba94c17fb34c81753115b9fe6d7c
Signed-off-by: Kiran Gunda <kgunda@codeaurora.org>
Fix error path for hbtp touch screen driver where error
variable is not initialized to a error value before bailing
out from the driver function.
Change-Id: Ife3376891950216971cafaf33fd8308697b7f904
Signed-off-by: Shantanu Jain <shjain@codeaurora.org>
add support on wan-driver to query modem or
wlan-fw to get the total data usage for all
tethered clients.
Change-Id: I56f40f1c0f6b2ec4279e78b3aeb81c687d08bf2e
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
When resetting a GSI channel a special handling is needed
if there is an open aggregation frame. This handling is applied
to USB and MHI channels. This commit applies this handling to
GPI (system) channels as well.
Change-Id: Iebdf3d7375a4bd584c75503f01e64d7106f25e5a
CRs-Fixed: 2029089
Acked-by: Ady Abraham <adya@qti.qualcomm.com>
Signed-off-by: Skylar Chang <chiaweic@codeaurora.org>
HDMI connector should wait for audio codec status and notify
HPD status only in case that audio codec has been registered
successfully. Meanwhile move HPD notification to bridge enable
and disable instead of hotplug work. This ensures the correct
video and audio sequence.
Change-Id: I0dac915c8639bb881265a608016e9d37ec9a153c
Signed-off-by: Ray Zhang <rayz@codeaurora.org>
Initialize the hlos_ce_hw_instance[] array otherwise
this can lead to assigning qseecom.ce_drv.instance
with garbage value in failure cases.
Change-Id: I5b8fb574468a6a09fcd0f7f1dc7caf11f31374a7
Signed-off-by: Brahmaji K <bkomma@codeaurora.org>
Currently, TZ is performing merging of resource groups
due to which NOC error is happening during access of
memory allocated to diag. This patch fixes the issue
by adding guard bytes so that merging of resource
groups will not happen.
CRs-Fixed: 2026525
Change-Id: I9829e5a07aef723c4261aa16dd5274cfeb1a75a3
Signed-off-by: Mohit Aggarwal <maggarwa@codeaurora.org>
These errors might result in access of uninitialized memory leading to
kernel panic.
Change-Id: I24da5aecd15bd1918e9caf669ed341155a41d6a3
Signed-off-by: Rupesh Tatiya <rtatiya@codeaurora.org>
commit 4617f564c06117c7d1b611be49521a4430042287 upstream.
When calling a dm ioctl that doesn't process any data
(IOCTL_FLAGS_NO_PARAMS), the contents of the data field in struct
dm_ioctl are left initialized. Current code is incorrectly extending
the size of data copied back to user, causing the contents of kernel
stack to be leaked to user. Fix by only copying contents before data
and allow the functions processing the ioctl to override.
Signed-off-by: Adrian Salido <salidoa@google.com>
Reviewed-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 13bf9fbff0e5e099e2b6f003a0ab8ae145436309 upstream.
The NFSv2/v3 code does not systematically check whether we decode past
the end of the buffer. This generally appears to be harmless, but there
are a few places where we do arithmetic on the pointers involved and
don't account for the possibility that a length could be negative. Add
checks to catch these.
Reported-by: Tuomas Haanpää <thaan@synopsys.com>
Reported-by: Ari Kauppi <ari@synopsys.com>
Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit db44bac41bbfc0c0d9dd943092d8bded3c9db19b upstream.
Use a couple shortcuts that will simplify a following bugfix.
(Minor backporting required to account for a change from f34b95689d
"The NFSv2/NFSv3 server does not handle zero length WRITE requests
correctly".)
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 03a8bb0e53d9562276045bdfcf2b5de2e4cff5a1 upstream.
As Al pointed, d_revalidate should return RCU lookup before using d_inode.
This was originally introduced by:
commit 34286d6662 ("fs: rcu-walk aware d_revalidate method").
Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 3d43bcfef5f0548845a425365011c499875491b0 upstream.
This avoids potential problems caused by a race where the inode gets
renamed out from its parent directory and the parent directory is
deleted while ext4_d_revalidate() is running.
Fixes: 28b4c263961c
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 28b4c263961c47da84ed8b5be0b5116bad1133eb upstream.
Add a validation check for dentries for encrypted directory to make
sure we're not caching stale data after a key has been added or removed.
Also check to make sure that status of the encryption key is updated
when readdir(2) is executed.
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 9a200d075e5d05be1fcad4547a0f8aee4e2f9a04 upstream.
...otherwise an user can enable encryption for certain files even
when the filesystem is unable to support it.
Such a case would be a filesystem created by mkfs.ext4's default
settings, 1KiB block size. Ext4 supports encyption only when block size
is equal to PAGE_SIZE.
But this constraint is only checked when the encryption feature flag
is set.
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The driver causes two warnings about possibly uninitialized variables:
drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf':
drivers/infiniband/hw/ehca/ehca_mrmw.c:1908:4: warning: 'prev_pgaddr' may be used uninitialized in this function [-Wmaybe-uninitialized]
drivers/infiniband/hw/ehca/ehca_mrmw.c:1924:14: note: 'prev_pgaddr' was declared here
drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_reg_mr':
drivers/infiniband/hw/ehca/ehca_mrmw.c:2430:5: warning: 'hret' may be used uninitialized in this function [-Wmaybe-uninitialized]
The first one is definitely a false positive, the second one may or may not
be one. In both cases, adding an intialization is the safe and easy
workaround.
The driver was removed in mainline in commit e581d111dad3
("staging/rdma: remove deprecated ehca driver"), in linux-4.6.
In 4.4, the file is located in drivers/staging/rdma/ehca/ehca_mrmw.c,
and the fix still applies.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
We get this build warning on arm64
drivers/infiniband/hw/qib/qib_qp.c:44:0: error: "BITS_PER_PAGE" redefined [-Werror]
#define BITS_PER_PAGE (PAGE_SIZE*BITS_PER_BYTE)
This is fixed upstream in commit 898fa52b4ac3 ("IB/qib: Remove qpn, qp tables and
related variables from qib"), which does a lot of other things as well.
Instead, I just backport the rename of the local BITS_PER_PAGE definition to
RVT_BITS_PER_PAGE.
The driver first showed up in linux-2.6.35, and the fixup should still apply
to that. The upstream fix went into v4.6, so we could apply this workaround
to both 3.18 and 4.4.
Fixes: f931551baf ("IB/qib: Add new qib driver for QLogic PCIe InfiniBand adapters")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The backport of d35c99ff77ec ("netlink: do not enter direct reclaim from
netlink_dump()") to the 4.4 branch (first in 4.4.32) mistakenly removed
direct claim from the initial large allocation _and_ the fallback
allocation which means that allocations can spuriously fail.
Fix the issue by adding back the direct reclaim flag to the fallback
allocation.
Fixes: 6d123f1d39 ("netlink: do not enter direct reclaim from netlink_dump()")
Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit c130b666a9a711f985a0a44b58699ebe14bb7245 upstream.
Commit f209fa03fc9d ("serial: 8250_pci: Detach low-level driver during
PCI error recovery") introduces a potential use-after-free in case the
pciserial_init_ports call in serial8250_io_resume fails, which may
happen if a memory allocation fails or if the .init quirk failed for
whatever reason). If this happen, further pci_get_drvdata will return a
pointer to freed memory.
This patch reworks the PCI recovery resume hook to restore the old priv
structure in this case, which should be ok, since the ports were already
detached. Such error during recovery causes us to give up on the
recovery.
Fixes: f209fa03fc9d ("serial: 8250_pci: Detach low-level driver during PCI error recovery")
Reported-by: Michal Suchanek <msuchanek@suse.com>
Signed-off-by: Gabriel Krisman Bertazi <krisman@linux.vnet.ibm.com>
Signed-off-by: Guilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 05dab43230fdc0d14ca885b473a2740fe017ecb1 upstream.
When an EEH occurs during device initialization, the port timeout logic
can cause excessive delays as MMIO reads will fail. Depending on where
they are experienced, these delays can lead to a prolonged reset,
causing an unnecessary triggering of other timeout logic in the SCSI
stack or user applications.
To expedite recovery, the port timeout logic is updated to decay the
timeout at a much faster rate when in the presence of a likely EEH
frozen event.
Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit 1d3324c382b1a617eb567e3650dcb51f22dfec9a upstream.
The EEH reset handler is ignorant to the current state of the driver
when processing a frozen event and initiating a device reset. This can
be an issue if an EEH event occurs while a user or stack initiated reset
is executing. More specifically, if an EEH occurs while the SCSI host
reset handler is active, the reset initiated by the EEH thread will
likely collide with the host reset thread. This can leave the device in
an inconsistent state, or worse, cause a system crash.
As a remedy, the EEH handler is updated to evaluate the device state and
take appropriate action (proceed, wait, or disconnect host). The host
reset handler is also updated to handle situations where an EEH occurred
during a host reset. In such situations, the host reset handler will
delay reporting back a success to give the EEH reset an opportunity to
complete.
Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Acked-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit bbbfae962b7c221237c0f92547ee0c83f7204747 upstream.
When a port link is established, the AFU sends a 'link up' interrupt.
After the link is up, corresponding initialization steps are performed
on the card. Following that, when the card is ready for I/O, the AFU
sends 'login succeeded' interrupt. Today, cxlflash invokes
scsi_scan_host() upon receipt of both interrupts.
SCSI commands sent to the port prior to the 'login succeeded' interrupt
will fail with 'port not available' error. This is not desirable.
Moreover, when async_scan is active for the host, subsequent scan calls
are terminated with error. Due to this, the scsi_scan_host() call
performed after 'login succeeded' interrupt could portentially return
error and the devices may not be scanned properly.
To avoid this problem, scsi_scan_host() should be called only after the
'login succeeded' interrupt.
Signed-off-by: Uma Krishnan <ukrishn@linux.vnet.ibm.com>
Acked-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit e434e04110704eb91acfecbd0fb8ca8e2da9c29b upstream.
The tg3_set_eeprom() function correctly initializes the 'start' variable,
but gcc generates a false warning:
drivers/net/ethernet/broadcom/tg3.c: In function 'tg3_set_eeprom':
drivers/net/ethernet/broadcom/tg3.c:12057:4: warning: 'start' may be used uninitialized in this function [-Wmaybe-uninitialized]
I have not come up with a way to restructure the code in a way that
avoids the warning without making it less readable, so this adds an
initialization for the declaration to shut up that warning.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit fddcca5107051adf9e4481d2a79ae0616577fd2c upstream.
When map_word gets too large, we use a lot of kernel stack, and for
MTD_MAP_BANK_WIDTH_32, this means we use more than the recommended
1024 bytes in a number of functions:
drivers/mtd/chips/cfi_cmdset_0020.c: In function 'cfi_staa_write_buffers':
drivers/mtd/chips/cfi_cmdset_0020.c:651:1: warning: the frame size of 1336 bytes is larger than 1024 bytes [-Wframe-larger-than=]
drivers/mtd/chips/cfi_cmdset_0020.c: In function 'cfi_staa_erase_varsize':
drivers/mtd/chips/cfi_cmdset_0020.c:972:1: warning: the frame size of 1208 bytes is larger than 1024 bytes [-Wframe-larger-than=]
drivers/mtd/chips/cfi_cmdset_0001.c: In function 'do_write_buffer':
drivers/mtd/chips/cfi_cmdset_0001.c:1835:1: warning: the frame size of 1240 bytes is larger than 1024 bytes [-Wframe-larger-than=]
This can be avoided if all operations on the map word are done
indirectly and the stack gets reused between the calls. We can
mostly achieve this by selecting MTD_COMPLEX_MAPPINGS whenever
MTD_MAP_BANK_WIDTH_32 is set, but for the case that no other
bank width is enabled, we also need to use a non-constant
map_bankwidth() to convince the compiler to use less stack.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[Brian: this patch mostly achieves its goal by forcing
MTD_COMPLEX_MAPPINGS (and the accompanying indirection) for 256-bit
mappings; the rest of the change is mostly a wash, though it helps
reduce stack size slightly. If we really care about supporting
256-bit mappings though, we should consider rewriting some of this
code to avoid keeping and assigning so many 256-bit objects on the
stack.]
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>