i2c: aspeed: Fix the dummy irq expected print

When the i2c error condition occurred and master state was not
idle, the master irq function will goto complete state without any
other interrupt handling. It would cause dummy irq expected print.
Under this condition, assign the irq_status into irq_handle.

For example, when the abnormal start / stop occurred (bit 5) with
normal stop status (bit 4) at same time. Then the normal stop status
would not be handled and it would cause irq expected print in
the aspeed_i2c_bus_irq.

...
aspeed-i2c-bus x. i2c-bus: irq handled != irq.
Expected 0x00000030, but was 0x00000020
...

Fixes: 3e9efc3299dd ("i2c: aspeed: Handle master/slave combined irq events properly")
Cc: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
Signed-off-by: Tommy Huang <tommy_huang@aspeedtech.com>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>

authored by Tommy Huang and committed by Wolfram Sang ac168d67 97fd62e3

Changed files
+1
drivers
i2c
busses
+1
drivers/i2c/busses/i2c-aspeed.c
··· 445 445 irq_status); 446 446 irq_handled |= (irq_status & ASPEED_I2CD_INTR_MASTER_ERRORS); 447 447 if (bus->master_state != ASPEED_I2C_MASTER_INACTIVE) { 448 + irq_handled = irq_status; 448 449 bus->cmd_err = ret; 449 450 bus->master_state = ASPEED_I2C_MASTER_INACTIVE; 450 451 goto out_complete;