aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/media-device.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/media-device.c')
-rw-r--r--drivers/media/media-device.c27
1 files changed, 14 insertions, 13 deletions
diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index 61883abaf095..14bd568e2f41 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -151,24 +151,25 @@ static long __media_device_enum_links(struct media_device *mdev,
}
if (links->links) {
- struct media_link *ent_link;
- struct media_link_desc __user *ulink = links->links;
+ struct media_link *link;
+ struct media_link_desc __user *ulink_desc = links->links;
- list_for_each_entry(ent_link, &entity->links, list) {
- struct media_link_desc link;
+ list_for_each_entry(link, &entity->links, list) {
+ struct media_link_desc klink_desc;
/* Ignore backlinks. */
- if (ent_link->source->entity != entity)
+ if (link->source->entity != entity)
continue;
- memset(&link, 0, sizeof(link));
- media_device_kpad_to_upad(ent_link->source,
- &link.source);
- media_device_kpad_to_upad(ent_link->sink,
- &link.sink);
- link.flags = ent_link->flags;
- if (copy_to_user(ulink, &link, sizeof(*ulink)))
+ memset(&klink_desc, 0, sizeof(klink_desc));
+ media_device_kpad_to_upad(link->source,
+ &klink_desc.source);
+ media_device_kpad_to_upad(link->sink,
+ &klink_desc.sink);
+ klink_desc.flags = link->flags;
+ if (copy_to_user(ulink_desc, &klink_desc,
+ sizeof(*ulink_desc)))
return -EFAULT;
- ulink++;
+ ulink_desc++;
}
}