2020-10-21 12:44:07

by Jing Xiangfeng

[permalink] [raw]
Subject: [PATCH] ssb: Fix error return in ssb_bus_scan()

Fix to return error code -EINVAL from the error handling case instead
of 0.

Signed-off-by: Jing Xiangfeng <[email protected]>
---
drivers/ssb/scan.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c
index f49ab1aa2149..4161e5d1f276 100644
--- a/drivers/ssb/scan.c
+++ b/drivers/ssb/scan.c
@@ -325,6 +325,7 @@ int ssb_bus_scan(struct ssb_bus *bus,
if (bus->nr_devices > ARRAY_SIZE(bus->devices)) {
pr_err("More than %d ssb cores found (%d)\n",
SSB_MAX_NR_CORES, bus->nr_devices);
+ err = -EINVAL;
goto err_unmap;
}
if (bus->bustype == SSB_BUSTYPE_SSB) {
--
2.17.1


2020-10-22 06:01:14

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH] ssb: Fix error return in ssb_bus_scan()

On 10/21/20 2:33 AM, Jing Xiangfeng wrote:
> Fix to return error code -EINVAL from the error handling case instead
> of 0.
>
> Signed-off-by: Jing Xiangfeng <[email protected]>
> ---
> drivers/ssb/scan.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/ssb/scan.c b/drivers/ssb/scan.c
> index f49ab1aa2149..4161e5d1f276 100644
> --- a/drivers/ssb/scan.c
> +++ b/drivers/ssb/scan.c
> @@ -325,6 +325,7 @@ int ssb_bus_scan(struct ssb_bus *bus,
> if (bus->nr_devices > ARRAY_SIZE(bus->devices)) {
> pr_err("More than %d ssb cores found (%d)\n",
> SSB_MAX_NR_CORES, bus->nr_devices);
> + err = -EINVAL;
> goto err_unmap;
> }
> if (bus->bustype == SSB_BUSTYPE_SSB) {
>

You misread the code. The current version is returning -ENOMEM, not 0 for this
error. Returning -EINVAL could be regarded as as better value; however, this
error is not likely to appear and it does not make much difference!

In any case, the commit message is wrong. NACK.

Larry