lkml.org 
[lkml]   [2012]   [Mar]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/3] i2c-eg20t: Call init() when wait-event timeout occurs
    Date

    Signed-off-by: Tomoya MORINAGA <tomoya.rohm@gmail.com>
    ---
    drivers/i2c/busses/i2c-eg20t.c | 16 ++++++++++++++++
    1 files changed, 16 insertions(+), 0 deletions(-)

    diff --git a/drivers/i2c/busses/i2c-eg20t.c b/drivers/i2c/busses/i2c-eg20t.c
    index d73975b..714b070 100644
    --- a/drivers/i2c/busses/i2c-eg20t.c
    +++ b/drivers/i2c/busses/i2c-eg20t.c
    @@ -445,7 +445,9 @@ static s32 pch_i2c_writebytes(struct i2c_adapter *i2c_adap,
    pch_i2c_init(adap);
    return -EAGAIN;
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }
    } else {
    @@ -469,7 +471,9 @@ static s32 pch_i2c_writebytes(struct i2c_adapter *i2c_adap,
    pch_i2c_init(adap);
    return -EAGAIN;
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }

    @@ -490,7 +494,9 @@ static s32 pch_i2c_writebytes(struct i2c_adapter *i2c_adap,
    pch_clrbit(adap->pch_base_address, PCH_I2CSR,
    I2CMIF_BIT);
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }
    }
    @@ -598,7 +604,9 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs,
    pch_i2c_init(adap);
    return -EAGAIN;
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }
    pch_i2c_restart(adap);
    @@ -621,7 +629,9 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs,
    pch_i2c_init(adap);
    return -EAGAIN;
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }
    } else {
    @@ -648,7 +658,9 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs,
    pch_i2c_init(adap);
    return -EAGAIN;
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }

    @@ -677,7 +689,9 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs,
    return -EIO;
    }
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }

    @@ -698,7 +712,9 @@ static s32 pch_i2c_readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msgs,
    return -EIO;
    }
    } else { /* wait-event timeout */
    + pch_err(adap, "%s(L.%d):wait-event timeout\n", __func__, __LINE__);
    pch_i2c_stop(adap);
    + pch_i2c_init(adap);
    return -ETIME;
    }

    --
    1.7.7.6


    \
     
     \ /
      Last update: 2012-03-26 08:03    [W:0.032 / U:122.856 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site