diff options
-rw-r--r-- | drivers/base/platform.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/base/platform.c b/drivers/base/platform.c index 4d99c8bdfedc..26eb69d88eb6 100644 --- a/drivers/base/platform.c +++ b/drivers/base/platform.c | |||
@@ -191,13 +191,13 @@ int platform_device_add_resources(struct platform_device *pdev, | |||
191 | { | 191 | { |
192 | struct resource *r; | 192 | struct resource *r; |
193 | 193 | ||
194 | r = kmalloc(sizeof(struct resource) * num, GFP_KERNEL); | 194 | r = kmemdup(res, sizeof(struct resource) * num, GFP_KERNEL); |
195 | if (r) { | 195 | if (r) { |
196 | memcpy(r, res, sizeof(struct resource) * num); | ||
197 | pdev->resource = r; | 196 | pdev->resource = r; |
198 | pdev->num_resources = num; | 197 | pdev->num_resources = num; |
198 | return 0; | ||
199 | } | 199 | } |
200 | return r ? 0 : -ENOMEM; | 200 | return -ENOMEM; |
201 | } | 201 | } |
202 | EXPORT_SYMBOL_GPL(platform_device_add_resources); | 202 | EXPORT_SYMBOL_GPL(platform_device_add_resources); |
203 | 203 | ||