s32k3xx:lpi2c DMA transaction only need the status conditioned

With DMA enabled on some I2C channels but not all
   the Non DMA channels were failing.

   The cause was condition the status with only the enabled
   interrupts on non DMA chennels. This conditioning needs
   to only happen in DMA enabled channels
This commit is contained in:
David Sidrane 2023-10-25 03:34:37 -07:00 committed by Petro Karashchenko
parent 1b5aeb1a08
commit 506f725a19

View File

@ -1187,12 +1187,12 @@ static int s32k3xx_lpi2c_isr_process(struct s32k3xx_lpi2c_priv_s *priv)
#ifdef CONFIG_S32K3XX_LPI2C_DMA
uint32_t current_status = status;
/* Condition the status with only the enabled interrupts */
status &= s32k3xx_lpi2c_getenabledints(priv);
if (priv->rxdma != NULL || priv->txdma != NULL)
{
/* Condition the status with only the enabled interrupts */
status &= s32k3xx_lpi2c_getenabledints(priv);
/* Is there an Error condition */
if (current_status & LPI2C_MSR_LIMITED_ERROR_MASK)