summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc/kernel/of_device.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c
index 13a70bd87817..3ebe6cc71e71 100644
--- a/arch/sparc/kernel/of_device.c
+++ b/arch/sparc/kernel/of_device.c
@@ -488,9 +488,9 @@ static void __init build_device_resources(struct of_device *op,
build_res:
memset(r, 0, sizeof(*r));
if (result != OF_BAD_ADDR) {
- r->start = result;
+ r->start = result & 0xffffffff;
r->end = result + size - 1;
- r->flags = flags;
+ r->flags = flags | ((result >> 32ULL) & 0xffUL);
} else {
r->start = ~0UL;
r->end = ~0UL;