usb: rmnet: Fix UL flow control with bam mux

Check flow control threshold before queuing packets to bam mux to
avoid packet overflow and resulting errors from bam mux

Change-Id: I6c1cf9d0f4b0f5a3f42eefef9687b517e84d0ace
Signed-off-by: Vamsi Krishna <vskrishn@codeaurora.org>
diff --git a/drivers/usb/gadget/u_bam.c b/drivers/usb/gadget/u_bam.c
index e37ddbf..1de8fc1 100644
--- a/drivers/usb/gadget/u_bam.c
+++ b/drivers/usb/gadget/u_bam.c
@@ -274,7 +274,13 @@
 		return;
 	}
 
-	while ((skb = __skb_dequeue(&d->rx_skb_q))) {
+	while (!bam_mux_rx_fctrl_support ||
+			(d->pending_with_bam < bam_mux_rx_fctrl_en_thld)) {
+		skb =  __skb_dequeue(&d->rx_skb_q);
+		if (!skb) {
+			spin_unlock_irqrestore(&port->port_lock, flags);
+			return;
+		}
 		d->pending_with_bam++;
 		d->to_modem++;