diff --git a/drivers/acpi/resources/rsxface.c b/drivers/acpi/resources/rsxface.c
index 5408e5d10cc34bf2fc3547d0aa30d9745d4938e4..50a956b705b00164275ae6c9ef2b9d563055f624 100644
--- a/drivers/acpi/resources/rsxface.c
+++ b/drivers/acpi/resources/rsxface.c
@@ -286,12 +286,6 @@ acpi_walk_resources(acpi_handle device_handle,
 			break;
 		}
 
-		/* end_tag indicates end-of-list */
-
-		if (resource->type == ACPI_RESOURCE_TYPE_END_TAG) {
-			break;
-		}
-
 		/* Invoke the user function, abort on any error returned */
 
 		status = user_function(resource, context);
@@ -304,6 +298,12 @@ acpi_walk_resources(acpi_handle device_handle,
 			break;
 		}
 
+		/* end_tag indicates end-of-list */
+
+		if (resource->type == ACPI_RESOURCE_TYPE_END_TAG) {
+			break;
+		}
+
 		/* Get the next resource descriptor */
 
 		resource =