platform/x86: sony-laptop: Mark expected switch fall-through
Subsystems (2)
PATCH 1/1 platform/x86: sony-laptop: Mark expected switch fall-through
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.
--- drivers/platform/x86/sony-laptop.c | 1 + 1 file changed, 1 insertion(+)
drivers/platform/x86/sony-laptop.c +1 -0
@@ -4427,6 +4427,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)default :dprintk ("Resource %d isn't an IRQ nor an IO port\n" , resource->type); +/* fall through */ case ACPI_RESOURCE_TYPE_END_TAG :return AE_OK ;
Signature · 1 line
2.7.4
Quoted 13 lines · Gustavo A. R. Silva
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/platform/x86/sony-laptop.c | 1 + 1 file changed, 1 insertion(+)drivers/platform/x86/sony-laptop.c +0
-0
drivers/platform/x86/sony-laptop.c sony_pic_read_possible_resource(struct acpi_resource *resource, void *context) · line 4430
Quoted 4 lines
drivers/platform/x86/sony-laptop.c +1
-0@@ -4427,6 +4427,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)default :dprintk ("Resource %d isn't an IRQ nor an IO port\n" , resource->type); +/* fall through */
Here too, I wonder if this is intentional. Either way, from what I can see, the final line in the function:
return AE_CTRL_TERMINATE;
Is unreachable as there are no "break" statements in the switch, and the default falls through to return AE_OK. Something doesn't seem right here.
Signature · 2 lines
Darren Hart VMware Open Source Technology Center
Quoted 4 lines · Darren Hart
return AE_CTRL_TERMINATE;Is unreachable as there are no "break" statements in the switch, and the default falls through to return
AE_OK. Something doesn't seem right here.
Darren, I didn't look at the code in question, though just to clarify such error codes.
If the function used in acpi_walk_namespace() or alike, AE_OK means "To continue", while AE_CTRL_TERMINATE to "stop, whatever we looked for is found right now".
Signature · 2 lines
With Best Regards, Andy Shevchenko
Mattia Dongili
maintainerQuoted 22 lines · Darren Hart
Quoted 13 lines · Gustavo A. R. Silva
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/platform/x86/sony-laptop.c | 1 + 1 file changed, 1 insertion(+)drivers/platform/x86/sony-laptop.c +0
-0drivers/platform/x86/sony-laptop.c sony_pic_read_possible_resource(struct acpi_resource *resource, void *context) · line 4430
Quoted 4 lines
drivers/platform/x86/sony-laptop.c +1
-0@@ -4427,6 +4427,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)default :dprintk ("Resource %d isn't an IRQ nor an IO port\n" , resource->type); +/* fall through */ Here too, I wonder if this is intentional. Either way, from what I can see, the final line in the function:
Quoted 4 lines
return AE_CTRL_TERMINATE;Is unreachable as there are no "break" statements in the switch, and the default falls through to return
AE_OK. Something doesn't seem right here.
I think so too. Looks to me that the default case was meant to return AE_CTRL_TERMINATE (i.e. swapping it to be last would do).
Having written that code aeons ago, I'm not sure if there is a good reason to be like that, though it still looks like a bug (that existed ever since...).
Want to fix it as part of this patch series? Or I can send a patch myself, let me know.
Signature · 2 lines
mattia :wq!
Quoted 31 lines · Mattia Dongili
Quoted 22 lines · Darren Hart
Quoted 13 lines · Gustavo A. R. Silva
In preparation to enabling -Wimplicit-fallthrough, mark switch cases where we are expecting to fall through.
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/platform/x86/sony-laptop.c | 1 + 1 file changed, 1 insertion(+)drivers/platform/x86/sony-laptop.c +0
-0drivers/platform/x86/sony-laptop.c sony_pic_read_possible_resource(struct acpi_resource *resource, void *context) · line 4430
Quoted 4 lines
drivers/platform/x86/sony-laptop.c +1
-0@@ -4427,6 +4427,7 @@ sony_pic_read_possible_resource(struct acpi_resource *resource, void *context)default :dprintk ("Resource %d isn't an IRQ nor an IO port\n" , resource->type); +/* fall through */ Here too, I wonder if this is intentional. Either way, from what I can see, the final line in the function:
Quoted 4 lines
return AE_CTRL_TERMINATE;Is unreachable as there are no "break" statements in the switch, and the default falls through to return
AE_OK. Something doesn't seem right here.I think so too. Looks to me that the default case was meant to return
AE_CTRL_TERMINATE(i.e. swapping it to be last would do).
Quoted 6 lines
Having written that code aeons ago, I'm not sure if there is a good reason to be like that, though it still looks like a bug (that existed ever since...).
Want to fix it as part of this patch series? Or I can send a patch myself, let me know.
Mattia,
I'd prefer to decouple the fix from the implicit fall through discussion. Please send a separate fix.
Signature · 2 lines
Darren Hart VMware Open Source Technology Center