]> err.no Git - linux-2.6/blobdiff - drivers/atm/he.c
[TCP]: Avoid a divide in tcp_mtu_probing()
[linux-2.6] / drivers / atm / he.c
index db33f6f4dd2a5517302e22fc5575c43c1a28413e..3b64a99772ea826187dbc792875332722f77f94b 100644 (file)
@@ -394,6 +394,11 @@ he_init_one(struct pci_dev *pci_dev, const struct pci_device_id *pci_ent)
        he_dev->atm_dev->dev_data = he_dev;
        atm_dev->dev_data = he_dev;
        he_dev->number = atm_dev->number;
+#ifdef USE_TASKLET
+       tasklet_init(&he_dev->tasklet, he_tasklet, (unsigned long) he_dev);
+#endif
+       spin_lock_init(&he_dev->global_lock);
+
        if (he_start(atm_dev)) {
                he_stop(he_dev);
                err = -ENODEV;
@@ -1173,11 +1178,6 @@ he_start(struct atm_dev *dev)
        if ((err = he_init_irq(he_dev)) != 0)
                return err;
 
-#ifdef USE_TASKLET
-       tasklet_init(&he_dev->tasklet, he_tasklet, (unsigned long) he_dev);
-#endif
-       spin_lock_init(&he_dev->global_lock);
-
        /* 4.11 enable pci bus controller state machines */
        host_cntl |= (OUTFF_ENB | CMDFF_ENB |
                                QUICK_RD_RETRY | QUICK_WR_RETRY | PERR_INT_ENB);
@@ -1901,13 +1901,13 @@ he_service_rbrq(struct he_dev *he_dev, int group)
                        case ATM_AAL0:
                                /* 2.10.1.5 raw cell receive */
                                skb->len = ATM_AAL0_SDU;
-                               skb->tail = skb->data + skb->len;
+                               skb_set_tail_pointer(skb, skb->len);
                                break;
                        case ATM_AAL5:
                                /* 2.10.1.2 aal5 receive */
 
                                skb->len = AAL5_LEN(skb->data, he_vcc->pdu_len);
-                               skb->tail = skb->data + skb->len;
+                               skb_set_tail_pointer(skb, skb->len);
 #ifdef USE_CHECKSUM_HW
                                if (vcc->vpi == 0 && vcc->vci >= ATM_NOT_RSV_VCI) {
                                        skb->ip_summed = CHECKSUM_COMPLETE;
@@ -3017,7 +3017,7 @@ read_prom_byte(struct he_dev *he_dev, int addr)
        he_writel(he_dev, val, HOST_CNTL);
        
        /* Send READ instruction */
-       for (i = 0; i < sizeof(readtab)/sizeof(readtab[0]); i++) {
+       for (i = 0; i < ARRAY_SIZE(readtab); i++) {
                he_writel(he_dev, val | readtab[i], HOST_CNTL);
                udelay(EEPROM_DELAY);
        }