The wake token cannot be sent without ignoring the nack for the device address Signed-off-by: Jianhui Zhao <zhaojh329@xxxxxxxxx> --- drivers/crypto/atmel-i2c.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/atmel-i2c.c b/drivers/crypto/atmel-i2c.c index 1d3355913b40..13624cde67e8 100644 --- a/drivers/crypto/atmel-i2c.c +++ b/drivers/crypto/atmel-i2c.c @@ -3,6 +3,7 @@ * Microchip / Atmel ECC (I2C) driver. * * Copyright (c) 2017, Microchip Technology Inc. + * Copyright (c) 2020 Jianhui Zhao <zhaojh329@xxxxxxxxx> * Author: Tudor Ambarus <tudor.ambarus@xxxxxxxxxxxxx> */ @@ -176,7 +177,8 @@ static int atmel_i2c_wakeup(struct i2c_client *client) * device is idle, asleep or during waking up. Don't check for error * when waking up the device. */ - i2c_master_send(client, i2c_priv->wake_token, i2c_priv->wake_token_sz); + i2c_transfer_buffer_flags(client, i2c_priv->wake_token, + i2c_priv->wake_token_sz, I2C_M_IGNORE_NAK); /* * Wait to wake the device. Typical execution times for ecdh and genkey -- 2.17.1