diff mbox

[SRU,Vivid,Wily,1/1] storvsc: Set the SRB flags correctly when no data transfer is needed

Message ID bf09d3038bd677d5ededb498e1ff03d87ae2e8f6.1433525892.git.joseph.salisbury@canonical.com
State New
Headers show

Commit Message

Joseph Salisbury June 5, 2015, 6 p.m. UTC
From: "K. Y. Srinivasan" <kys@microsoft.com>

BugLink: http://bugs.launchpad.net/bugs/1439780

Set the SRB flags correctly when there is no data transfer.  Without this
change some IHV drivers will fail valid commands such as TEST_UNIT_READY.

Cc: <stable@vger.kernel.org>
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Reviewed-by: Long Li <longli@microsoft.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
(cherry picked from commit dc45708ca9988656d706940df5fd102672c5de92)
Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
---
 drivers/scsi/storvsc_drv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Seth Forshee June 5, 2015, 6:07 p.m. UTC | #1

Colin Ian King June 5, 2015, 6:17 p.m. UTC | #2
On 05/06/15 19:00, Joseph Salisbury wrote:
> From: "K. Y. Srinivasan" <kys@microsoft.com>
> 
> BugLink: http://bugs.launchpad.net/bugs/1439780
> 
> Set the SRB flags correctly when there is no data transfer.  Without this
> change some IHV drivers will fail valid commands such as TEST_UNIT_READY.
> 
> Cc: <stable@vger.kernel.org>
> Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
> Reviewed-by: Long Li <longli@microsoft.com>
> Signed-off-by: James Bottomley <JBottomley@Odin.com>
> (cherry picked from commit dc45708ca9988656d706940df5fd102672c5de92)
> Signed-off-by: Joseph Salisbury <joseph.salisbury@canonical.com>
> ---
>  drivers/scsi/storvsc_drv.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
> index bf8c5c1..75efaae 100644
> --- a/drivers/scsi/storvsc_drv.c
> +++ b/drivers/scsi/storvsc_drv.c
> @@ -1565,8 +1565,7 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
>  		break;
>  	default:
>  		vm_srb->data_in = UNKNOWN_TYPE;
> -		vm_srb->win8_extension.srb_flags |= (SRB_FLAGS_DATA_IN |
> -						     SRB_FLAGS_DATA_OUT);
> +		vm_srb->win8_extension.srb_flags |= SRB_FLAGS_NO_DATA_TRANSFER;
>  		break;
>  	}
>  
> 
Upstream cherry pick, does what it says, looks sane to me, and has been
tested.

Acked-by: Colin Ian King <colin.king@canonical.com>
diff mbox

Patch

diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index bf8c5c1..75efaae 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -1565,8 +1565,7 @@  static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
 		break;
 	default:
 		vm_srb->data_in = UNKNOWN_TYPE;
-		vm_srb->win8_extension.srb_flags |= (SRB_FLAGS_DATA_IN |
-						     SRB_FLAGS_DATA_OUT);
+		vm_srb->win8_extension.srb_flags |= SRB_FLAGS_NO_DATA_TRANSFER;
 		break;
 	}