usb: gadget: u_bam_data: Add support for BAM reset

This change adds the capability for f_qc_rndis, f_qc_ecm and
f_mbim running in BAM-to-BAM mode, to perform USB BAM reset,
upon a peer BAM reset.

The u_bam_data registers a callback from USB BAM driver, to be
notified about peer BAM reset. When the callback is invoked,
USB BAM reset is executed.

Change-Id: Ia7d8f4a5bbef78c83e0ca0891511547001df29a9
CRs-Fixed: 424867
Signed-off-by: Amit Blay <ablay@codeaurora.org>
diff --git a/drivers/usb/gadget/f_mbim.c b/drivers/usb/gadget/f_mbim.c
index 98c6dbc..16a40dd 100644
--- a/drivers/usb/gadget/f_mbim.c
+++ b/drivers/usb/gadget/f_mbim.c
@@ -659,7 +659,7 @@
 	pr_info("dev:%p port:%d. Do nothing.\n",
 			dev, dev->port_num);
 
-	/* bam_data_disconnect(&dev->bam_port, dev->port_num); */
+	bam_data_disconnect(&dev->bam_port, dev->port_num);
 
 	return 0;
 }
@@ -1273,7 +1273,6 @@
 		if (mbim->bam_port.in->driver_data) {
 			pr_info("reset mbim\n");
 			mbim_reset_values(mbim);
-			mbim_bam_disconnect(mbim);
 		}
 
 		/*