}
 
        switch (data & SWAUX_STATUS_MASK) {
-       /* Ignore the DEFER cases as they are already handled in hardware */
        case SWAUX_STATUS_NACK:
        case SWAUX_STATUS_I2C_NACK:
                /*
        case SWAUX_STATUS_ACKM:
                len = data & SWAUX_M_MASK;
                break;
+       case SWAUX_STATUS_DEFER:
+       case SWAUX_STATUS_I2C_DEFER:
+               if (is_native_aux)
+                       msg->reply |= DP_AUX_NATIVE_REPLY_DEFER;
+               else
+                       msg->reply |= DP_AUX_I2C_REPLY_DEFER;
+               len = data & SWAUX_M_MASK;
+               break;
        case SWAUX_STATUS_INVALID:
                return -EOPNOTSUPP;
        case SWAUX_STATUS_TIMEOUT: