vserver 1.9.3
[linux-2.6.git] / drivers / net / rrunner.c
index d773145..402f779 100644 (file)
@@ -197,7 +197,8 @@ static int __devinit rr_init_one(struct pci_dev *pdev,
         * Don't access any register before this point!
         */
 #ifdef __BIG_ENDIAN
-       writel(readl(&regs->HostCtrl) | NO_SWAP, &regs->HostCtrl);
+       writel(readl(&rrpriv->regs->HostCtrl) | NO_SWAP,
+               &rrpriv->regs->HostCtrl);
 #endif
        /*
         * Need to add a case for little-endian 64-bit hosts here.
@@ -633,7 +634,7 @@ static int rr_init1(struct net_device *dev)
        for (i = 0; i < TX_RING_ENTRIES; i++) {
                rrpriv->tx_ring[i].size = 0;
                set_rraddr(&rrpriv->tx_ring[i].addr, 0);
-               rrpriv->tx_skbuff[i] = 0;
+               rrpriv->tx_skbuff[i] = NULL;
        }
        rrpriv->info->tx_ctrl.entry_size = sizeof(struct tx_desc);
        rrpriv->info->tx_ctrl.entries = TX_RING_ENTRIES;
@@ -743,7 +744,7 @@ static int rr_init1(struct net_device *dev)
                        rrpriv->rx_ring[i].size = 0;
                        set_rraddr(&rrpriv->rx_ring[i].addr, 0);
                        dev_kfree_skb(skb);
-                       rrpriv->rx_skbuff[i] = 0;
+                       rrpriv->rx_skbuff[i] = NULL;
                }
        }
        return ecode;
@@ -1138,6 +1139,49 @@ static irqreturn_t rr_interrupt(int irq, void *dev_id, struct pt_regs *ptregs)
        return IRQ_HANDLED;
 }
 
+static inline void rr_raz_tx(struct rr_private *rrpriv,
+                            struct net_device *dev)
+{
+       int i;
+
+       for (i = 0; i < TX_RING_ENTRIES; i++) {
+               struct sk_buff *skb = rrpriv->tx_skbuff[i];
+
+               if (skb) {
+                       struct tx_desc *desc = &(rrpriv->tx_ring[i]);
+
+                       pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo,
+                               skb->len, PCI_DMA_TODEVICE);
+                       desc->size = 0;
+                       set_rraddr(&desc->addr, 0);
+                       dev_kfree_skb(skb);
+                       rrpriv->tx_skbuff[i] = NULL;
+               }
+       }
+}
+
+
+static inline void rr_raz_rx(struct rr_private *rrpriv,
+                            struct net_device *dev)
+{
+       int i;
+
+       for (i = 0; i < RX_RING_ENTRIES; i++) {
+               struct sk_buff *skb = rrpriv->rx_skbuff[i];
+
+               if (skb) {
+                       struct rx_desc *desc = &(rrpriv->rx_ring[i]);
+
+                       pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo,
+                               dev->mtu + HIPPI_HLEN, PCI_DMA_FROMDEVICE);
+                       desc->size = 0;
+                       set_rraddr(&desc->addr, 0);
+                       dev_kfree_skb(skb);
+                       rrpriv->rx_skbuff[i] = NULL;
+               }
+       }
+}
+
 static void rr_timer(unsigned long data)
 {
        struct net_device *dev = (struct net_device *)data;
@@ -1253,49 +1297,6 @@ static int rr_open(struct net_device *dev)
 }
 
 
-static inline void rr_raz_tx(struct rr_private *rrpriv, 
-                            struct net_device *dev)
-{
-       int i;
-
-       for (i = 0; i < TX_RING_ENTRIES; i++) {
-               struct sk_buff *skb = rrpriv->tx_skbuff[i];
-
-               if (skb) {
-                       struct tx_desc *desc = &(rrpriv->tx_ring[i]);
-
-                       pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, 
-                               skb->len, PCI_DMA_TODEVICE);
-                       desc->size = 0;
-                       set_rraddr(&desc->addr, 0);
-                       dev_kfree_skb(skb);
-                       rrpriv->tx_skbuff[i] = NULL;
-               }
-       }
-}
-
-
-static inline void rr_raz_rx(struct rr_private *rrpriv, 
-                            struct net_device *dev)
-{
-       int i;
-
-       for (i = 0; i < RX_RING_ENTRIES; i++) {
-               struct sk_buff *skb = rrpriv->rx_skbuff[i];
-
-               if (skb) {
-                       struct rx_desc *desc = &(rrpriv->rx_ring[i]);
-
-                       pci_unmap_single(rrpriv->pci_dev, desc->addr.addrlo, 
-                               dev->mtu + HIPPI_HLEN, PCI_DMA_FROMDEVICE);
-                       desc->size = 0;
-                       set_rraddr(&desc->addr, 0);
-                       dev_kfree_skb(skb);
-                       rrpriv->rx_skbuff[i] = NULL;
-               }
-       }
-}
-
 static void rr_dump(struct net_device *dev)
 {
        struct rr_private *rrpriv;
@@ -1335,10 +1336,10 @@ static void rr_dump(struct net_device *dev)
        if (rrpriv->tx_skbuff[cons]){
                len = min_t(int, 0x80, rrpriv->tx_skbuff[cons]->len);
                printk("skbuff for cons %i is valid - dumping data (0x%x bytes - skbuff len 0x%x)\n", cons, len, rrpriv->tx_skbuff[cons]->len);
-               printk("mode 0x%x, size 0x%x,\n phys %08x, skbuff-addr %08lx, truesize 0x%x\n",
+               printk("mode 0x%x, size 0x%x,\n phys %08Lx, skbuff-addr %08lx, truesize 0x%x\n",
                       rrpriv->tx_ring[cons].mode,
                       rrpriv->tx_ring[cons].size,
-                      rrpriv->tx_ring[cons].addr.addrlo,
+                      (unsigned long long) rrpriv->tx_ring[cons].addr.addrlo,
                       (unsigned long)rrpriv->tx_skbuff[cons]->data,
                       (unsigned int)rrpriv->tx_skbuff[cons]->truesize);
                for (i = 0; i < len; i++){
@@ -1351,10 +1352,10 @@ static void rr_dump(struct net_device *dev)
 
        printk("dumping TX ring info:\n");
        for (i = 0; i < TX_RING_ENTRIES; i++)
-               printk("mode 0x%x, size 0x%x, phys-addr %08x\n",
+               printk("mode 0x%x, size 0x%x, phys-addr %08Lx\n",
                       rrpriv->tx_ring[i].mode,
                       rrpriv->tx_ring[i].size,
-                      rrpriv->tx_ring[i].addr.addrlo);
+                      (unsigned long long) rrpriv->tx_ring[i].addr.addrlo);
 
 }