ath9k: Enable MIB and TIM interrupts for station mode.
[pandora-kernel.git] / drivers / net / xen-netfront.c
index 6d017ad..9f102a6 100644 (file)
@@ -196,7 +196,7 @@ static void rx_refill_timeout(unsigned long data)
 {
        struct net_device *dev = (struct net_device *)data;
        struct netfront_info *np = netdev_priv(dev);
-       netif_rx_schedule(dev, &np->napi);
+       napi_schedule(&np->napi);
 }
 
 static int netfront_tx_slot_available(struct netfront_info *np)
@@ -328,7 +328,7 @@ static int xennet_open(struct net_device *dev)
                xennet_alloc_rx_buffers(dev);
                np->rx.sring->rsp_event = np->rx.rsp_cons + 1;
                if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx))
-                       netif_rx_schedule(dev, &np->napi);
+                       napi_schedule(&np->napi);
        }
        spin_unlock_bh(&np->rx_lock);
 
@@ -841,7 +841,6 @@ static int handle_incoming_queue(struct net_device *dev,
 
                /* Pass it up. */
                netif_receive_skb(skb);
-               dev->last_rx = jiffies;
        }
 
        return packets_dropped;
@@ -980,7 +979,7 @@ err:
 
                RING_FINAL_CHECK_FOR_RESPONSES(&np->rx, more_to_do);
                if (!more_to_do)
-                       __netif_rx_complete(dev, napi);
+                       __napi_complete(napi);
 
                local_irq_restore(flags);
        }
@@ -1106,6 +1105,16 @@ static void xennet_uninit(struct net_device *dev)
        gnttab_free_grant_references(np->gref_rx_head);
 }
 
+static const struct net_device_ops xennet_netdev_ops = {
+       .ndo_open            = xennet_open,
+       .ndo_uninit          = xennet_uninit,
+       .ndo_stop            = xennet_close,
+       .ndo_start_xmit      = xennet_start_xmit,
+       .ndo_change_mtu      = xennet_change_mtu,
+       .ndo_set_mac_address = eth_mac_addr,
+       .ndo_validate_addr   = eth_validate_addr,
+};
+
 static struct net_device * __devinit xennet_create_dev(struct xenbus_device *dev)
 {
        int i, err;
@@ -1162,12 +1171,9 @@ static struct net_device * __devinit xennet_create_dev(struct xenbus_device *dev
                goto exit_free_tx;
        }
 
-       netdev->open            = xennet_open;
-       netdev->hard_start_xmit = xennet_start_xmit;
-       netdev->stop            = xennet_close;
+       netdev->netdev_ops      = &xennet_netdev_ops;
+
        netif_napi_add(netdev, &np->napi, xennet_poll, 64);
-       netdev->uninit          = xennet_uninit;
-       netdev->change_mtu      = xennet_change_mtu;
        netdev->features        = NETIF_F_IP_CSUM;
 
        SET_ETHTOOL_OPS(netdev, &xennet_ethtool_ops);
@@ -1311,7 +1317,7 @@ static irqreturn_t xennet_interrupt(int irq, void *dev_id)
                xennet_tx_buf_gc(dev);
                /* Under tx_lock: protects access to rx shared-ring indexes. */
                if (RING_HAS_UNCONSUMED_RESPONSES(&np->rx))
-                       netif_rx_schedule(dev, &np->napi);
+                       napi_schedule(&np->napi);
        }
 
        spin_unlock_irqrestore(&np->tx_lock, flags);