]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/atm/zatm.c
[DCCP]: Fix default sequence window size
[linux-2.6-omap-h63xx.git] / drivers / atm / zatm.c
index a2b236a966e0599285698160e44a56161f94be5a..2c65e82f0d6b855310cb8e4e95a8a5c8c27a47bb 100644 (file)
@@ -3,7 +3,6 @@
 /* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
 
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
@@ -400,7 +399,7 @@ unsigned long *x;
 EVENT("error code 0x%x/0x%x\n",(here[3] & uPD98401_AAL5_ES) >>
   uPD98401_AAL5_ES_SHIFT,error);
                skb = ((struct rx_buffer_head *) bus_to_virt(here[2]))->skb;
-               do_gettimeofday(&skb->stamp);
+               __net_timestamp(skb);
 #if 0
 printk("[-3..0] 0x%08lx 0x%08lx 0x%08lx 0x%08lx\n",((unsigned *) skb->data)[-3],
   ((unsigned *) skb->data)[-2],((unsigned *) skb->data)[-1],
@@ -417,10 +416,12 @@ printk("dummy: 0x%08lx, 0x%08lx\n",dummy[0],dummy[1]);
                chan = (here[3] & uPD98401_AAL5_CHAN) >>
                    uPD98401_AAL5_CHAN_SHIFT;
                if (chan < zatm_dev->chans && zatm_dev->rx_map[chan]) {
+                       int pos;
                        vcc = zatm_dev->rx_map[chan];
-                       if (skb == zatm_dev->last_free[ZATM_VCC(vcc)->pool])
-                               zatm_dev->last_free[ZATM_VCC(vcc)->pool] = NULL;
-                       skb_unlink(skb);
+                       pos = ZATM_VCC(vcc)->pool;
+                       if (skb == zatm_dev->last_free[pos])
+                               zatm_dev->last_free[pos] = NULL;
+                       skb_unlink(skb, zatm_dev->pool + pos);
                }
                else {
                        printk(KERN_ERR DEV_LABEL "(itf %d): RX indication "
@@ -667,11 +668,13 @@ printk("NONONONOO!!!!\n");
                u32 *put;
                int i;
 
-               dsc = (u32 *) kmalloc(uPD98401_TXPD_SIZE*2+
-                   uPD98401_TXBD_SIZE*ATM_SKB(skb)->iovcnt,GFP_ATOMIC);
+               dsc = kmalloc(uPD98401_TXPD_SIZE * 2 +
+                       uPD98401_TXBD_SIZE * ATM_SKB(skb)->iovcnt, GFP_ATOMIC);
                if (!dsc) {
-                       if (vcc->pop) vcc->pop(vcc,skb);
-                       else dev_kfree_skb_irq(skb);
+                       if (vcc->pop)
+                               vcc->pop(vcc, skb);
+                       else
+                               dev_kfree_skb_irq(skb);
                        return -EAGAIN;
                }
                /* @@@ should check alignment */
@@ -681,7 +684,7 @@ printk("NONONONOO!!!!\n");
                    (ATM_SKB(skb)->atm_options & ATM_ATMOPT_CLP ?
                    uPD98401_CLPM_1 : uPD98401_CLPM_0));
                dsc[1] = 0;
-               dsc[2] = ATM_SKB(skb)->iovcnt*uPD98401_TXBD_SIZE;
+               dsc[2] = ATM_SKB(skb)->iovcnt * uPD98401_TXBD_SIZE;
                dsc[3] = virt_to_bus(put);
                for (i = 0; i < ATM_SKB(skb)->iovcnt; i++) {
                        *put++ = ((struct iovec *) skb->data)[i].iov_len;
@@ -1267,7 +1270,7 @@ static int __init zatm_start(struct atm_dev *dev)
        zatm_dev->rx_map = zatm_dev->tx_map = NULL;
        for (i = 0; i < NR_MBX; i++)
                zatm_dev->mbx_start[i] = 0;
-       error = request_irq(zatm_dev->irq, zatm_int, SA_SHIRQ, DEV_LABEL, dev);
+       error = request_irq(zatm_dev->irq, zatm_int, IRQF_SHARED, DEV_LABEL, dev);
        if (error < 0) {
                printk(KERN_ERR DEV_LABEL "(itf %d): IRQ%d is already in use\n",
                    dev->number,zatm_dev->irq);