]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
USB: udl: proper error reporting
authorOliver Neukum <oneukum@suse.de>
Mon, 19 May 2014 11:50:22 +0000 (13:50 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 May 2014 23:03:58 +0000 (16:03 -0700)
Parsing device descriptors can fail due to a failed memory
allocation. The error needs to be properly propagated to the
upper layers.

Signed-off-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/udl/udl_main.c

index f5ae57406f3447eacf3dbce309583ae303628824..afdf383f630a4640b9cfea40c49790807bf64dd4 100644 (file)
@@ -283,7 +283,7 @@ int udl_submit_urb(struct drm_device *dev, struct urb *urb, size_t len)
 int udl_driver_load(struct drm_device *dev, unsigned long flags)
 {
        struct udl_device *udl;
 int udl_driver_load(struct drm_device *dev, unsigned long flags)
 {
        struct udl_device *udl;
-       int ret;
+       int ret = -ENOMEM;
 
        DRM_DEBUG("\n");
        udl = kzalloc(sizeof(struct udl_device), GFP_KERNEL);
 
        DRM_DEBUG("\n");
        udl = kzalloc(sizeof(struct udl_device), GFP_KERNEL);
@@ -299,7 +299,6 @@ int udl_driver_load(struct drm_device *dev, unsigned long flags)
        }
 
        if (!udl_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) {
        }
 
        if (!udl_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) {
-               ret = -ENOMEM;
                DRM_ERROR("udl_alloc_urb_list failed\n");
                goto err;
        }
                DRM_ERROR("udl_alloc_urb_list failed\n");
                goto err;
        }