memory-hotplug: integrated __remove_section() of CONFIG_SPARSEMEM_VMEMMAP.
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / net / ntb_netdev.c
index 4e52fd2..ed947dd 100644 (file)
@@ -51,7 +51,7 @@
 #include <linux/pci.h>
 #include <linux/ntb.h>
 
-#define NTB_NETDEV_VER "0.6"
+#define NTB_NETDEV_VER "0.7"
 
 MODULE_DESCRIPTION(KBUILD_MODNAME);
 MODULE_VERSION(NTB_NETDEV_VER);
@@ -119,6 +119,7 @@ static void ntb_netdev_rx_handler(struct ntb_transport_qp *qp, void *qp_data,
 
        rc = ntb_transport_rx_enqueue(qp, skb, skb->data, ndev->mtu + ETH_HLEN);
        if (rc) {
+               dev_kfree_skb(skb);
                ndev->stats.rx_errors++;
                ndev->stats.rx_fifo_errors++;
        }
@@ -143,9 +144,6 @@ static void ntb_netdev_tx_handler(struct ntb_transport_qp *qp, void *qp_data,
        }
 
        dev_kfree_skb(skb);
-
-       if (netif_queue_stopped(ndev))
-               netif_wake_queue(ndev);
 }
 
 static netdev_tx_t ntb_netdev_start_xmit(struct sk_buff *skb,
@@ -154,7 +152,7 @@ static netdev_tx_t ntb_netdev_start_xmit(struct sk_buff *skb,
        struct ntb_netdev *dev = netdev_priv(ndev);
        int rc;
 
-       netdev_dbg(ndev, "ntb_transport_tx_enqueue\n");
+       netdev_dbg(ndev, "%s: skb len %d\n", __func__, skb->len);
 
        rc = ntb_transport_tx_enqueue(dev->qp, skb, skb->data, skb->len);
        if (rc)
@@ -165,7 +163,6 @@ static netdev_tx_t ntb_netdev_start_xmit(struct sk_buff *skb,
 err:
        ndev->stats.tx_dropped++;
        ndev->stats.tx_errors++;
-       netif_stop_queue(ndev);
        return NETDEV_TX_BUSY;
 }
 
@@ -269,18 +266,11 @@ err:
        return rc;
 }
 
-static void ntb_netdev_tx_timeout(struct net_device *ndev)
-{
-       if (netif_running(ndev))
-               netif_wake_queue(ndev);
-}
-
 static const struct net_device_ops ntb_netdev_ops = {
        .ndo_open = ntb_netdev_open,
        .ndo_stop = ntb_netdev_close,
        .ndo_start_xmit = ntb_netdev_start_xmit,
        .ndo_change_mtu = ntb_netdev_change_mtu,
-       .ndo_tx_timeout = ntb_netdev_tx_timeout,
        .ndo_set_mac_address = eth_mac_addr,
 };
 
@@ -363,7 +353,7 @@ static int ntb_netdev_probe(struct pci_dev *pdev)
                goto err1;
 
        list_add(&dev->list, &dev_list);
-       pr_info("%s: %s created\n", KBUILD_MODNAME, ndev->name);
+       dev_info(&pdev->dev, "%s created\n", ndev->name);
        return 0;
 
 err1:
@@ -373,7 +363,7 @@ err:
        return rc;
 }
 
-static void __exit ntb_netdev_remove(struct pci_dev *pdev)
+static void ntb_netdev_remove(struct pci_dev *pdev)
 {
        struct net_device *ndev;
        struct ntb_netdev *dev;
@@ -414,6 +404,5 @@ static void __exit ntb_netdev_exit_module(void)
 {
        ntb_unregister_client(&ntb_netdev_client);
        ntb_unregister_client_dev(KBUILD_MODNAME);
-       pr_info("%s: Driver removed\n", KBUILD_MODNAME);
 }
 module_exit(ntb_netdev_exit_module);