staging: slicoss: Adds space around operators
[cascardo/linux.git] / drivers / staging / slicoss / slicoss.c
index 8585970..8ce9000 100644 (file)
@@ -54,7 +54,6 @@
  *       IS-NIC driver.
  */
 
-
 #define KLUDGE_FOR_4GB_BOUNDARY         1
 #define DEBUG_MICROCODE                 1
 #define DBG                             1
@@ -161,7 +160,7 @@ static void slic_mcast_set_bit(struct adapter *adapter, char *address)
        /* Get the CRC polynomial for the mac address */
        /* we use bits 1-8 (lsb), bitwise reversed,
         * msb (= lsb bit 0 before bitrev) is automatically discarded */
-       crcpoly = ether_crc(ETH_ALEN, address)>>23;
+       crcpoly = ether_crc(ETH_ALEN, address) >> 23;
 
        /* We only have space on the SLIC for 64 entries.  Lop
         * off the top two bits. (2^6 = 64)
@@ -169,7 +168,7 @@ static void slic_mcast_set_bit(struct adapter *adapter, char *address)
        crcpoly &= 0x3F;
 
        /* OR in the new bit into our 64 bit mask. */
-       adapter->mcastmask |= (u64) 1 << crcpoly;
+       adapter->mcastmask |= (u64)1 << crcpoly;
 }
 
 static void slic_mcast_set_mask(struct adapter *adapter)
@@ -593,11 +592,11 @@ static void slic_mac_address_config(struct adapter *adapter)
        u32 value2;
        __iomem struct slic_regs *slic_regs = adapter->slic_regs;
 
-       value = ntohl(*(__be32 *) &adapter->currmacaddr[2]);
+       value = ntohl(*(__be32 *)&adapter->currmacaddr[2]);
        slic_reg32_write(&slic_regs->slic_wraddral, value, FLUSH);
        slic_reg32_write(&slic_regs->slic_wraddrbl, value, FLUSH);
 
-       value2 = (u32) ((adapter->currmacaddr[0] << 8 |
+       value2 = (u32)((adapter->currmacaddr[0] << 8 |
                             adapter->currmacaddr[1]) & 0xFFFF);
 
        slic_reg32_write(&slic_regs->slic_wraddrah, value2, FLUSH);
@@ -971,7 +970,7 @@ static void slic_link_upr_complete(struct adapter *adapter, u32 isr)
 #else
                slic_upr_queue_request(adapter,
                                       SLIC_UPR_RLSR,
-                                      (u32) &pshmem->linkstatus,
+                                      (u32)&pshmem->linkstatus,
                                       SLIC_GET_ADDR_HIGH(pshmem), 0, 0);
 #endif
                return;
@@ -1041,7 +1040,7 @@ static void slic_upr_request_complete(struct adapter *adapter, u32 isr)
        case SLIC_UPR_STATS:
                {
                        struct slic_stats *slicstats =
-                           (struct slic_stats *) &adapter->pshmem->inicstats;
+                           (struct slic_stats *)&adapter->pshmem->inicstats;
                        struct slic_stats *newstats = slicstats;
                        struct slic_stats  *old = &adapter->inicstats_prev;
                        struct slicnet_stats *stst = &adapter->slic_stats;
@@ -1147,8 +1146,7 @@ static u16 slic_eeprom_cksum(void *eeprom, unsigned len)
        }
 
        if (len > 0)
-               checksum += *(u8 *) wp;
-
+               checksum += *(u8 *)wp;
 
        while (checksum >> 16)
                checksum = (checksum & 0xFFFF) + ((checksum >> 16) & 0xFFFF);
@@ -1246,7 +1244,7 @@ static void slic_cmdqmem_free(struct adapter *adapter)
                if (cmdqmem->pages[i]) {
                        pci_free_consistent(adapter->pcidev,
                                            PAGE_SIZE,
-                                           (void *) cmdqmem->pages[i],
+                                           (void *)cmdqmem->pages[i],
                                            cmdqmem->dma_pages[i]);
                }
        }
@@ -1309,7 +1307,7 @@ static void slic_cmdq_addcmdpage(struct adapter *adapter, u32 *page)
        unsigned long flags;
 
        cmdaddr = page;
-       cmd = (struct slic_hostcmd *)cmdaddr;
+       cmd = cmdaddr;
        cmdcnt = 0;
 
        phys_addr = virt_to_bus((void *)page);
@@ -1326,8 +1324,8 @@ static void slic_cmdq_addcmdpage(struct adapter *adapter, u32 *page)
                adapter->pfree_slic_handles = pslic_handle->next;
                spin_unlock_irqrestore(&adapter->handle_lock, flags);
                pslic_handle->type = SLIC_HANDLE_CMD;
-               pslic_handle->address = (void *) cmd;
-               pslic_handle->offset = (ushort) adapter->slic_handle_ix++;
+               pslic_handle->address = (void *)cmd;
+               pslic_handle->offset = (ushort)adapter->slic_handle_ix++;
                pslic_handle->other_handle = NULL;
                pslic_handle->next = NULL;
 
@@ -1342,7 +1340,7 @@ static void slic_cmdq_addcmdpage(struct adapter *adapter, u32 *page)
                phys_addrl += SLIC_HOSTCMD_SIZE;
                cmdaddr += SLIC_HOSTCMD_SIZE;
 
-               cmd = (struct slic_hostcmd *)cmdaddr;
+               cmd = cmdaddr;
                cmdcnt++;
        }
 
@@ -1717,14 +1715,14 @@ static u32 slic_rcvqueue_reinsert(struct adapter *adapter, struct sk_buff *skb)
  * will also complete asynchronously.
  *
  */
-static void slic_link_event_handler(struct adapter *adapter)
+static int slic_link_event_handler(struct adapter *adapter)
 {
        int status;
        struct slic_shmem *pshmem;
 
        if (adapter->state != ADAPT_UP) {
                /* Adapter is not operational.  Ignore.  */
-               return;
+               return -ENODEV;
        }
 
        pshmem = (struct slic_shmem *)(unsigned long)adapter->phys_shmem;
@@ -1737,9 +1735,10 @@ static void slic_link_event_handler(struct adapter *adapter)
                                  0, 0);
 #else
        status = slic_upr_request(adapter, SLIC_UPR_RLSR,
-               (u32) &pshmem->linkstatus,      /* no 4GB wrap guaranteed */
+               (u32)&pshmem->linkstatus,       /* no 4GB wrap guaranteed */
                                  0, 0, 0);
 #endif
+       return status;
 }
 
 static void slic_init_cleanup(struct adapter *adapter)
@@ -1804,7 +1803,7 @@ static void slic_mcast_set_list(struct net_device *dev)
        struct netdev_hw_addr *ha;
 
        netdev_for_each_mc_addr(ha, dev) {
-               addresses = (char *) &ha->addr;
+               addresses = (char *)&ha->addr;
                status = slic_mcast_add_list(adapter, addresses);
                if (status != 0)
                        break;
@@ -1852,8 +1851,8 @@ static void slic_xmit_build_request(struct adapter *adapter,
        ihcmd->u.slic_buffers.bufs[0].paddrh = SLIC_GET_ADDR_HIGH(phys_addr);
        ihcmd->u.slic_buffers.bufs[0].length = skb->len;
 #if BITS_PER_LONG == 64
-       hcmd->cmdsize = (u32) ((((u64)&ihcmd->u.slic_buffers.bufs[1] -
-                                    (u64) hcmd) + 31) >> 5);
+       hcmd->cmdsize = (u32)((((u64)&ihcmd->u.slic_buffers.bufs[1] -
+                                    (u64)hcmd) + 31) >> 5);
 #else
        hcmd->cmdsize = (((u32)&ihcmd->u.slic_buffers.bufs[1] -
                                       (u32)hcmd) + 31) >> 5;
@@ -2054,7 +2053,6 @@ static void slic_xmit_complete(struct adapter *adapter)
                */
                slic_handle_word.handle_token = rspbuf->hosthandle;
                hcmd =
-                   (struct slic_hostcmd *)
                        adapter->slic_handles[slic_handle_word.handle_index].
                                                                        address;
 /*      hcmd = (struct slic_hostcmd *) rspbuf->hosthandle; */
@@ -2109,7 +2107,8 @@ static void slic_interrupt_card_up(u32 isr, struct adapter *adapter,
 
                if (isr & ISR_LEVENT) {
                        adapter->linkevent_interrupts++;
-                       slic_link_event_handler(adapter);
+                       if (slic_link_event_handler(adapter))
+                               adapter->linkevent_interrupts--;
                }
 
                if ((isr & ISR_UPC) || (isr & ISR_UPCERR) ||
@@ -2130,10 +2129,9 @@ static void slic_interrupt_card_up(u32 isr, struct adapter *adapter,
        }
 }
 
-
 static irqreturn_t slic_interrupt(int irq, void *dev_id)
 {
-       struct net_device *dev = (struct net_device *)dev_id;
+       struct net_device *dev = dev_id;
        struct adapter *adapter = netdev_priv(dev);
        u32 isr;
 
@@ -2227,7 +2225,6 @@ xmit_fail:
        goto xmit_done;
 }
 
-
 static void slic_adapter_freeresources(struct adapter *adapter)
 {
        slic_init_cleanup(adapter);
@@ -2378,7 +2375,22 @@ static int slic_if_init(struct adapter *adapter, unsigned long *flags)
        slic_reg32_write(&slic_regs->slic_icr, ICR_INT_ON, FLUSH);
 
        slic_link_config(adapter, LINK_AUTOSPEED, LINK_AUTOD);
-       slic_link_event_handler(adapter);
+       rc = slic_link_event_handler(adapter);
+       if (rc) {
+               /* disable interrupts then clear pending events */
+               slic_reg32_write(&slic_regs->slic_icr, ICR_INT_OFF, FLUSH);
+               slic_reg32_write(&slic_regs->slic_isr, 0, FLUSH);
+               if (adapter->pingtimerset) {
+                       del_timer(&adapter->pingtimer);
+                       adapter->pingtimerset = 0;
+               }
+               if (card->loadtimerset) {
+                       del_timer(&card->loadtimer);
+                       card->loadtimerset = 0;
+               }
+               adapter->state = ADAPT_DOWN;
+               slic_adapter_freeresources(adapter);
+       }
 
 err:
        return rc;
@@ -2608,7 +2620,8 @@ static int slic_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
                                else
                                        duplex = 0;
                                slic_link_config(adapter, speed, duplex);
-                               slic_link_event_handler(adapter);
+                               if (slic_link_event_handler(adapter))
+                                       return -EFAULT;
                        }
                }
                return 0;
@@ -2736,7 +2749,7 @@ static int slic_card_init(struct sliccard *card, struct adapter *adapter)
                /* Oasis card */
                case SLIC_2GB_DEVICE_ID:
                        /* extract EEPROM data and pointers to EEPROM data */
-                       pOeeprom = (struct oslic_eeprom *) peeprom;
+                       pOeeprom = (struct oslic_eeprom *)peeprom;
                        eecodesize = pOeeprom->EecodeSize;
                        dramsize = pOeeprom->DramSize;
                        pmac = pOeeprom->MacInfo;
@@ -2769,7 +2782,7 @@ static int slic_card_init(struct sliccard *card, struct adapter *adapter)
                    (eecodesize >= MIN_EECODE_SIZE)) {
 
                        ee_chksum =
-                           *(u16 *) ((char *) peeprom + (eecodesize - 2));
+                           *(u16 *)((char *)peeprom + (eecodesize - 2));
                        /*
                            calculate the EEPROM checksum
                        */
@@ -2863,7 +2876,7 @@ static void slic_init_adapter(struct net_device *netdev,
        adapter->busnumber = pcidev->bus->number;
        adapter->slotnumber = ((pcidev->devfn >> 3) & 0x1F);
        adapter->functionnumber = (pcidev->devfn & 0x7);
-       adapter->slic_regs = (__iomem struct slic_regs *)memaddr;
+       adapter->slic_regs = memaddr;
        adapter->irq = pcidev->irq;
 /*     adapter->netdev = netdev;*/
        adapter->chipid = chip_idx;
@@ -2932,11 +2945,11 @@ static u32 slic_card_locate(struct adapter *adapter)
        }
 
        hostid_reg =
-           (u16 __iomem *) (((u8 __iomem *) (adapter->slic_regs)) +
+           (u16 __iomem *)(((u8 __iomem *)(adapter->slic_regs)) +
            rdhostid_offset);
 
        /* read the 16 bit hostid from SRAM */
-       card_hostid = (ushort) readw(hostid_reg);
+       card_hostid = (ushort)readw(hostid_reg);
 
        /* Initialize a new card structure if need be */
        if (card_hostid == SLIC_HOSTID_DEFAULT) {
@@ -3082,7 +3095,6 @@ static int slic_entry_probe(struct pci_dev *pcidev,
        mmio_start = pci_resource_start(pcidev, 0);
        mmio_len = pci_resource_len(pcidev, 0);
 
-
 /*     memmapped_ioaddr =  (u32)ioremap_nocache(mmio_start, mmio_len);*/
        memmapped_ioaddr = ioremap(mmio_start, mmio_len);
        if (!memmapped_ioaddr) {
@@ -3118,7 +3130,7 @@ static int slic_entry_probe(struct pci_dev *pcidev,
 
        slic_adapter_set_hwaddr(adapter);
 
-       netdev->base_addr = (unsigned long) memmapped_ioaddr;
+       netdev->base_addr = (unsigned long)memmapped_ioaddr;
        netdev->irq = adapter->irq;
        netdev->netdev_ops = &slic_netdev_ops;