]> bbs.cooldavid.org Git - jme.git/blobdiff - jme.c
net: drivers: use bool type instead of double negation
[jme.git] / jme.c
diff --git a/jme.c b/jme.c
index 140aef9483b30103dd0a710d962aa8c52885798b..839b914adfc4558b255165bc7e1e042c724425f1 100644 (file)
--- a/jme.c
+++ b/jme.c
@@ -1056,16 +1056,12 @@ jme_alloc_and_feed_skb(struct jme_adapter *jme, int idx)
                        skb_checksum_none_assert(skb);
 
                if (rxdesc->descwb.flags & cpu_to_le16(RXWBFLAG_TAGON)) {
-                       if (jme->vlgrp) {
-                               jme->jme_vlan_rx(skb, jme->vlgrp,
-                                       le16_to_cpu(rxdesc->descwb.vlan));
-                               NET_STAT(jme).rx_bytes += 4;
-                       } else {
-                               dev_kfree_skb(skb);
-                       }
-               } else {
-                       jme->jme_rx(skb);
+                       u16 vid = le16_to_cpu(rxdesc->descwb.vlan);
+
+                       __vlan_hwaccel_put_tag(skb, vid);
+                       NET_STAT(jme).rx_bytes += 4;
                }
+               jme->jme_rx(skb);
 
                if ((rxdesc->descwb.flags & cpu_to_le16(RXWBFLAG_DEST)) ==
                    cpu_to_le16(RXWBFLAG_DEST_MUL))
@@ -1887,7 +1883,7 @@ jme_fill_tx_map(struct pci_dev *pdev,
                struct page *page,
                u32 page_offset,
                u32 len,
-               u8 hidma)
+               bool hidma)
 {
        dma_addr_t dmaaddr;
 
@@ -1921,10 +1917,10 @@ jme_map_tx_skb(struct jme_adapter *jme, struct sk_buff *skb, int idx)
        struct jme_ring *txring = &(jme->txring[0]);
        struct txdesc *txdesc = txring->desc, *ctxdesc;
        struct jme_buffer_info *txbi = txring->bufinf, *ctxbi;
-       u8 hidma = jme->dev->features & NETIF_F_HIGHDMA;
+       bool hidma = jme->dev->features & NETIF_F_HIGHDMA;
        int i, nr_frags = skb_shinfo(skb)->nr_frags;
        int mask = jme->tx_ring_mask;
-       struct skb_frag_struct *frag;
+       const struct skb_frag_struct *frag;
        u32 len;
 
        for (i = 0 ; i < nr_frags ; ++i) {
@@ -1932,8 +1928,9 @@ jme_map_tx_skb(struct jme_adapter *jme, struct sk_buff *skb, int idx)
                ctxdesc = txdesc + ((idx + i + 2) & (mask));
                ctxbi = txbi + ((idx + i + 2) & (mask));
 
-               jme_fill_tx_map(jme->pdev, ctxdesc, ctxbi, frag->page,
-                                frag->page_offset, frag->size, hidma);
+               jme_fill_tx_map(jme->pdev, ctxdesc, ctxbi,
+                               skb_frag_page(frag),
+                               frag->page_offset, skb_frag_size(frag), hidma);
        }
 
        len = skb_is_nonlinear(skb) ? skb_headlen(skb) : skb->len;
@@ -2289,25 +2286,15 @@ static inline void jme_resume_rx(struct jme_adapter *jme)
        atomic_inc(&jme->link_changing);
 }
 
-static void
-jme_vlan_rx_register(struct net_device *netdev, struct vlan_group *grp)
-{
-       struct jme_adapter *jme = netdev_priv(netdev);
-
-       jme_pause_rx(jme);
-       jme->vlgrp = grp;
-       jme_resume_rx(jme);
-}
-
 static void
 jme_get_drvinfo(struct net_device *netdev,
                     struct ethtool_drvinfo *info)
 {
        struct jme_adapter *jme = netdev_priv(netdev);
 
-       strcpy(info->driver, DRV_NAME);
-       strcpy(info->version, DRV_VERSION);
-       strcpy(info->bus_info, pci_name(jme->pdev));
+       strlcpy(info->driver, DRV_NAME, sizeof(info->driver));
+       strlcpy(info->version, DRV_VERSION, sizeof(info->version));
+       strlcpy(info->bus_info, pci_name(jme->pdev), sizeof(info->bus_info));
 }
 
 static int
@@ -2409,7 +2396,6 @@ jme_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecmd)
            test_bit(JME_FLAG_POLL, &jme->flags)) {
                clear_bit(JME_FLAG_POLL, &jme->flags);
                jme->jme_rx = netif_rx;
-               jme->jme_vlan_rx = vlan_hwaccel_rx;
                dpi->cur                = PCC_P1;
                dpi->attempt            = PCC_P1;
                dpi->cnt                = 0;
@@ -2419,7 +2405,6 @@ jme_set_coalesce(struct net_device *netdev, struct ethtool_coalesce *ecmd)
                   !(test_bit(JME_FLAG_POLL, &jme->flags))) {
                set_bit(JME_FLAG_POLL, &jme->flags);
                jme->jme_rx = netif_receive_skb;
-               jme->jme_vlan_rx = vlan_hwaccel_receive_skb;
                jme_interrupt_mode(jme);
        }
 
@@ -2635,8 +2620,8 @@ jme_set_msglevel(struct net_device *netdev, u32 value)
        jme->msg_enable = value;
 }
 
-static u32
-jme_fix_features(struct net_device *netdev, u32 features)
+static netdev_features_t
+jme_fix_features(struct net_device *netdev, netdev_features_t features)
 {
        if (netdev->mtu > 1900)
                features &= ~(NETIF_F_ALL_TSO | NETIF_F_ALL_CSUM);
@@ -2644,7 +2629,7 @@ jme_fix_features(struct net_device *netdev, u32 features)
 }
 
 static int
-jme_set_features(struct net_device *netdev, u32 features)
+jme_set_features(struct net_device *netdev, netdev_features_t features)
 {
        struct jme_adapter *jme = netdev_priv(netdev);
 
@@ -2855,10 +2840,9 @@ static const struct net_device_ops jme_netdev_ops = {
        .ndo_do_ioctl           = jme_ioctl,
        .ndo_start_xmit         = jme_start_xmit,
        .ndo_set_mac_address    = jme_set_macaddr,
-       .ndo_set_multicast_list = jme_set_multi,
+       .ndo_set_rx_mode        = jme_set_multi,
        .ndo_change_mtu         = jme_change_mtu,
        .ndo_tx_timeout         = jme_tx_timeout,
-       .ndo_vlan_rx_register   = jme_vlan_rx_register,
        .ndo_fix_features       = jme_fix_features,
        .ndo_set_features       = jme_set_features,
 };
@@ -2941,7 +2925,6 @@ jme_init_one(struct pci_dev *pdev,
        jme->pdev = pdev;
        jme->dev = netdev;
        jme->jme_rx = netif_rx;
-       jme->jme_vlan_rx = vlan_hwaccel_rx;
        jme->old_mtu = netdev->mtu = 1500;
        jme->phylink = 0;
        jme->tx_ring_size = 1 << 10;