From: Hector Martin <mar...@marcan.st> This ensures we get all information we need to debug issues when users forward us their logs.
Signed-off-by: Hector Martin <mar...@marcan.st> Reviewed-by: Neal Gompa <n...@gompa.dev> Reviewed-by: Alyssa Rosenzweig <aly...@rosenzweig.io> Signed-off-by: Sven Peter <s...@svenpeter.dev> --- drivers/i2c/busses/i2c-pasemi-core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-pasemi-core.c b/drivers/i2c/busses/i2c-pasemi-core.c index 41db38d82fe62c73614b8fafe4cb73c7d1a24762..e5e8a748638f02e48d6ffa65e49aff5b12f70e06 100644 --- a/drivers/i2c/busses/i2c-pasemi-core.c +++ b/drivers/i2c/busses/i2c-pasemi-core.c @@ -22,6 +22,7 @@ /* Register offsets */ #define REG_MTXFIFO 0x00 #define REG_MRXFIFO 0x04 +#define REG_XFSTA 0x0c #define REG_SMSTA 0x14 #define REG_IMASK 0x18 #define REG_CTL 0x1c @@ -89,7 +90,7 @@ static void pasemi_reset(struct pasemi_smbus *smbus) static int pasemi_smb_clear(struct pasemi_smbus *smbus) { - unsigned int status; + unsigned int status, xfstatus; int ret; /* First wait for the bus to go idle */ @@ -98,7 +99,9 @@ static int pasemi_smb_clear(struct pasemi_smbus *smbus) USEC_PER_MSEC, USEC_PER_MSEC * TRANSFER_TIMEOUT_MS); if (ret < 0) { - dev_err(smbus->dev, "Bus is still stuck (status 0x%08x)\n", status); + xfstatus = reg_read(smbus, REG_XFSTA); + dev_err(smbus->dev, "Bus is still stuck (status 0x%08x xfstatus 0x%08x)\n", + status, xfstatus); return -EIO; } -- 2.34.1