Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  sg: disable interrupts inside sg_copy_buffer
This commit is contained in:
Linus Torvalds 2008-09-11 11:50:15 -07:00
commit a551b98d5f

View file

@ -422,9 +422,12 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
{ {
unsigned int offset = 0; unsigned int offset = 0;
struct sg_mapping_iter miter; struct sg_mapping_iter miter;
unsigned long flags;
sg_miter_start(&miter, sgl, nents, SG_MITER_ATOMIC); sg_miter_start(&miter, sgl, nents, SG_MITER_ATOMIC);
local_irq_save(flags);
while (sg_miter_next(&miter) && offset < buflen) { while (sg_miter_next(&miter) && offset < buflen) {
unsigned int len; unsigned int len;
@ -442,6 +445,7 @@ static size_t sg_copy_buffer(struct scatterlist *sgl, unsigned int nents,
sg_miter_stop(&miter); sg_miter_stop(&miter);
local_irq_restore(flags);
return offset; return offset;
} }