From 0bbf62d215428281fb9736a9aa6529f433764652 Mon Sep 17 00:00:00 2001 From: Liu Yuan Date: Mon, 18 Apr 2011 10:44:38 +0000 Subject: [PATCH] --- yaml --- r: 251102 b: refs/heads/master c: 94cd1ae2fd251fd8206c043ce91a99a45439a116 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/video/udlfb.c | 19 ++++++++++++++++--- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 798c17282cfc..11c7450a91e4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6dbdf2a1cee23c34a66a35cfa2ae48e62e268dcb +refs/heads/master: 94cd1ae2fd251fd8206c043ce91a99a45439a116 diff --git a/trunk/drivers/video/udlfb.c b/trunk/drivers/video/udlfb.c index 695066b5b2e6..14b152a99d13 100644 --- a/trunk/drivers/video/udlfb.c +++ b/trunk/drivers/video/udlfb.c @@ -1587,10 +1587,19 @@ static int dlfb_usb_probe(struct usb_interface *interface, goto error; } - for (i = 0; i < ARRAY_SIZE(fb_device_attrs); i++) - device_create_file(info->dev, &fb_device_attrs[i]); + for (i = 0; i < ARRAY_SIZE(fb_device_attrs); i++) { + retval = device_create_file(info->dev, &fb_device_attrs[i]); + if (retval) { + pr_err("device_create_file failed %d\n", retval); + goto err_del_attrs; + } + } - device_create_bin_file(info->dev, &edid_attr); + retval = device_create_bin_file(info->dev, &edid_attr); + if (retval) { + pr_err("device_create_bin_file failed %d\n", retval); + goto err_del_attrs; + } pr_info("DisplayLink USB device /dev/fb%d attached. %dx%d resolution." " Using %dK framebuffer memory\n", info->node, @@ -1599,6 +1608,10 @@ static int dlfb_usb_probe(struct usb_interface *interface, info->fix.smem_len * 2 : info->fix.smem_len) >> 10); return 0; +err_del_attrs: + for (i -= 1; i >= 0; i--) + device_remove_file(info->dev, &fb_device_attrs[i]); + error: if (dev) {