]> Git Repo - linux.git/blobdiff - drivers/hid/hid-thrustmaster.c
dsa: mv88e6xxx: Include tagger overhead when setting MTU for DSA and CPU ports
[linux.git] / drivers / hid / hid-thrustmaster.c
index cdc7d82ae9eda9a95e881e0d0fb04fce52d79f89..d44550aa880573c037857be00ae94582e7fac644 100644 (file)
@@ -173,6 +173,7 @@ static void thrustmaster_interrupts(struct hid_device *hdev)
 
                if (ret) {
                        hid_err(hdev, "setup data couldn't be sent\n");
+                       kfree(send_buf);
                        return;
                }
        }
@@ -253,6 +254,7 @@ static void thrustmaster_remove(struct hid_device *hdev)
 
        usb_kill_urb(tm_wheel->urb);
 
+       kfree(tm_wheel->change_request);
        kfree(tm_wheel->response);
        kfree(tm_wheel->model_request);
        usb_free_urb(tm_wheel->urb);
@@ -336,11 +338,14 @@ static int thrustmaster_probe(struct hid_device *hdev, const struct hid_device_i
        );
 
        ret = usb_submit_urb(tm_wheel->urb, GFP_ATOMIC);
-       if (ret)
+       if (ret) {
                hid_err(hdev, "Error %d while submitting the URB. I am unable to initialize this wheel...\n", ret);
+               goto error6;
+       }
 
        return ret;
 
+error6: kfree(tm_wheel->change_request);
 error5: kfree(tm_wheel->response);
 error4: kfree(tm_wheel->model_request);
 error3: usb_free_urb(tm_wheel->urb);
This page took 0.042218 seconds and 4 git commands to generate.