IB/ehca: Make port autodetect mode the default
[safe/jmp/linux-2.6] / net / sched / sch_teql.c
index 428a5ef..9c002b6 100644 (file)
@@ -222,7 +222,7 @@ __teql_resolve(struct sk_buff *skb, struct sk_buff *skb_res, struct net_device *
 {
        struct netdev_queue *dev_queue = netdev_get_tx_queue(dev, 0);
        struct teql_sched_data *q = qdisc_priv(dev_queue->qdisc);
-       struct neighbour *mn = skb->dst->neighbour;
+       struct neighbour *mn = skb_dst(skb)->neighbour;
        struct neighbour *n = q->ncache;
 
        if (mn->tbl == NULL)
@@ -262,8 +262,8 @@ static inline int teql_resolve(struct sk_buff *skb,
                return -ENODEV;
 
        if (dev->header_ops == NULL ||
-           skb->dst == NULL ||
-           skb->dst->neighbour == NULL)
+           skb_dst(skb) == NULL ||
+           skb_dst(skb)->neighbour == NULL)
                return 0;
        return __teql_resolve(skb, skb_res, dev);
 }
@@ -308,6 +308,7 @@ restart:
                                if (!netif_tx_queue_stopped(slave_txq) &&
                                    !netif_tx_queue_frozen(slave_txq) &&
                                    slave_ops->ndo_start_xmit(skb, slave) == 0) {
+                                       txq_trans_update(slave_txq);
                                        __netif_tx_unlock(slave_txq);
                                        master->slaves = NEXT_SLAVE(q);
                                        netif_wake_queue(dev);
@@ -337,7 +338,7 @@ restart:
 
        if (busy) {
                netif_stop_queue(dev);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
        dev->stats.tx_errors++;