lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 667/717] mtd: rawnand: qcom: Fix DMA sync on FLASH_STATUS register read
    Date
    From: Praveenkumar I <ipkumar@codeaurora.org>

    commit bc3686021122de953858a5be4cbf6e3f1d821e79 upstream.

    After each codeword NAND_FLASH_STATUS is read for possible operational
    failures. But there is no DMA sync for CPU operation before reading it
    and this leads to incorrect or older copy of DMA buffer in reg_read_buf.

    This patch adds the DMA sync on reg_read_buf for CPU before reading it.

    Fixes: 5bc36b2bf6e2 ("mtd: rawnand: qcom: check for operation errors in case of raw read")
    Cc: stable@vger.kernel.org
    Signed-off-by: Praveenkumar I <ipkumar@codeaurora.org>
    Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
    Link: https://lore.kernel.org/linux-mtd/1602230872-25616-1-git-send-email-ipkumar@codeaurora.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/mtd/nand/raw/qcom_nandc.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/drivers/mtd/nand/raw/qcom_nandc.c
    +++ b/drivers/mtd/nand/raw/qcom_nandc.c
    @@ -1570,6 +1570,8 @@ static int check_flash_errors(struct qco
    struct qcom_nand_controller *nandc = get_qcom_nand_controller(chip);
    int i;

    + nandc_read_buffer_sync(nandc, true);
    +
    for (i = 0; i < cw_cnt; i++) {
    u32 flash = le32_to_cpu(nandc->reg_read_buf[i]);


    \
     
     \ /
      Last update: 2020-12-28 15:40    [W:4.050 / U:1.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site