diff options
| -rw-r--r-- | drivers/scsi/st.c | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index fec5568c711a..ce1fd3ab243b 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c | |||
| @@ -189,7 +189,6 @@ static void normalize_buffer(struct st_buffer *); | |||
| 189 | static int append_to_buffer(const char __user *, struct st_buffer *, int); | 189 | static int append_to_buffer(const char __user *, struct st_buffer *, int); |
| 190 | static int from_buffer(struct st_buffer *, char __user *, int); | 190 | static int from_buffer(struct st_buffer *, char __user *, int); |
| 191 | static void move_buffer_data(struct st_buffer *, int); | 191 | static void move_buffer_data(struct st_buffer *, int); |
| 192 | static void buf_to_sg(struct st_buffer *, unsigned int); | ||
| 193 | 192 | ||
| 194 | static int sgl_map_user_pages(struct st_buffer *, const unsigned int, | 193 | static int sgl_map_user_pages(struct st_buffer *, const unsigned int, |
| 195 | unsigned long, size_t, int); | 194 | unsigned long, size_t, int); |
| @@ -554,8 +553,6 @@ st_do_scsi(struct st_request * SRpnt, struct scsi_tape * STp, unsigned char *cmd | |||
| 554 | mdata->nr_entries = STp->buffer->sg_segs; | 553 | mdata->nr_entries = STp->buffer->sg_segs; |
| 555 | mdata->pages = STp->buffer->mapped_pages; | 554 | mdata->pages = STp->buffer->mapped_pages; |
| 556 | } else { | 555 | } else { |
| 557 | buf_to_sg(STp->buffer, bytes); | ||
| 558 | |||
| 559 | mdata->nr_entries = | 556 | mdata->nr_entries = |
| 560 | DIV_ROUND_UP(bytes, PAGE_SIZE << mdata->page_order); | 557 | DIV_ROUND_UP(bytes, PAGE_SIZE << mdata->page_order); |
| 561 | STp->buffer->map_data.pages = STp->buffer->reserved_pages; | 558 | STp->buffer->map_data.pages = STp->buffer->reserved_pages; |
| @@ -3964,32 +3961,6 @@ static void move_buffer_data(struct st_buffer * st_bp, int offset) | |||
| 3964 | } | 3961 | } |
| 3965 | } | 3962 | } |
| 3966 | 3963 | ||
| 3967 | |||
| 3968 | /* Fill the s/g list up to the length required for this transfer */ | ||
| 3969 | static void buf_to_sg(struct st_buffer *STbp, unsigned int length) | ||
| 3970 | { | ||
| 3971 | int i; | ||
| 3972 | unsigned int count; | ||
| 3973 | struct scatterlist *sg; | ||
| 3974 | struct st_buf_fragment *frp; | ||
| 3975 | |||
| 3976 | if (length == STbp->frp_sg_current) | ||
| 3977 | return; /* work already done */ | ||
| 3978 | |||
| 3979 | sg = &(STbp->sg[0]); | ||
| 3980 | frp = STbp->frp; | ||
| 3981 | for (i=count=0; count < length; i++) { | ||
| 3982 | if (length - count > frp[i].length) | ||
| 3983 | sg_set_page(&sg[i], frp[i].page, frp[i].length, 0); | ||
| 3984 | else | ||
| 3985 | sg_set_page(&sg[i], frp[i].page, length - count, 0); | ||
| 3986 | count += sg[i].length; | ||
| 3987 | } | ||
| 3988 | STbp->sg_segs = i; | ||
| 3989 | STbp->frp_sg_current = length; | ||
| 3990 | } | ||
| 3991 | |||
| 3992 | |||
| 3993 | /* Validate the options from command line or module parameters */ | 3964 | /* Validate the options from command line or module parameters */ |
| 3994 | static void validate_options(void) | 3965 | static void validate_options(void) |
| 3995 | { | 3966 | { |
