]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/staging/rdma/hfi1/sdma.c
staging: hfi1: sdma: Use setup_timer
[mirror_ubuntu-artful-kernel.git] / drivers / staging / rdma / hfi1 / sdma.c
index a8c903caecce0ce4b3d15edfa29cddf351becd33..16d93fffe5def8f718326caeda0baf66d9d63e90 100644 (file)
@@ -737,10 +737,11 @@ u16 sdma_get_descq_cnt(void)
         */
        if (!is_power_of_2(count))
                return SDMA_DESCQ_CNT;
-       if (count < 64 && count > 32768)
+       if (count < 64 || count > 32768)
                return SDMA_DESCQ_CNT;
        return count;
 }
+
 /**
  * sdma_select_engine_vl() - select sdma engine
  * @dd: devdata
@@ -966,10 +967,7 @@ static void sdma_clean(struct hfi1_devdata *dd, size_t num_engines)
                        sde->descq = NULL;
                        sde->descq_phys = 0;
                }
-               if (is_vmalloc_addr(sde->tx_ring))
-                       vfree(sde->tx_ring);
-               else
-                       kfree(sde->tx_ring);
+               kvfree(sde->tx_ring);
                sde->tx_ring = NULL;
        }
        spin_lock_irq(&dd->sde_map_lock);
@@ -1096,10 +1094,8 @@ int sdma_init(struct hfi1_devdata *dd, u8 port)
 
                sde->progress_check_head = 0;
 
-               init_timer(&sde->err_progress_check_timer);
-               sde->err_progress_check_timer.function =
-                                               sdma_err_progress_check;
-               sde->err_progress_check_timer.data = (unsigned long)sde;
+               setup_timer(&sde->err_progress_check_timer,
+                           sdma_err_progress_check, (unsigned long)sde);
 
                sde->descq = dma_zalloc_coherent(
                        &dd->pcidev->dev,
@@ -1848,7 +1844,7 @@ static void dump_sdma_state(struct sdma_engine *sde)
                        dd_dev_err(sde->dd,
                                "\taidx: %u amode: %u alen: %u\n",
                                (u8)((desc[1] & SDMA_DESC1_HEADER_INDEX_SMASK)
-                                       >> SDMA_DESC1_HEADER_INDEX_MASK),
+                                       >> SDMA_DESC1_HEADER_INDEX_SHIFT),
                                (u8)((desc[1] & SDMA_DESC1_HEADER_MODE_SMASK)
                                        >> SDMA_DESC1_HEADER_MODE_SHIFT),
                                (u8)((desc[1] & SDMA_DESC1_HEADER_DWS_SMASK)
@@ -1926,7 +1922,7 @@ void sdma_seqfile_dump_sde(struct seq_file *s, struct sdma_engine *sde)
                if (desc[0] & SDMA_DESC0_FIRST_DESC_FLAG)
                        seq_printf(s, "\t\tahgidx: %u ahgmode: %u\n",
                                (u8)((desc[1] & SDMA_DESC1_HEADER_INDEX_SMASK)
-                                       >> SDMA_DESC1_HEADER_INDEX_MASK),
+                                       >> SDMA_DESC1_HEADER_INDEX_SHIFT),
                                (u8)((desc[1] & SDMA_DESC1_HEADER_MODE_SMASK)
                                        >> SDMA_DESC1_HEADER_MODE_SHIFT));
                head = (head + 1) & sde->sdma_mask;