vmxnet: fix 2 build problems
[safe/jmp/linux-2.6] / drivers / net / rionet.c
index a6fd27a..ede937e 100644 (file)
@@ -72,7 +72,7 @@ static int rionet_check = 0;
 static int rionet_capable = 1;
 
 /*
- * This is a fast lookup table for for translating TX
+ * This is a fast lookup table for translating TX
  * Ethernet packets into a destination RIO device. It
  * could be made into a hash table to save memory depending
  * on system trade-offs.
@@ -114,11 +114,6 @@ static int rionet_rx_clean(struct net_device *ndev)
 
                if (error == NET_RX_DROP) {
                        ndev->stats.rx_dropped++;
-               } else if (error == NET_RX_BAD) {
-                       if (netif_msg_rx_err(rnet))
-                               printk(KERN_WARNING "%s: bad rx packet\n",
-                                      DRV_NAME);
-                       ndev->stats.rx_errors++;
                } else {
                        ndev->stats.rx_packets++;
                        ndev->stats.rx_bytes += RIO_MAX_MSG_SIZE;
@@ -208,7 +203,7 @@ static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev)
 
        spin_unlock_irqrestore(&rnet->tx_lock, flags);
 
-       return 0;
+       return NETDEV_TX_OK;
 }
 
 static void rionet_dbell_event(struct rio_mport *mport, void *dev_id, u16 sid, u16 tid,
@@ -362,8 +357,7 @@ static int rionet_close(struct net_device *ndev)
        netif_carrier_off(ndev);
 
        for (i = 0; i < RIONET_RX_RING_SIZE; i++)
-               if (rnet->rx_skb[i])
-                       kfree_skb(rnet->rx_skb[i]);
+               kfree_skb(rnet->rx_skb[i]);
 
        list_for_each_entry_safe(peer, tmp, &rionet_peers, node) {
                if (rionet_active[peer->rdev->destid]) {
@@ -429,6 +423,15 @@ static const struct ethtool_ops rionet_ethtool_ops = {
        .get_link = ethtool_op_get_link,
 };
 
+static const struct net_device_ops rionet_netdev_ops = {
+       .ndo_open               = rionet_open,
+       .ndo_stop               = rionet_close,
+       .ndo_start_xmit         = rionet_start_xmit,
+       .ndo_change_mtu         = eth_change_mtu,
+       .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
+};
+
 static int rionet_setup_netdev(struct rio_mport *mport)
 {
        int rc = 0;
@@ -467,10 +470,7 @@ static int rionet_setup_netdev(struct rio_mport *mport)
        ndev->dev_addr[4] = device_id >> 8;
        ndev->dev_addr[5] = device_id & 0xff;
 
-       /* Fill in the driver function table */
-       ndev->open = &rionet_open;
-       ndev->hard_start_xmit = &rionet_start_xmit;
-       ndev->stop = &rionet_close;
+       ndev->netdev_ops = &rionet_netdev_ops;
        ndev->mtu = RIO_MAX_MSG_SIZE - 14;
        ndev->features = NETIF_F_LLTX;
        SET_ETHTOOL_OPS(ndev, &rionet_ethtool_ops);