]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/scsi/arm/scsi.h
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
[mv-sheeva.git] / drivers / scsi / arm / scsi.h
index 6dd544a5eb56a207f9918f33c1d20ce00e0cd7bd..21ba57155beacd1617440b4e9b0506c708f72d01 100644 (file)
@@ -66,7 +66,7 @@ static inline void put_next_SCp_byte(struct scsi_pointer *SCp, unsigned char c)
        SCp->this_residual -= 1;
 }
 
-static inline void init_SCp(Scsi_Cmnd *SCpnt)
+static inline void init_SCp(struct scsi_cmnd *SCpnt)
 {
        memset(&SCpnt->SCp, 0, sizeof(struct scsi_pointer));
 
@@ -74,12 +74,13 @@ static inline void init_SCp(Scsi_Cmnd *SCpnt)
                unsigned long len = 0;
                int buf;
 
-               SCpnt->SCp.buffer = (struct scatterlist *) SCpnt->buffer;
+               SCpnt->SCp.buffer = (struct scatterlist *) SCpnt->request_buffer;
                SCpnt->SCp.buffers_residual = SCpnt->use_sg - 1;
                SCpnt->SCp.ptr = (char *)
                         (page_address(SCpnt->SCp.buffer->page) +
                          SCpnt->SCp.buffer->offset);
                SCpnt->SCp.this_residual = SCpnt->SCp.buffer->length;
+               SCpnt->SCp.phase = SCpnt->request_bufflen;
 
 #ifdef BELT_AND_BRACES
                /*
@@ -98,6 +99,7 @@ static inline void init_SCp(Scsi_Cmnd *SCpnt)
        } else {
                SCpnt->SCp.ptr = (unsigned char *)SCpnt->request_buffer;
                SCpnt->SCp.this_residual = SCpnt->request_bufflen;
+               SCpnt->SCp.phase = SCpnt->request_bufflen;
        }
 
        /*