mmc-omap: add support for 16-bit and 32-bit registers
[safe/jmp/linux-2.6] / drivers / scsi / libsrp.c
index f79602f..ff6a28c 100644 (file)
@@ -19,6 +19,7 @@
  * 02110-1301 USA
  */
 #include <linux/err.h>
+#include <linux/slab.h>
 #include <linux/kfifo.h>
 #include <linux/scatterlist.h>
 #include <linux/dma-mapping.h>
@@ -328,7 +329,7 @@ int srp_transfer_data(struct scsi_cmnd *sc, struct srp_cmd *cmd,
        int offset, err = 0;
        u8 format;
 
-       offset = cmd->add_cdb_len * 4;
+       offset = cmd->add_cdb_len & ~3;
 
        dir = srp_cmd_direction(cmd);
        if (dir == DMA_FROM_DEVICE)
@@ -366,7 +367,7 @@ static int vscsis_data_length(struct srp_cmd *cmd, enum dma_data_direction dir)
 {
        struct srp_direct_buf *md;
        struct srp_indirect_buf *id;
-       int len = 0, offset = cmd->add_cdb_len * 4;
+       int len = 0, offset = cmd->add_cdb_len & ~3;
        u8 fmt;
 
        if (dir == DMA_TO_DEVICE)