commit 2dd15654ac0abe587a245a09a7823bbbd588bfb7 upstream.
In f2fs_fill_super, if there is any IO error occurs during recovery,
cached discard entries will be leaked, in order to avoid this, make
write_checkpoint() handle memory release by itself, besides, move
clear_prefree_segments to write_checkpoint for readability.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
commit 2411cf5befa5804e4ced4c45a3212d7653869286 upstream.
During nid allocation, it needs to exclude building and allocating flow
of free nids, this is because while building free nid cache, there are two
steps: a) load free nids from unused nat entries in NAT pages, b) update
free nid cache by checking nat journal. The two steps should be atomical,
otherwise an used nid can be allocated as free one after a) and before b).
This patch adds missing lock which covers build_free_nids in
unlock_operation and f2fs_balance_fs_bg to avoid that.
Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
commit 8508e44ae98622f841f5ef29d0bf3d5db4e0c1cc upstream.
We don't guarantee cp_addr is fixed by cp_version.
This is to sync with f2fs-tools.
Cc: stable@vger.kernel.org
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
commit e87f7329bbd6760c2acc4f1eb423362b08851a71 upstream.
In the last ilen case, i was already increased, resulting in accessing out-
of-boundary entry of do_replace and blkaddr.
Fix to check ilen first to exit the loop.
Fixes: 2aa8fbb9693020 ("f2fs: refactor __exchange_data_block for speed up")
Cc: stable@vger.kernel.org # 4.8+
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
commit 073931017b49d9458aa351605b43a7e34598caef upstream.
Cherry-pick to f2fs only for generic/375 from:
(073931017: posix_acl: Clear SGID bit when setting file permissions)
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
commit de0dcc40f6e24d6bac6b60e36eac4659bbbd3f00 upstream.
This patch fixes using a wrong pointer for sum_page in f2fs_gc.
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
make change to check return value of __qseecom_process_reentrancy,
and modify error processing.
Change-Id: I6a37de79f6c6b4245b9654ea9724b51e62b8e7a2
Signed-off-by: Zhen Kong <zkong@codeaurora.org>
Fix the handling of HDCP repeaters to mark part II
of the authentication as failure if they do not have
any devices connected to them.
Change-Id: I6b21ed2ce9a280f7e200404b05d111508a6d3dd8
Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org>
Exception event can be raised by the device when system
suspend is in progress. This will result in unclocked
register access in exception event handler as clocks will
be turned off during suspend. This change makes sure to flush
exception event handler work in suspend before disabling
clocks to avoid unclocked register access issue.
Change-Id: I5a089a0387790a12f4cc3213c75e9677467a2a07
Signed-off-by: Sayali Lokhande <sayalil@codeaurora.org>
After the crashdumper runs once, and the user sets the
snapshot_crashdumper sysfs node to 0, it is possible that stale data
is saved off into the snapshot. Check the value of the sysfs node at
the appropriate place to force a re-read of the data through the
legacy path.
Change-Id: Icf27c39b68d786003c33fd0eb22bd3e8b9a036be
Signed-off-by: Lynus Vaz <lvaz@codeaurora.org>
Secure display entry/exit should be accompanied
by null commit in video mode to make sure there is
no non secure access.
Change-Id: I7928a2465de9c46f69e963977931f7a6618f01fb
Signed-off-by: Animesh Kishore <animeshk@codeaurora.org>
This reverts commit c5616f2f874faa20b59b116177b99bf3948586df.
If we re-init the per-cpu boostgroup spinlock every time that
we add a new boosted cgroup, we can easily wipe out (reinit)
a spinlock struct while in a critical section. We should only
be setting up the per-cpu boostgroup data, and the spin_lock
initialization need only happen once - which we're already
doing in a postcore_initcall.
For example:
-------- CPU 0 -------- | -------- CPU1 --------
cgroupX boost group added |
schedtune_enqueue_task |
acquires(bg->lock) | cgroupY boost group added
| for_each_cpu()
| raw_spin_lock_init(bg->lock)
releases(bg->lock) |
BUG (already unlocked) |
|
This results in the following BUG from the debug spinlock code:
BUG: spinlock already unlocked on CPU#5, rcuop/6/68
Change-Id: I3016702780b461a0cd95e26c538cd18df27d6316
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
To prevent un-initialized address returning from MHI
state transition lookup table, move mhi_states_transition_str
array out of stack
CRs-Fixed: 2111049
Change-Id: Ife5f907a711cc0c615161f2b2a677275d6773686
Signed-off-by: Sujeev Dias <sdias@codeaurora.org>
When using debugfs dev_boot node to trigger firmware download,
debug state should be set as well so that subsequence shutdown
and powerup can be handled correctly.
Change-Id: Id85d28dca104f8938d78655d682a0a7d1491c04c
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>
DRM test failed in 4K display. It is caused by
wrong configuration of physical pipe and flush
mask for layer mixer.
Change-Id: I0d2d50cf24ba2265c9f5b874526c5e4013e47d9e
CRs-Fixed: 2065974
Signed-off-by: Yujun Zhang <yujunzhang@codeaurora.org>
During firmware data read, it may leads to cross the max
range. Add a check to validate data size with in the max
range.
Change-Id: I12b3c1761214a7d2af2c45ad73bf61954c8398b6
Signed-off-by: Archana Obannagari <aobann@codeaurora.org>
This reverts commit c5616f2f874faa20b59b116177b99bf3948586df.
If we re-init the per-cpu boostgroup spinlock every time that
we add a new boosted cgroup, we can easily wipe out (reinit)
a spinlock struct while in a critical section. We should only
be setting up the per-cpu boostgroup data, and the spin_lock
initialization need only happen once - which we're already
doing in a postcore_initcall.
For example:
-------- CPU 0 -------- | -------- CPU1 --------
cgroupX boost group added |
schedtune_enqueue_task |
acquires(bg->lock) | cgroupY boost group added
| for_each_cpu()
| raw_spin_lock_init(bg->lock)
releases(bg->lock) |
BUG (already unlocked) |
|
This results in the following BUG from the debug spinlock code:
BUG: spinlock already unlocked on CPU#5, rcuop/6/68
CRs-fixed: 2113062
Change-Id: I1cd780d9ba5801cf99bfe46504b18a88e45f17a8
Signed-off-by: Vikram Mulukutla <markivx@codeaurora.org>
HDR playback needs metadata to be sent to the sink
while the playback is ongoing and needs a proper
teardown sequence when the playback has ended with respect
to the infoframe being sent to the sink.
This needs a state machine to synchronize start/stop of
the playback with sending the right metadata along with
resetting the infoframe HDMI registers.
Add support for this HDR playback control state machine.
Change-Id: I58ff03bc8db99febd17e0a0853acc74668892ea8
Signed-off-by: Ch Ganesh Kumar <chganesh@codeaurora.org>
Msm8996 adp lite board has two displays, native HDMI display and one
DSI-HDMI display through ADV7533 bridge chip. So only one ADV7533
instance is needed here. And at the meanwhile, total sde_kms components
need to match the configuration, otherwise, display driver probe will be
skipped due to this mismatch.
Change-Id: If596a64a9e47416e0810039914a958cae61c7e3e
CRs-Fixed: 2113147
Signed-off-by: Guchun Chen <guchunc@codeaurora.org>
Adding capability to read OIS data, provided in the driver
register settings.
CRs-Fixed: 2114654
Change-Id: Ie10b55f597a4daa29267c6d4333ce9d9c7702d63
Signed-off-by: Xu Han <hanxu@codeaurora.org>
Added feature to configure video h/w to send empty output buffer
for skipped frame due to rate control.
Change-Id: Id47344c3bae216fec6384ff205bcb658ec27cb06
Signed-off-by: Shiju Mathew <shijum@codeaurora.org>
Support primary TDM interface dai link and export kcontrols to update
primary TDM interface slot configuration.
CRs-fixed: 2095930
Change-Id: I693b99f295f6476c96d681e10459842c0011467f
Signed-off-by: Cong Tang <congt@codeaurora.org>
Add asynchronous probe support so that CNSS2 platform driver is
able to probe in parallel with other device drivers which can
help to reduce kernel boot time.
Change-Id: I740cddafd7e3acfed19416b4183ad2487198a751
CRS-fixed: 2071634
Signed-off-by: Yue Ma <yuem@codeaurora.org>
Platform driver only forces FW assert for supported devices.
Return proper error code for nonsupported devices so that WLAN
host driver can handle properly.
Change-Id: Iaf88f64564b14425404404db6a7789a7913db74f
CRs-fixed: 2059087
Signed-off-by: Yue Ma <yuem@codeaurora.org>