]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - lib/scatterlist.c
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
[linux-2.6-omap-h63xx.git] / lib / scatterlist.c
index 876ba6d5b6704921866d25cc47b899a045fbe6c3..8d2688ff1352e7ca9c20c6ac28292216fb8640ac 100644 (file)
@@ -422,9 +422,12 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
 {
        unsigned int offset = 0;
        struct sg_mapping_iter miter;
+       unsigned long flags;
 
        sg_miter_start(&miter, sgl, nents, SG_MITER_ATOMIC);
 
+       local_irq_save(flags);
+
        while (sg_miter_next(&miter) && offset < buflen) {
                unsigned int len;
 
@@ -442,6 +445,7 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
 
        sg_miter_stop(&miter);
 
+       local_irq_restore(flags);
        return offset;
 }