diff options
author | Michael Kelley <mhklinux@outlook.com> | 2024-11-06 16:42:46 +0100 |
---|---|---|
committer | Wei Liu <wei.liu@kernel.org> | 2024-12-09 19:44:14 +0100 |
commit | 96e052d1473843d644ceba2adf46d3d2180b8ca7 (patch) | |
tree | 1e8c05c3531043cce34659129dca3a6d204f97d6 /drivers/hv | |
parent | tools/hv: terminate fcopy daemon if read from uio fails (diff) | |
download | linux-96e052d1473843d644ceba2adf46d3d2180b8ca7.tar.xz linux-96e052d1473843d644ceba2adf46d3d2180b8ca7.zip |
Drivers: hv: util: Don't force error code to ENODEV in util_probe()
If the util_init function call in util_probe() returns an error code,
util_probe() always return ENODEV, and the error code from the util_init
function is lost. The error message output in the caller, vmbus_probe(),
doesn't show the real error code.
Fix this by just returning the error code from the util_init function.
There doesn't seem to be a reason to force ENODEV, as other errors
such as ENOMEM can already be returned from util_probe(). And the
code in call_driver_probe() implies that ENODEV should mean that a
matching driver wasn't found, which is not the case here.
Suggested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Michael Kelley <mhklinux@outlook.com>
Acked-by: Wei Liu <wei.liu@kernel.org>
Link: https://lore.kernel.org/r/20241106154247.2271-2-mhklinux@outlook.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
Message-ID: <20241106154247.2271-2-mhklinux@outlook.com>
Diffstat (limited to 'drivers/hv')
-rw-r--r-- | drivers/hv/hv_util.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c index c4f525325790..370722220134 100644 --- a/drivers/hv/hv_util.c +++ b/drivers/hv/hv_util.c @@ -590,10 +590,8 @@ static int util_probe(struct hv_device *dev, srv->channel = dev->channel; if (srv->util_init) { ret = srv->util_init(srv); - if (ret) { - ret = -ENODEV; + if (ret) goto error1; - } } /* |