|
@@ -217,7 +217,7 @@ void ctcm_purge_skb_queue(struct sk_buff_head *q)
|
|
CTCM_DBF_TEXT(TRACE, CTC_DBF_DEBUG, __func__);
|
|
CTCM_DBF_TEXT(TRACE, CTC_DBF_DEBUG, __func__);
|
|
|
|
|
|
while ((skb = skb_dequeue(q))) {
|
|
while ((skb = skb_dequeue(q))) {
|
|
- atomic_dec(&skb->users);
|
|
|
|
|
|
+ refcount_dec(&skb->users);
|
|
dev_kfree_skb_any(skb);
|
|
dev_kfree_skb_any(skb);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -271,7 +271,7 @@ static void chx_txdone(fsm_instance *fi, int event, void *arg)
|
|
priv->stats.tx_bytes += 2;
|
|
priv->stats.tx_bytes += 2;
|
|
first = 0;
|
|
first = 0;
|
|
}
|
|
}
|
|
- atomic_dec(&skb->users);
|
|
|
|
|
|
+ refcount_dec(&skb->users);
|
|
dev_kfree_skb_irq(skb);
|
|
dev_kfree_skb_irq(skb);
|
|
}
|
|
}
|
|
spin_lock(&ch->collect_lock);
|
|
spin_lock(&ch->collect_lock);
|
|
@@ -297,7 +297,7 @@ static void chx_txdone(fsm_instance *fi, int event, void *arg)
|
|
skb_put(ch->trans_skb, skb->len), skb->len);
|
|
skb_put(ch->trans_skb, skb->len), skb->len);
|
|
priv->stats.tx_packets++;
|
|
priv->stats.tx_packets++;
|
|
priv->stats.tx_bytes += skb->len - LL_HEADER_LENGTH;
|
|
priv->stats.tx_bytes += skb->len - LL_HEADER_LENGTH;
|
|
- atomic_dec(&skb->users);
|
|
|
|
|
|
+ refcount_dec(&skb->users);
|
|
dev_kfree_skb_irq(skb);
|
|
dev_kfree_skb_irq(skb);
|
|
i++;
|
|
i++;
|
|
}
|
|
}
|
|
@@ -1248,7 +1248,7 @@ static void ctcmpc_chx_txdone(fsm_instance *fi, int event, void *arg)
|
|
priv->stats.tx_bytes += 2;
|
|
priv->stats.tx_bytes += 2;
|
|
first = 0;
|
|
first = 0;
|
|
}
|
|
}
|
|
- atomic_dec(&skb->users);
|
|
|
|
|
|
+ refcount_dec(&skb->users);
|
|
dev_kfree_skb_irq(skb);
|
|
dev_kfree_skb_irq(skb);
|
|
}
|
|
}
|
|
spin_lock(&ch->collect_lock);
|
|
spin_lock(&ch->collect_lock);
|
|
@@ -1298,7 +1298,7 @@ static void ctcmpc_chx_txdone(fsm_instance *fi, int event, void *arg)
|
|
data_space -= skb->len;
|
|
data_space -= skb->len;
|
|
priv->stats.tx_packets++;
|
|
priv->stats.tx_packets++;
|
|
priv->stats.tx_bytes += skb->len;
|
|
priv->stats.tx_bytes += skb->len;
|
|
- atomic_dec(&skb->users);
|
|
|
|
|
|
+ refcount_dec(&skb->users);
|
|
dev_kfree_skb_any(skb);
|
|
dev_kfree_skb_any(skb);
|
|
peekskb = skb_peek(&ch->collect_queue);
|
|
peekskb = skb_peek(&ch->collect_queue);
|
|
if (peekskb->len > data_space)
|
|
if (peekskb->len > data_space)
|
|
@@ -1795,7 +1795,7 @@ static void ctcmpc_chx_send_sweep(fsm_instance *fsm, int event, void *arg)
|
|
fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
|
|
fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
|
|
goto done;
|
|
goto done;
|
|
} else {
|
|
} else {
|
|
- atomic_inc(&skb->users);
|
|
|
|
|
|
+ refcount_inc(&skb->users);
|
|
skb_queue_tail(&wch->io_queue, skb);
|
|
skb_queue_tail(&wch->io_queue, skb);
|
|
}
|
|
}
|
|
|
|
|