[kernel] r19440 - in dists/sid/linux/debian: . patches patches/bugfix/x86

Ben Hutchings benh at alioth.debian.org
Sun Oct 21 02:43:36 UTC 2012


Author: benh
Date: Sun Oct 21 02:43:35 2012
New Revision: 19440

Log:
[x86] storvsc: Account for in-transit packets in the RESET path

Added:
   dists/sid/linux/debian/patches/bugfix/x86/SCSI-storvsc-Account-for-in-transit-packets-in-the-R.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Sat Oct 20 06:00:02 2012	(r19439)
+++ dists/sid/linux/debian/changelog	Sun Oct 21 02:43:35 2012	(r19440)
@@ -93,6 +93,7 @@
     - rt: rwsem/rwlock: lockdep annotations
     - sched: Better debug output for might sleep
     - stomp_machine: Use mutex_trylock when called from inactive cpu
+  * [x86] storvsc: Account for in-transit packets in the RESET path
 
  -- Ben Hutchings <ben at decadent.org.uk>  Sat, 29 Sep 2012 14:19:46 +0200
 

Added: dists/sid/linux/debian/patches/bugfix/x86/SCSI-storvsc-Account-for-in-transit-packets-in-the-R.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux/debian/patches/bugfix/x86/SCSI-storvsc-Account-for-in-transit-packets-in-the-R.patch	Sun Oct 21 02:43:35 2012	(r19440)
@@ -0,0 +1,35 @@
+From: "K. Y. Srinivasan" <kys at microsoft.com>
+Date: Tue, 2 Oct 2012 11:03:31 -0700
+Subject: [SCSI] storvsc: Account for in-transit packets in the RESET path
+
+commit 5c1b10ab7f93d24f29b5630286e323d1c5802d5c upstream.
+
+Properly account for I/O in transit before returning from the RESET call.
+In the absense of this patch, we could have a situation where the host may
+respond to a command that was issued prior to the issuance of the RESET
+command at some arbitrary time after responding to the RESET command.
+Currently, the host does not do anything with the RESET command.
+
+Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
+Signed-off-by: James Bottomley <JBottomley at Parallels.com>
+---
+ drivers/scsi/storvsc_drv.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
+index 528d52b..0144078 100644
+--- a/drivers/scsi/storvsc_drv.c
++++ b/drivers/scsi/storvsc_drv.c
+@@ -1221,7 +1221,12 @@ static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd)
+ 	/*
+ 	 * At this point, all outstanding requests in the adapter
+ 	 * should have been flushed out and return to us
++	 * There is a potential race here where the host may be in
++	 * the process of responding when we return from here.
++	 * Just wait for all in-transit packets to be accounted for
++	 * before we return from here.
+ 	 */
++	storvsc_wait_to_drain(stor_device);
+ 
+ 	return SUCCESS;
+ }

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Sat Oct 20 06:00:02 2012	(r19439)
+++ dists/sid/linux/debian/patches/series	Sun Oct 21 02:43:35 2012	(r19440)
@@ -401,3 +401,4 @@
 debian/iwlwifi-do-not-request-unreleased-firmware.patch
 debian/hid-avoid-ABI-change-in-3.2.31.patch
 debian/xfrm-avoid-ABI-change-in-3.2.31.patch
+bugfix/x86/SCSI-storvsc-Account-for-in-transit-packets-in-the-R.patch



More information about the Kernel-svn-changes mailing list