diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 14:44:25 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-02-11 14:44:25 -0500 |
commit | 5f0b1437e0708772b6fecae5900c01c3b5f9b512 (patch) | |
tree | bcd923e305345178bc162ed8560d56a3af197224 /drivers/scsi/scsi_lib.c | |
parent | 574009c1a895aeeb85eaab29c235d75852b09eb8 (diff) | |
parent | 81b7bbd1932a04869d4c8635a75222dfc6089f96 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (97 commits)
[SCSI] zfcp: removed wrong comment
[SCSI] zfcp: use of uninitialized variable
[SCSI] zfcp: Invalid locking order
[SCSI] aic79xx: use dma_get_required_mask()
[SCSI] aic79xx: fix bracket mismatch in unused macro
[SCSI] BusLogic: Replace 'boolean' by 'bool'
[SCSI] advansys: clean up warnings
[SCSI] 53c7xx: brackets fix in uncompiled code
[SCSI] nsp_cs: remove old scsi code
[SCSI] aic79xx: make ahd_match_scb() static
[SCSI] DAC960: kmalloc->kzalloc/Casting cleanups
[SCSI] scsi_kmap_atomic_sg(): check that local irqs are disabled
[SCSI] Buslogic: local_irq_disable() is redundant after local_irq_save()
[SCSI] aic94xx: update for v28 firmware
[SCSI] scsi_error: Fix lost EH commands
[SCSI] aic94xx: Add default bus reset handler
[SCSI] aic94xx: Remove TMF result code munging
[SCSI] libsas: Add an LU reset mechanism to the error handler
[SCSI] libsas: Don't BUG when connecting two expanders via wide port
[SCSI] st: fix Tape dies if wrong block size used, bug 7919
...
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index a1cd6e6a292a..9f7482d0b594 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
@@ -1399,7 +1399,7 @@ static void scsi_softirq_done(struct request *rq) | |||
1399 | scsi_finish_command(cmd); | 1399 | scsi_finish_command(cmd); |
1400 | break; | 1400 | break; |
1401 | case NEEDS_RETRY: | 1401 | case NEEDS_RETRY: |
1402 | scsi_retry_command(cmd); | 1402 | scsi_queue_insert(cmd, SCSI_MLQUEUE_EH_RETRY); |
1403 | break; | 1403 | break; |
1404 | case ADD_TO_MLQUEUE: | 1404 | case ADD_TO_MLQUEUE: |
1405 | scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY); | 1405 | scsi_queue_insert(cmd, SCSI_MLQUEUE_DEVICE_BUSY); |
@@ -2249,6 +2249,8 @@ void *scsi_kmap_atomic_sg(struct scatterlist *sg, int sg_count, | |||
2249 | size_t sg_len = 0, len_complete = 0; | 2249 | size_t sg_len = 0, len_complete = 0; |
2250 | struct page *page; | 2250 | struct page *page; |
2251 | 2251 | ||
2252 | WARN_ON(!irqs_disabled()); | ||
2253 | |||
2252 | for (i = 0; i < sg_count; i++) { | 2254 | for (i = 0; i < sg_count; i++) { |
2253 | len_complete = sg_len; /* Complete sg-entries */ | 2255 | len_complete = sg_len; /* Complete sg-entries */ |
2254 | sg_len += sg[i].length; | 2256 | sg_len += sg[i].length; |