caif_dev.c (cebeb0f1885fa93c44be5d4e0b9b640210ff088c) caif_dev.c (4676a15207e3bc5e18b7e39b934ce0e890ee54fe)
1/*
2 * CAIF Interface registration.
3 * Copyright (C) ST-Ericsson AB 2010
4 * Author: Sjur Brendeland
5 * License terms: GNU General Public License (GPL) version 2
6 *
7 * Borrowed heavily from file: pn_dev.c. Thanks to Remi Denis-Courmont
8 * and Sakari Ailus <sakari.ailus@nokia.com>

--- 163 unchanged lines hidden (view full) ---

172 rcu_read_lock_bh();
173
174 skb = cfpkt_tonative(pkt);
175 skb->dev = caifd->netdev;
176 skb_reset_network_header(skb);
177 skb->protocol = htons(ETH_P_CAIF);
178
179 /* Check if we need to handle xoff */
1/*
2 * CAIF Interface registration.
3 * Copyright (C) ST-Ericsson AB 2010
4 * Author: Sjur Brendeland
5 * License terms: GNU General Public License (GPL) version 2
6 *
7 * Borrowed heavily from file: pn_dev.c. Thanks to Remi Denis-Courmont
8 * and Sakari Ailus <sakari.ailus@nokia.com>

--- 163 unchanged lines hidden (view full) ---

172 rcu_read_lock_bh();
173
174 skb = cfpkt_tonative(pkt);
175 skb->dev = caifd->netdev;
176 skb_reset_network_header(skb);
177 skb->protocol = htons(ETH_P_CAIF);
178
179 /* Check if we need to handle xoff */
180 if (likely(caifd->netdev->tx_queue_len == 0))
180 if (likely(caifd->netdev->priv_flags & IFF_NO_QUEUE))
181 goto noxoff;
182
183 if (unlikely(caifd->xoff))
184 goto noxoff;
185
186 if (likely(!netif_queue_stopped(caifd->netdev))) {
187 /* If we run with a TX queue, check if the queue is too long*/
188 txq = netdev_get_tx_queue(skb->dev, 0);

--- 386 unchanged lines hidden ---
181 goto noxoff;
182
183 if (unlikely(caifd->xoff))
184 goto noxoff;
185
186 if (likely(!netif_queue_stopped(caifd->netdev))) {
187 /* If we run with a TX queue, check if the queue is too long*/
188 txq = netdev_get_tx_queue(skb->dev, 0);

--- 386 unchanged lines hidden ---