Merge branches 'perf-urgent-for-linus' and 'sched-urgent-for-linus' of git://git...
[pandora-kernel.git] / drivers / net / ethernet / tile / tilepro.c
index 1e2af96..1187a11 100644 (file)
@@ -177,7 +177,7 @@ struct tile_net_cpu {
        struct tile_net_stats_t stats;
        /* True iff NAPI is enabled. */
        bool napi_enabled;
-       /* True if this tile has succcessfully registered with the IPP. */
+       /* True if this tile has successfully registered with the IPP. */
        bool registered;
        /* True if the link was down last time we tried to register. */
        bool link_down;
@@ -926,7 +926,7 @@ static int tile_net_poll(struct napi_struct *napi, int budget)
                goto done;
 
        /* Re-enable the ingress interrupt. */
-       enable_percpu_irq(priv->intr_id);
+       enable_percpu_irq(priv->intr_id, 0);
 
        /* HACK: Avoid the "rotting packet" problem (see above). */
        if (qup->__packet_receive_read !=
@@ -1296,7 +1296,7 @@ static void tile_net_open_enable(void *dev_ptr)
        info->napi_enabled = true;
 
        /* Enable the ingress interrupt. */
-       enable_percpu_irq(priv->intr_id);
+       enable_percpu_irq(priv->intr_id, 0);
 }
 
 
@@ -1697,7 +1697,7 @@ static unsigned int tile_net_tx_frags(lepp_frag_t *frags,
        for (i = 0; i < sh->nr_frags; i++) {
 
                skb_frag_t *f = &sh->frags[i];
-               unsigned long pfn = page_to_pfn(f->page);
+               unsigned long pfn = page_to_pfn(skb_frag_page(f));
 
                /* FIXME: Compute "hash_for_home" properly. */
                /* ISSUE: The hypervisor checks CHIP_HAS_REV1_DMA_PACKETS(). */
@@ -1706,14 +1706,14 @@ static unsigned int tile_net_tx_frags(lepp_frag_t *frags,
                /* FIXME: Hmmm. */
                if (!hash_default) {
                        void *va = pfn_to_kaddr(pfn) + f->page_offset;
-                       BUG_ON(PageHighMem(f->page));
+                       BUG_ON(PageHighMem(skb_frag_page(f)));
                        finv_buffer_remote(va, f->size, 0);
                }
 
                cpa = ((phys_addr_t)pfn << PAGE_SHIFT) + f->page_offset;
                frags[n].cpa_lo = cpa;
                frags[n].cpa_hi = cpa >> 32;
-               frags[n].length = f->size;
+               frags[n].length = skb_frag_size(f);
                frags[n].hash_for_home = hash_for_home;
                n++;
        }