diff options
author | Michal Simek <[email protected]> | 2012-03-30 12:10:03 +0200 |
---|---|---|
committer | Michal Simek <[email protected]> | 2012-03-30 12:10:03 +0200 |
commit | 6a4770e335bd4df0a4577146f76e116ab6e23f40 (patch) | |
tree | 305056c20b6ccf3a4fed00e9e32f3a1dd039cd70 /drivers/scsi/scsi_lib.c | |
parent | ac64a9caa55bdfd8d24784f25c68cb7919ddabe3 (diff) | |
parent | f52b69f86e27903d6896ed5fa7cd280fec8de532 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into next
Diffstat (limited to 'drivers/scsi/scsi_lib.c')
-rw-r--r-- | drivers/scsi/scsi_lib.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index b2c95dbe9d65..ead6405f3e51 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c @@ -682,11 +682,11 @@ static int __scsi_error_from_host_byte(struct scsi_cmnd *cmd, int result) error = -ENOLINK; break; case DID_TARGET_FAILURE: - cmd->result |= (DID_OK << 16); + set_host_byte(cmd, DID_OK); error = -EREMOTEIO; break; case DID_NEXUS_FAILURE: - cmd->result |= (DID_OK << 16); + set_host_byte(cmd, DID_OK); error = -EBADE; break; default: @@ -880,6 +880,7 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes) cmd->cmnd[0] == WRITE_SAME)) { description = "Discard failure"; action = ACTION_FAIL; + error = -EREMOTEIO; } else action = ACTION_FAIL; break; @@ -2567,7 +2568,7 @@ void *scsi_kmap_atomic_sg(struct scatterlist *sgl, int sg_count, if (*len > sg_len) *len = sg_len; - return kmap_atomic(page, KM_BIO_SRC_IRQ); + return kmap_atomic(page); } EXPORT_SYMBOL(scsi_kmap_atomic_sg); @@ -2577,6 +2578,6 @@ EXPORT_SYMBOL(scsi_kmap_atomic_sg); */ void scsi_kunmap_atomic_sg(void *virt) { - kunmap_atomic(virt, KM_BIO_SRC_IRQ); + kunmap_atomic(virt); } EXPORT_SYMBOL(scsi_kunmap_atomic_sg); |