lkml.org 
[lkml]   [2010]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[012/156] i2c-i801: Dont use the block buffer for I2C block writes
    2.6.33-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Jean Delvare <khali@linux-fr.org>

    commit c074c39d62306efa5ba7c69c1a1531bc7333d252 upstream.

    Experience has shown that the block buffer can only be used for SMBus
    (not I2C) block transactions, even though the datasheet doesn't
    mention this limitation.

    Reported-by: Felix Rubinstein <felixru@gmail.com>
    Signed-off-by: Jean Delvare <khali@linux-fr.org>
    Cc: Oleg Ryjkov <oryjkov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/i2c/busses/i2c-i801.c | 6 ++++--
    1 file changed, 4 insertions(+), 2 deletions(-)

    --- a/drivers/i2c/busses/i2c-i801.c
    +++ b/drivers/i2c/busses/i2c-i801.c
    @@ -415,9 +415,11 @@ static int i801_block_transaction(union
    data->block[0] = 32; /* max for SMBus block reads */
    }

    + /* Experience has shown that the block buffer can only be used for
    + SMBus (not I2C) block transactions, even though the datasheet
    + doesn't mention this limitation. */
    if ((i801_features & FEATURE_BLOCK_BUFFER)
    - && !(command == I2C_SMBUS_I2C_BLOCK_DATA
    - && read_write == I2C_SMBUS_READ)
    + && command != I2C_SMBUS_I2C_BLOCK_DATA
    && i801_set_block_buffer_mode() == 0)
    result = i801_block_transaction_by_block(data, read_write,
    hwpec);



    \
     
     \ /
      Last update: 2010-03-31 01:57    [W:0.020 / U:89.376 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site