diff --git a/libavfilter/vf_hwmap.c b/libavfilter/vf_hwmap.c
index c40ed4baf77a97f0fa0dac99ada743282dd31c91..4f6f69a7aa37da8154756a2b7dd8d00f8bc449cc 100644
--- a/libavfilter/vf_hwmap.c
+++ b/libavfilter/vf_hwmap.c
@@ -77,6 +77,7 @@ static int hwmap_config_output(AVFilterLink *outlink)
             type = av_hwdevice_find_type_by_name(ctx->derive_device_type);
             if (type == AV_HWDEVICE_TYPE_NONE) {
                 av_log(avctx, AV_LOG_ERROR, "Invalid device type.\n");
+                err = AVERROR(EINVAL);
                 goto fail;
             }