Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pkt_sched: Add qdisc_reset_all_tx().

Isolate callers that want to simply reset all the TX qdiscs from the
details of TX queues.

Use this in the ISDN code.

Signed-off-by: David S. Miller <davem@davemloft.net>

+7 -1
+1 -1
drivers/isdn/i4l/isdn_net.c
··· 287 287 BEWARE! This chunk of code cannot be called from hardware 288 288 interrupt handler. I hope it is true. --ANK 289 289 */ 290 - qdisc_reset(lp->netdev->dev->tx_queue.qdisc); 290 + qdisc_reset_all_tx(lp->netdev->dev); 291 291 } 292 292 lp->dialstate = 0; 293 293 dev->rx_netdev[isdn_dc2minor(lp->isdn_device, lp->isdn_channel)] = NULL;
+6
include/net/sch_generic.h
··· 227 227 extern void tcf_destroy(struct tcf_proto *tp); 228 228 extern void tcf_destroy_chain(struct tcf_proto **fl); 229 229 230 + /* Reset all TX qdiscs of a device. */ 231 + static inline void qdisc_reset_all_tx(struct net_device *dev) 232 + { 233 + qdisc_reset(dev->tx_queue.qdisc); 234 + } 235 + 230 236 static inline int __qdisc_enqueue_tail(struct sk_buff *skb, struct Qdisc *sch, 231 237 struct sk_buff_head *list) 232 238 {