ret = sp_tx_aux_rd(ctx, 0xf1);
 
                if (ret) {
-                       sp_tx_rst_aux(ctx);
+                       ret = sp_tx_rst_aux(ctx);
                        DRM_DEV_DEBUG_DRIVER(dev, "edid read fail, reset!\n");
                } else {
                        ret = anx7625_reg_block_read(ctx, ctx->i2c.rx_p0_client,
        if (cnt > EDID_TRY_CNT)
                return -EIO;
 
-       return 0;
+       return ret;
 }
 
 static int segments_edid_read(struct anx7625_data *ctx,
        if (cnt > EDID_TRY_CNT)
                return -EIO;
 
-       return 0;
+       return ret;
 }
 
 static int sp_tx_edid_read(struct anx7625_data *ctx,
        }
 
        /* Reset aux channel */
-       sp_tx_rst_aux(ctx);
+       ret = sp_tx_rst_aux(ctx);
+       if (ret < 0) {
+               DRM_DEV_ERROR(dev, "Failed to reset aux channel!\n");
+               return ret;
+       }
 
        return (blocks_num + 1);
 }