diff options
Diffstat (limited to 'kernel/resource.c')
-rw-r--r-- | kernel/resource.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/resource.c b/kernel/resource.c index 09c0597840b0..3669d1bfc425 100644 --- a/kernel/resource.c +++ b/kernel/resource.c | |||
@@ -1083,9 +1083,10 @@ struct resource * __request_region(struct resource *parent, | |||
1083 | if (!conflict) | 1083 | if (!conflict) |
1084 | break; | 1084 | break; |
1085 | if (conflict != parent) { | 1085 | if (conflict != parent) { |
1086 | parent = conflict; | 1086 | if (!(conflict->flags & IORESOURCE_BUSY)) { |
1087 | if (!(conflict->flags & IORESOURCE_BUSY)) | 1087 | parent = conflict; |
1088 | continue; | 1088 | continue; |
1089 | } | ||
1089 | } | 1090 | } |
1090 | if (conflict->flags & flags & IORESOURCE_MUXED) { | 1091 | if (conflict->flags & flags & IORESOURCE_MUXED) { |
1091 | add_wait_queue(&muxed_resource_wait, &wait); | 1092 | add_wait_queue(&muxed_resource_wait, &wait); |