]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/netpoll.h
vfs: remove unused MNT_STRICTATIME
[karo-tx-linux.git] / include / linux / netpoll.h
index f3ad74af7e1fa8845d62b56643aae662acbc22da..413742c92d14efce0e98743a101a67fb3e8c2f97 100644 (file)
@@ -64,7 +64,7 @@ static inline bool netpoll_rx(struct sk_buff *skb)
        bool ret = false;
 
        rcu_read_lock_bh();
-       npinfo = rcu_dereference(skb->dev->npinfo);
+       npinfo = rcu_dereference_bh(skb->dev->npinfo);
 
        if (!npinfo || (list_empty(&npinfo->rx_np) && !npinfo->rx_flags))
                goto out;
@@ -82,7 +82,7 @@ out:
 
 static inline int netpoll_rx_on(struct sk_buff *skb)
 {
-       struct netpoll_info *npinfo = rcu_dereference(skb->dev->npinfo);
+       struct netpoll_info *npinfo = rcu_dereference_bh(skb->dev->npinfo);
 
        return npinfo && (!list_empty(&npinfo->rx_np) || npinfo->rx_flags);
 }
@@ -116,6 +116,11 @@ static inline void netpoll_poll_unlock(void *have)
        }
 }
 
+static inline int netpoll_tx_running(struct net_device *dev)
+{
+       return irqs_disabled();
+}
+
 #else
 static inline int netpoll_rx(struct sk_buff *skb)
 {
@@ -139,6 +144,10 @@ static inline void netpoll_poll_unlock(void *have)
 static inline void netpoll_netdev_init(struct net_device *dev)
 {
 }
+static inline int netpoll_tx_running(struct net_device *dev)
+{
+       return 0;
+}
 #endif
 
 #endif