diff options
author | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-10 09:32:46 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-10 09:32:46 -0400 |
commit | 0ae28a35bcb7984838acbf28bfba9c030f8b74f0 (patch) | |
tree | 4f449d929b5df9e126e839f388ff0fd2b52028a0 /drivers/scsi/libsas | |
parent | 6f1f3d0ab5c3eeea9f04486481c25e9afdfa26c5 (diff) | |
parent | b57f95a38233a2e73b679bea4a5453a1cc2a1cc9 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts:
drivers/mtd/mtdcore.c
Pull in the bdi fixes and ARM platform changes that other outstanding
patches depend on.
Diffstat (limited to 'drivers/scsi/libsas')
-rw-r--r-- | drivers/scsi/libsas/sas_ata.c | 5 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_discover.c | 1 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_expander.c | 1 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_host_smp.c | 1 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_init.c | 1 | ||||
-rw-r--r-- | drivers/scsi/libsas/sas_scsi_host.c | 5 |
6 files changed, 14 insertions, 0 deletions
diff --git a/drivers/scsi/libsas/sas_ata.c b/drivers/scsi/libsas/sas_ata.c index e1550117069..88f74467257 100644 --- a/drivers/scsi/libsas/sas_ata.c +++ b/drivers/scsi/libsas/sas_ata.c | |||
@@ -22,6 +22,7 @@ | |||
22 | */ | 22 | */ |
23 | 23 | ||
24 | #include <linux/scatterlist.h> | 24 | #include <linux/scatterlist.h> |
25 | #include <linux/slab.h> | ||
25 | 26 | ||
26 | #include <scsi/sas_ata.h> | 27 | #include <scsi/sas_ata.h> |
27 | #include "sas_internal.h" | 28 | #include "sas_internal.h" |
@@ -394,11 +395,15 @@ int sas_ata_init_host_and_port(struct domain_device *found_dev, | |||
394 | void sas_ata_task_abort(struct sas_task *task) | 395 | void sas_ata_task_abort(struct sas_task *task) |
395 | { | 396 | { |
396 | struct ata_queued_cmd *qc = task->uldd_task; | 397 | struct ata_queued_cmd *qc = task->uldd_task; |
398 | struct request_queue *q = qc->scsicmd->device->request_queue; | ||
397 | struct completion *waiting; | 399 | struct completion *waiting; |
400 | unsigned long flags; | ||
398 | 401 | ||
399 | /* Bounce SCSI-initiated commands to the SCSI EH */ | 402 | /* Bounce SCSI-initiated commands to the SCSI EH */ |
400 | if (qc->scsicmd) { | 403 | if (qc->scsicmd) { |
404 | spin_lock_irqsave(q->queue_lock, flags); | ||
401 | blk_abort_request(qc->scsicmd->request); | 405 | blk_abort_request(qc->scsicmd->request); |
406 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
402 | scsi_schedule_eh(qc->scsicmd->device->host); | 407 | scsi_schedule_eh(qc->scsicmd->device->host); |
403 | return; | 408 | return; |
404 | } | 409 | } |
diff --git a/drivers/scsi/libsas/sas_discover.c b/drivers/scsi/libsas/sas_discover.c index facc5bfcf7d..f5831930df9 100644 --- a/drivers/scsi/libsas/sas_discover.c +++ b/drivers/scsi/libsas/sas_discover.c | |||
@@ -23,6 +23,7 @@ | |||
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include <linux/scatterlist.h> | 25 | #include <linux/scatterlist.h> |
26 | #include <linux/slab.h> | ||
26 | #include <scsi/scsi_host.h> | 27 | #include <scsi/scsi_host.h> |
27 | #include <scsi/scsi_eh.h> | 28 | #include <scsi/scsi_eh.h> |
28 | #include "sas_internal.h" | 29 | #include "sas_internal.h" |
diff --git a/drivers/scsi/libsas/sas_expander.c b/drivers/scsi/libsas/sas_expander.c index 33cf988c8c8..c65af02dcfe 100644 --- a/drivers/scsi/libsas/sas_expander.c +++ b/drivers/scsi/libsas/sas_expander.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include <linux/scatterlist.h> | 25 | #include <linux/scatterlist.h> |
26 | #include <linux/blkdev.h> | 26 | #include <linux/blkdev.h> |
27 | #include <linux/slab.h> | ||
27 | 28 | ||
28 | #include "sas_internal.h" | 29 | #include "sas_internal.h" |
29 | 30 | ||
diff --git a/drivers/scsi/libsas/sas_host_smp.c b/drivers/scsi/libsas/sas_host_smp.c index 1bc3b756799..04ad8dd1a74 100644 --- a/drivers/scsi/libsas/sas_host_smp.c +++ b/drivers/scsi/libsas/sas_host_smp.c | |||
@@ -10,6 +10,7 @@ | |||
10 | */ | 10 | */ |
11 | #include <linux/scatterlist.h> | 11 | #include <linux/scatterlist.h> |
12 | #include <linux/blkdev.h> | 12 | #include <linux/blkdev.h> |
13 | #include <linux/slab.h> | ||
13 | 14 | ||
14 | #include "sas_internal.h" | 15 | #include "sas_internal.h" |
15 | 16 | ||
diff --git a/drivers/scsi/libsas/sas_init.c b/drivers/scsi/libsas/sas_init.c index 9cd5abe9e71..2dc55343f67 100644 --- a/drivers/scsi/libsas/sas_init.c +++ b/drivers/scsi/libsas/sas_init.c | |||
@@ -24,6 +24,7 @@ | |||
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/module.h> | 26 | #include <linux/module.h> |
27 | #include <linux/slab.h> | ||
27 | #include <linux/init.h> | 28 | #include <linux/init.h> |
28 | #include <linux/device.h> | 29 | #include <linux/device.h> |
29 | #include <linux/spinlock.h> | 30 | #include <linux/spinlock.h> |
diff --git a/drivers/scsi/libsas/sas_scsi_host.c b/drivers/scsi/libsas/sas_scsi_host.c index 14b13196b22..822835055ce 100644 --- a/drivers/scsi/libsas/sas_scsi_host.c +++ b/drivers/scsi/libsas/sas_scsi_host.c | |||
@@ -44,6 +44,7 @@ | |||
44 | #include <linux/err.h> | 44 | #include <linux/err.h> |
45 | #include <linux/blkdev.h> | 45 | #include <linux/blkdev.h> |
46 | #include <linux/freezer.h> | 46 | #include <linux/freezer.h> |
47 | #include <linux/gfp.h> | ||
47 | #include <linux/scatterlist.h> | 48 | #include <linux/scatterlist.h> |
48 | #include <linux/libata.h> | 49 | #include <linux/libata.h> |
49 | 50 | ||
@@ -1029,6 +1030,8 @@ int __sas_task_abort(struct sas_task *task) | |||
1029 | void sas_task_abort(struct sas_task *task) | 1030 | void sas_task_abort(struct sas_task *task) |
1030 | { | 1031 | { |
1031 | struct scsi_cmnd *sc = task->uldd_task; | 1032 | struct scsi_cmnd *sc = task->uldd_task; |
1033 | struct request_queue *q = sc->device->request_queue; | ||
1034 | unsigned long flags; | ||
1032 | 1035 | ||
1033 | /* Escape for libsas internal commands */ | 1036 | /* Escape for libsas internal commands */ |
1034 | if (!sc) { | 1037 | if (!sc) { |
@@ -1043,7 +1046,9 @@ void sas_task_abort(struct sas_task *task) | |||
1043 | return; | 1046 | return; |
1044 | } | 1047 | } |
1045 | 1048 | ||
1049 | spin_lock_irqsave(q->queue_lock, flags); | ||
1046 | blk_abort_request(sc->request); | 1050 | blk_abort_request(sc->request); |
1051 | spin_unlock_irqrestore(q->queue_lock, flags); | ||
1047 | scsi_schedule_eh(sc->device->host); | 1052 | scsi_schedule_eh(sc->device->host); |
1048 | } | 1053 | } |
1049 | 1054 | ||