diff options
author | Andrew Morton <akpm@osdl.org> | 2007-02-05 19:39:03 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-02-07 18:29:36 -0500 |
commit | 22cfefb56b53103a99908ec63311e61c217eaffe (patch) | |
tree | 94f82761269ddd07f6925aaf9817e72bd0deaf61 /drivers/scsi | |
parent | 44746438973e4f9ed9bdf3347e75f60f105b325a (diff) |
[SCSI] scsi_kmap_atomic_sg(): check that local irqs are disabled
The KM_BIO_SRC_IRQ kmap slot must be taken with local irqs disabled. Add a
check into scsi for this.
Cc: James Bottomley <James.Bottomley@steeleye.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index 503f09c2f05f..0f9b6c275417 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -2250,6 +2250,8 @@ void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count, | |||
2250 | size_t sg_len = 0, len_complete = 0; | 2250 | size_t sg_len = 0, len_complete = 0; |
2251 | struct page *page; | 2251 | struct page *page; |
2252 | 2252 | ||
2253 | WARN_ON(!irqs_disabled()); | ||
2254 | |||
2253 | for (i = 0; i < sg_count; i++) { | 2255 | for (i = 0; i < sg_count; i++) { |
2254 | len_complete = sg_len; /* Complete sg-entries */ | 2256 | len_complete = sg_len; /* Complete sg-entries */ |
2255 | sg_len += sg[i].length; | 2257 | sg_len += sg[i].length; |