|
@@ -313,13 +313,12 @@ extern void qdisc_calculate_pkt_len(struct sk_buff *skb,
|
|
|
extern void tcf_destroy(struct tcf_proto *tp);
|
|
|
extern void tcf_destroy_chain(struct tcf_proto **fl);
|
|
|
|
|
|
-/* Reset all TX qdiscs of a device. */
|
|
|
-static inline void qdisc_reset_all_tx(struct net_device *dev)
|
|
|
+/* Reset all TX qdiscs greater then index of a device. */
|
|
|
+static inline void qdisc_reset_all_tx_gt(struct net_device *dev, unsigned int i)
|
|
|
{
|
|
|
- unsigned int i;
|
|
|
struct Qdisc *qdisc;
|
|
|
|
|
|
- for (i = 0; i < dev->num_tx_queues; i++) {
|
|
|
+ for (; i < dev->num_tx_queues; i++) {
|
|
|
qdisc = netdev_get_tx_queue(dev, i)->qdisc;
|
|
|
if (qdisc) {
|
|
|
spin_lock_bh(qdisc_lock(qdisc));
|
|
@@ -329,6 +328,11 @@ static inline void qdisc_reset_all_tx(struct net_device *dev)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+static inline void qdisc_reset_all_tx(struct net_device *dev)
|
|
|
+{
|
|
|
+ qdisc_reset_all_tx_gt(dev, 0);
|
|
|
+}
|
|
|
+
|
|
|
/* Are all TX queues of the device empty? */
|
|
|
static inline bool qdisc_all_tx_empty(const struct net_device *dev)
|
|
|
{
|