mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
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:
commit
a551b98d5f
1 changed files with 4 additions and 0 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue