This fixes a small memory leak that happens every time the device is
plugged in.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
        if (retval != 2) {
                dev_err(&udev->dev, "First magic command failed: %d.\n",
                        retval);
-               return retval;
+               goto exit;
        }
 
        dbg(&udev->dev, "Sending second magic command\n");
        if (retval != 0) {
                dev_err(&udev->dev, "Second magic command failed: %d.\n",
                        retval);
-               return retval;
+               goto exit;
        }
 
        dbg(&udev->dev, "Calling set_configuration\n");
        if (retval)
                dev_err(&udev->dev, "Set Configuration failed :%d.\n", retval);
 
+exit:
+       kfree(dummy_buffer);
        return retval;
 }
 
        if (retval)
                dev_err(&udev->dev, "Set Configuration failed :%d.\n", retval);
 
+       kfree(dummy_buffer);
        return retval;
 }