Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/devfs-2.6
[sfrench/cifs-2.6.git] / drivers / atm / zatm.c
index a2b236a966e0599285698160e44a56161f94be5a..f484747f255e0121199ae60ac4796abb4ef19b1f 100644 (file)
@@ -400,7 +400,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 +417,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 +669,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 +685,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;