aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-05-15 13:15:48 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2018-05-15 13:15:48 -0400
commiteeba2dfa6a0d1cf40056e3a00ec21206c640eeca (patch)
treed88bc13cb9889b72cee67346d03adac7dff7745c
parentee4b65c2e820161455d1ae1ccf7a219397f32ae6 (diff)
parent7d3af7d96af7b9f51e1ef67b6f4725f545737da2 (diff)
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI fixes from James Bottomley: "Two small driver fixes: aacraid to fix an unknown IU type on task management functions which causes a firmware fault and vmw_pvscsi to change a return code to retry the operation instead of causing an immediate error" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: scsi: aacraid: Correct hba_send to include iu_type scsi: vmw-pvscsi: return DID_BUS_BUSY for adapter-initated aborts
-rw-r--r--drivers/scsi/aacraid/commsup.c8
-rw-r--r--drivers/scsi/vmw_pvscsi.c2
2 files changed, 5 insertions, 5 deletions
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c
index 0156c9623c35..d62ddd63f4fe 100644
--- a/drivers/scsi/aacraid/commsup.c
+++ b/drivers/scsi/aacraid/commsup.c
@@ -724,6 +724,8 @@ int aac_hba_send(u8 command, struct fib *fibptr, fib_callback callback,
724 int wait; 724 int wait;
725 unsigned long flags = 0; 725 unsigned long flags = 0;
726 unsigned long mflags = 0; 726 unsigned long mflags = 0;
727 struct aac_hba_cmd_req *hbacmd = (struct aac_hba_cmd_req *)
728 fibptr->hw_fib_va;
727 729
728 fibptr->flags = (FIB_CONTEXT_FLAG | FIB_CONTEXT_FLAG_NATIVE_HBA); 730 fibptr->flags = (FIB_CONTEXT_FLAG | FIB_CONTEXT_FLAG_NATIVE_HBA);
729 if (callback) { 731 if (callback) {
@@ -734,11 +736,9 @@ int aac_hba_send(u8 command, struct fib *fibptr, fib_callback callback,
734 wait = 1; 736 wait = 1;
735 737
736 738
737 if (command == HBA_IU_TYPE_SCSI_CMD_REQ) { 739 hbacmd->iu_type = command;
738 struct aac_hba_cmd_req *hbacmd =
739 (struct aac_hba_cmd_req *)fibptr->hw_fib_va;
740 740
741 hbacmd->iu_type = command; 741 if (command == HBA_IU_TYPE_SCSI_CMD_REQ) {
742 /* bit1 of request_id must be 0 */ 742 /* bit1 of request_id must be 0 */
743 hbacmd->request_id = 743 hbacmd->request_id =
744 cpu_to_le32((((u32)(fibptr - dev->fibs)) << 2) + 1); 744 cpu_to_le32((((u32)(fibptr - dev->fibs)) << 2) + 1);
diff --git a/drivers/scsi/vmw_pvscsi.c b/drivers/scsi/vmw_pvscsi.c
index c374e3b5c678..777e5f1e52d1 100644
--- a/drivers/scsi/vmw_pvscsi.c
+++ b/drivers/scsi/vmw_pvscsi.c
@@ -609,7 +609,7 @@ static void pvscsi_complete_request(struct pvscsi_adapter *adapter,
609 break; 609 break;
610 610
611 case BTSTAT_ABORTQUEUE: 611 case BTSTAT_ABORTQUEUE:
612 cmd->result = (DID_ABORT << 16); 612 cmd->result = (DID_BUS_BUSY << 16);
613 break; 613 break;
614 614
615 case BTSTAT_SCSIPARITY: 615 case BTSTAT_SCSIPARITY: