]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
greybus: es2: Release reserved cports CDSI0 and CDSI1
authorVaibhav Agarwal <vaibhav.agarwal@linaro.org>
Fri, 27 May 2016 05:19:24 +0000 (10:49 +0530)
committerGreg Kroah-Hartman <gregkh@google.com>
Fri, 27 May 2016 18:27:28 +0000 (11:27 -0700)
Unique ids were reserved for CDSI0 and CDSI1 during _probe, however
missed to release those ids during disconnect. This causes a memory leak
of 128 bytes for each iteration of unipro_reset. Fix this.

Signed-off-by: Vaibhav Agarwal <vaibhav.agarwal@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/es2.c

index 24fef349eb363160c02ededc50fc5014fa7b61c0..fd59c143d0f3d68e4153de177fcf30d4066d9f66 100644 (file)
@@ -869,6 +869,10 @@ static void es2_destroy(struct es2_ap_dev *es2)
 
        kfree(es2->cport_to_ep);
 
+       /* release reserved CDSI0 and CDSI1 cports */
+       gb_hd_cport_release_reserved(es2->hd, ES2_CPORT_CDSI1);
+       gb_hd_cport_release_reserved(es2->hd, ES2_CPORT_CDSI0);
+
        udev = es2->usb_dev;
        gb_hd_put(es2->hd);