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

Commit fea14e68 authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: gadget: u_ether: use better list accessors



We have helpers for some of these, let's rely on them instead of open
coding what they do in u_ether.c

Signed-off-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
parent aad7c259
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -401,13 +401,12 @@ static int alloc_requests(struct eth_dev *dev, struct gether *link, unsigned n)
static void rx_fill(struct eth_dev *dev, gfp_t gfp_flags)
{
	struct usb_request	*req;
	struct usb_request	*tmp;
	unsigned long		flags;

	/* fill unused rxq slots with some skb */
	spin_lock_irqsave(&dev->req_lock, flags);
	while (!list_empty(&dev->rx_reqs)) {
		req = container_of(dev->rx_reqs.next,
				struct usb_request, list);
	list_for_each_entry_safe(req, tmp, &dev->rx_reqs, list) {
		list_del_init(&req->list);
		spin_unlock_irqrestore(&dev->req_lock, flags);

@@ -527,7 +526,7 @@ static netdev_tx_t eth_start_xmit(struct sk_buff *skb,
		return NETDEV_TX_BUSY;
	}

	req = container_of(dev->tx_reqs.next, struct usb_request, list);
	req = list_first_entry(&dev->tx_reqs, struct usb_request, list);
	list_del(&req->list);

	/* temporarily stop TX queue when the freelist empties */
@@ -1122,6 +1121,7 @@ void gether_disconnect(struct gether *link)
{
	struct eth_dev		*dev = link->ioport;
	struct usb_request	*req;
	struct usb_request	*tmp;

	WARN_ON(!dev);
	if (!dev)
@@ -1138,9 +1138,7 @@ void gether_disconnect(struct gether *link)
	 */
	usb_ep_disable(link->in_ep);
	spin_lock(&dev->req_lock);
	while (!list_empty(&dev->tx_reqs)) {
		req = container_of(dev->tx_reqs.next,
					struct usb_request, list);
	list_for_each_entry_safe(req, tmp, &dev->tx_reqs, list) {
		list_del(&req->list);

		spin_unlock(&dev->req_lock);
@@ -1152,9 +1150,7 @@ void gether_disconnect(struct gether *link)

	usb_ep_disable(link->out_ep);
	spin_lock(&dev->req_lock);
	while (!list_empty(&dev->rx_reqs)) {
		req = container_of(dev->rx_reqs.next,
					struct usb_request, list);
	list_for_each_entry_safe(req, tmp, &dev->rx_reqs, list) {
		list_del(&req->list);

		spin_unlock(&dev->req_lock);