Selaa lähdekoodia

ctcm_fsms: Convert skb->user accesses to refcount_t

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
David S. Miller 8 vuotta sitten
vanhempi
commit
bba5850c8b
1 muutettua tiedostoa jossa 6 lisäystä ja 6 poistoa
  1. 6 6
      drivers/s390/net/ctcm_fsms.c

+ 6 - 6
drivers/s390/net/ctcm_fsms.c

@@ -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);
 	}
 	}