ptr->eptr = upper_32_bits(dma_addr);
 }
 
-static void to_talitos_ptr_len(struct talitos_ptr *ptr, unsigned short len,
+static void to_talitos_ptr_len(struct talitos_ptr *ptr, unsigned int len,
                               bool is_sec1)
 {
        if (is_sec1) {
  */
 static void map_single_talitos_ptr(struct device *dev,
                                   struct talitos_ptr *ptr,
-                                  unsigned short len, void *data,
+                                  unsigned int len, void *data,
                                   enum dma_data_direction dir)
 {
        dma_addr_t dma_addr = dma_map_single(dev, data, len, dir);
        struct talitos_private *priv = dev_get_drvdata(dev);
        unsigned int timeout = TALITOS_TIMEOUT;
        int ch, error, reset_dev = 0;
-       u32 v, v_lo;
+       u32 v_lo;
        bool is_sec1 = has_ftr_sec1(priv);
        int reset_ch = is_sec1 ? 1 : 0; /* only SEC2 supports continuation */
 
 
                error = -EINVAL;
 
-               v = in_be32(priv->chan[ch].reg + TALITOS_CCPSR);
                v_lo = in_be32(priv->chan[ch].reg + TALITOS_CCPSR_LO);
 
                if (v_lo & TALITOS_CCPSR_LO_DOF) {
        unsigned int first;
        unsigned int last;
        unsigned int to_hash_later;
-       u64 nbuf;
+       unsigned int nbuf;
        struct scatterlist bufsl[2];
        struct scatterlist *psrc;
 };
                                            (edesc->src_nents + 1) *
                                             sizeof(struct talitos_ptr), 0);
                        ptr->j_extent |= DESC_PTR_LNKTBL_JUMP;
-                       sg_count = sg_to_link_tbl(dst, sg_count, len,
-                                                 link_tbl_ptr);
+                       sg_to_link_tbl(dst, sg_count, len, link_tbl_ptr);
                        dma_sync_single_for_device(dev, edesc->dma_link_tbl,
                                                   edesc->dma_len,
                                                   DMA_BIDIRECTIONAL);