Commit Graph

14 Commits

Author SHA1 Message Date
zhangshoukui
1413fc0c1b drivers/rwbuffer: Set nblocks 0 after using wrflush(skip rwbuffer)
Signed-off-by: zhangshoukui <zhangshoukui@xiaomi.com>
Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-09-10 15:22:03 +08:00
ChenChuang
1d19c6abe3 fix: call rwb->rhreload() when nblocks > 0
There is no need to call rwb->rhreloade() when nblocks is 0,
and some platform(eg: BES) has the limit that the parameter
of len in pltatform flash read function cant't be 0.
2024-05-17 19:15:49 +08:00
dongjiuzhu1
e2f1ccdefc drivers/misc/rwbuffer: fix rwbuffer overflow issue
issue:
in rwb_wrflush():
memmove(rwb->wrbuffer + padblocks * rwb->blocksize,
rwb->wrbuffer, rwb->wrnblocks * rwb->blocksize);

when the offest from rwb->wrblockstart to startblock plus rwb->wrnblocks is greater
than rwb->wralignblocks, it will be causing memory overflow since rwb->wrbuffer is
allocated rwb.wrmaxblock(rwb.wralignblocks) blocks.

fix:
Let us ensure that the wrblockstart in rwbuffer must be aligned according to
wralignblocks after writing, so there is no need to perform memmove when flushing

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-23 10:28:52 +08:00
dongjiuzhu1
0d609c451b Revert "fix: the bug about rwbuffer causing mem overflow"
This reverts commit e43aa99ae8.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2024-04-23 10:28:52 +08:00
ChenChuang
e43aa99ae8 fix: the bug about rwbuffer causing mem overflow
when the offest from rwb->wrblockstart to startblock
plus rwb->wrnblocks is greater than rwb->wralignblocks,
it will be causing memory overflow since rwb->wrbuffer is
allocated rwb.wrmaxblock(rwb.wralignblocks) blocks.
2024-04-20 11:58:12 -03:00
guohao15
2740f377eb ftl: fix ftl_flush will read/erase beyond the end of the partition
Signed-off-by: guohao15 <guohao15@xiaomi.com>
2023-08-19 21:47:14 +08:00
dongjiuzhu1
1a609c53d7 misc/rwbuffer: using unify lock function for lock and unlock
if disable CONFIG_DRVR_WRITEBUFFER, the lock and unlock will misc match.

Signed-off-by: dongjiuzhu1 <dongjiuzhu1@xiaomi.com>
2023-07-28 05:10:39 -07:00
Radek Pesina
3ba792cb52 Fix missing instantiation of return value in rwb_mediaremoved. 2023-04-27 17:03:25 +08:00
chao an
74cfa7ddb9 drivers/misc/rwbuffer: destroy nxmutex/nxsem properly
Signed-off-by: chao an <anchao@xiaomi.com>
2022-11-21 01:15:48 +08:00
anjiahao
d7b4e91dda Call nxsem_destroy or nxmutex_destry in the error path
1.Don't check the return value of nxsem_init or nxmutex_init
2.Fix some style issue

Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-30 13:56:52 +01:00
anjiahao
d1d46335df Replace nxsem API when used as a lock with nxmutex API
Signed-off-by: anjiahao <anjiahao@xiaomi.com>
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-10-17 15:59:46 +09:00
chao.an
55df6e951e drivers: Fix compiler errors
riscv64-unknown-elf-ld: staging/libdrivers.a(rwbuffer.o): in function `rwb_flush':
rwbuffer.c:(.text.rwb_flush+0x12): undefined reference to `rwb_forcetake'

Signed-off-by: chenwen@espressif.com <chenwen@espressif.com>
Signed-off-by: chao.an <anchao@xiaomi.com>
2022-08-22 23:03:30 +08:00
Nathan Hartman
dd718e78f7 Fix typos 2022-08-07 23:33:19 +08:00
Xiang Xiao
90c01bde28 drivers: Move the common driver to misc folder
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2022-03-12 02:48:21 +08:00