diff options
Diffstat (limited to 'lib/scatterlist.c')
| -rw-r--r-- | lib/scatterlist.c | 6 | 
1 files changed, 1 insertions, 5 deletions
| diff --git a/lib/scatterlist.c b/lib/scatterlist.c index 004fc70fc56a..c6cf82242d65 100644 --- a/lib/scatterlist.c +++ b/lib/scatterlist.c | |||
| @@ -651,7 +651,6 @@ size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, | |||
| 651 | { | 651 | { | 
| 652 | unsigned int offset = 0; | 652 | unsigned int offset = 0; | 
| 653 | struct sg_mapping_iter miter; | 653 | struct sg_mapping_iter miter; | 
| 654 | unsigned long flags; | ||
| 655 | unsigned int sg_flags = SG_MITER_ATOMIC; | 654 | unsigned int sg_flags = SG_MITER_ATOMIC; | 
| 656 | 655 | ||
| 657 | if (to_buffer) | 656 | if (to_buffer) | 
| @@ -664,9 +663,7 @@ size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, | |||
| 664 | if (!sg_miter_skip(&miter, skip)) | 663 | if (!sg_miter_skip(&miter, skip)) | 
| 665 | return false; | 664 | return false; | 
| 666 | 665 | ||
| 667 | local_irq_save(flags); | 666 | while ((offset < buflen) && sg_miter_next(&miter)) { | 
| 668 | |||
| 669 | while (sg_miter_next(&miter) && offset < buflen) { | ||
| 670 | unsigned int len; | 667 | unsigned int len; | 
| 671 | 668 | ||
| 672 | len = min(miter.length, buflen - offset); | 669 | len = min(miter.length, buflen - offset); | 
| @@ -681,7 +678,6 @@ size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents, void *buf, | |||
| 681 | 678 | ||
| 682 | sg_miter_stop(&miter); | 679 | sg_miter_stop(&miter); | 
| 683 | 680 | ||
| 684 | local_irq_restore(flags); | ||
| 685 | return offset; | 681 | return offset; | 
| 686 | } | 682 | } | 
| 687 | EXPORT_SYMBOL(sg_copy_buffer); | 683 | EXPORT_SYMBOL(sg_copy_buffer); | 
