Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b834e929 authored by Amit Pundir's avatar Amit Pundir
Browse files

Revert "USB: gadget: u_ether: Fix data stall issue in RNDIS tethering mode"



This reverts commit 78281f6e.

This data stall fix is no longer required in AOSP. It is already
skipped in android-4.9 patchset. Also core change from this
data stall fix is already undone by android-4.4 merge commit
324e88de ("Merge tag 'v4.4.32' into android-4.4.y").

This revert patch just clean up the left overs. It also reverts the
compile fix from Change-Id: I38c4f4a850b0329fb4a06b2c7e45558e16d66151
40ceb2c6 ("usb: gadget: Fix compilation problem with tx_qlen field").

Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
parent 29fa724a
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -66,7 +66,7 @@ struct eth_dev {

	spinlock_t		req_lock;	/* guard {rx,tx}_reqs */
	struct list_head	tx_reqs, rx_reqs;
	unsigned		tx_qlen;
	atomic_t		tx_qlen;
/* Minimum number of TX USB request queued to UDC */
#define TX_REQ_THRESHOLD	5
	int			no_tx_req_used;
@@ -568,6 +568,7 @@ static void tx_complete(struct usb_ep *ep, struct usb_request *req)
		dev_kfree_skb_any(skb);
	}

	atomic_dec(&dev->tx_qlen);
	if (netif_carrier_ok(dev->net))
		netif_wake_queue(dev->net);
}
@@ -746,7 +747,7 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb,
		req->no_interrupt = (((dev->gadget->speed == USB_SPEED_HIGH ||
				       dev->gadget->speed == USB_SPEED_SUPER)) &&
					!list_empty(&dev->tx_reqs))
			? ((dev->tx_qlen % dev->qmult) != 0)
			? ((atomic_read(&dev->tx_qlen) % dev->qmult) != 0)
			: 0;

	retval = usb_ep_queue(in, req, GFP_ATOMIC);
@@ -756,6 +757,7 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb,
		break;
	case 0:
		net->trans_start = jiffies;
		atomic_inc(&dev->tx_qlen);
	}

	if (retval) {
@@ -784,7 +786,7 @@ static void eth_start(struct eth_dev *dev, gfp_t gfp_flags)
	rx_fill(dev, gfp_flags);

	/* and open the tx floodgates */
	dev->tx_qlen = 0;
	atomic_set(&dev->tx_qlen, 0);
	netif_wake_queue(dev->net);
}