lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 5.4 007/320] mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings
    Hi!

    > commit f53d4c109a666bf1a4883b45d546fba079258717 upstream.
    >
    > gpmi_io clock needs to be gated off when changing the parent/dividers of
    > enfc_clk_root (i.MX6Q/i.MX6UL) respectively qspi2_clk_root (i.MX6SX).
    > Otherwise this rate change can lead to an unresponsive GPMI core which
    > results in DMA timeouts and failed driver probe:
    ...

    > @@ -2429,7 +2449,9 @@ static int gpmi_nfc_exec_op(struct nand_
    > */
    > if (this->hw.must_apply_timings) {
    > this->hw.must_apply_timings = false;
    > - gpmi_nfc_apply_timings(this);
    > + ret = gpmi_nfc_apply_timings(this);
    > + if (ret)
    > + return ret;
    > }
    >
    > dev_dbg(this->dev, "%s: %d instructions\n", __func__, op->ninstrs);
    >

    AFAICT this leaks pm reference in the error case. Not sure what
    variant is right, there, so...

    Best regards,
    Pavel

    diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    index 1b64c5a5140d..06840cff6945 100644
    --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c
    @@ -2284,8 +2284,10 @@ static int gpmi_nfc_exec_op(struct nand_chip *chip,
    if (this->hw.must_apply_timings) {
    this->hw.must_apply_timings = false;
    ret = gpmi_nfc_apply_timings(this);
    - if (ret)
    + if (ret) {
    + pm_runtime_put_....(this->dev);
    return ret;
    + }
    }

    dev_dbg(this->dev, "%s: %d instructions\n", __func__, op->ninstrs);

    --
    DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
    HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2022-01-24 22:47    [W:5.027 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site