[kernel] r19924 - in dists/sid/linux/debian: . patches patches/bugfix/all patches/features/all/drm patches/features/x86/hyperv

Ben Hutchings benh at alioth.debian.org
Thu Mar 21 00:43:02 UTC 2013


Author: benh
Date: Thu Mar 21 00:43:02 2013
New Revision: 19924

Log:
Update to 3.2.41

Deleted:
   dists/sid/linux/debian/patches/bugfix/all/md-protect-against-crash-upon-fsync-on-ro-array.patch
   dists/sid/linux/debian/patches/features/x86/hyperv/0001-NLS-improve-UTF8-UTF16-string-conversion-routine.patch
Modified:
   dists/sid/linux/debian/changelog
   dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch
   dists/sid/linux/debian/patches/features/x86/hyperv/0055-Staging-hv-storvsc-Get-rid-of-the-on_io_completion-i.patch
   dists/sid/linux/debian/patches/features/x86/hyperv/0067-Staging-hv-storvsc-Move-the-storage-driver-out-of-th.patch
   dists/sid/linux/debian/patches/series

Modified: dists/sid/linux/debian/changelog
==============================================================================
--- dists/sid/linux/debian/changelog	Wed Mar 20 23:58:50 2013	(r19923)
+++ dists/sid/linux/debian/changelog	Thu Mar 21 00:43:02 2013	(r19924)
@@ -1,4 +1,4 @@
-linux (3.2.40-1) UNRELEASED; urgency=low
+linux (3.2.41-1) UNRELEASED; urgency=low
 
   * New upstream stable update:
     http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.40
@@ -46,6 +46,34 @@
       AI commands
     - staging: comedi: ni_labpc: set up command4 register *after* command3
     - vhost: fix length for cross region descriptor (CVE-2013-0311)
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.41
+    - NFS: Don't allow NFS silly-renamed files to be deleted, no signal
+    - ARM: VFP: fix emulation of second VFP instruction
+    - md: fix two bugs when attempting to resize RAID0 array.
+    - proc connector: reject unprivileged listener bumps
+    - cifs: ensure that cifs_get_root() only traverses directories
+    - dm: fix truncated status strings
+    - hw_random: make buffer usable in scatterlist. (real fix for #701784)
+    - efi_pstore: Check remaining space with QueryVariableInfo() before
+      writing data
+    - efi: be more paranoid about available space when creating variables
+      (Closes: #703574)
+    - vfs: fix pipe counter breakage
+    - xen/pciback: Don't disable a PCI device that is already disabled.
+    - ALSA: seq: Fix missing error handling in snd_seq_timer_open()
+    - ext3: Fix format string issues (CVE-2013-1848)
+    - keys: fix race with concurrent install_user_keyrings() (CVE-2013-1792)
+    - USB: cdc-wdm: fix buffer overflow (CVE-2013-1860)
+    - signal: always clear sa_restorer on execve (CVE-2013-0914)
+    - crypto: user - fix info leaks in report API (CVE-2013-2546,
+      CVE-2013-2547, CVE-2013-2548)
+    - Fix: compat_rw_copy_check_uvector() misuse in aio, readv, writev, and
+      security keys
+    - batman-adv: bat_socket_read missing checks
+    - batman-adv: Only write requested number of byte to user buffer
+    - mm/hotplug: correctly add new zone to all other nodes' zone lists
+      (CVE-2012-5517)
+    - btrfs: use rcu_barrier() to wait for bdev puts at unmount
 
   [ Aurelien Jarno]
   * [mips,mipsel] Disable VGA_CONSOLE and ignore the corresponding ABI

Modified: dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch	Wed Mar 20 23:58:50 2013	(r19923)
+++ dists/sid/linux/debian/patches/features/all/drm/drm-3.4.patch	Thu Mar 21 00:43:02 2013	(r19924)
@@ -47732,7 +47732,7 @@
  
  	drm_encoder_helper_add(&crt->base.base, &intel_crt_helper_funcs);
 diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
-index 2303c2b..3c9b9c5 100644
+index 4591582..3c9b9c5 100644
 --- a/drivers/gpu/drm/i915/intel_display.c
 +++ b/drivers/gpu/drm/i915/intel_display.c
 @@ -75,7 +75,7 @@ struct intel_limit {
@@ -49149,7 +49149,46 @@
  err:
  	return ret;
  }
-@@ -7559,10 +7838,9 @@ static void intel_setup_outputs(struct drm_device *dev)
+@@ -7280,8 +7559,8 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+ {
+ 	struct drm_device *dev = crtc->dev;
+ 	struct drm_i915_private *dev_priv = dev->dev_private;
+-	struct drm_framebuffer *old_fb = crtc->fb;
+-	struct drm_i915_gem_object *obj = to_intel_framebuffer(fb)->obj;
++	struct intel_framebuffer *intel_fb;
++	struct drm_i915_gem_object *obj;
+ 	struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+ 	struct intel_unpin_work *work;
+ 	unsigned long flags;
+@@ -7293,7 +7572,8 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+ 
+ 	work->event = event;
+ 	work->dev = crtc->dev;
+-	work->old_fb_obj = to_intel_framebuffer(old_fb)->obj;
++	intel_fb = to_intel_framebuffer(crtc->fb);
++	work->old_fb_obj = intel_fb->obj;
+ 	INIT_WORK(&work->work, intel_unpin_work_fn);
+ 
+ 	ret = drm_vblank_get(dev, intel_crtc->pipe);
+@@ -7313,6 +7593,9 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+ 	intel_crtc->unpin_work = work;
+ 	spin_unlock_irqrestore(&dev->event_lock, flags);
+ 
++	intel_fb = to_intel_framebuffer(fb);
++	obj = intel_fb->obj;
++
+ 	mutex_lock(&dev->struct_mutex);
+ 
+ 	/* Reference the objects for the scheduled work. */
+@@ -7343,7 +7626,6 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc,
+ 
+ cleanup_pending:
+ 	atomic_sub(1 << intel_crtc->plane, &work->old_fb_obj->pending_flip);
+-	crtc->fb = old_fb;
+ 	drm_gem_object_unreference(&work->old_fb_obj->base);
+ 	drm_gem_object_unreference(&obj->base);
+ 	mutex_unlock(&dev->struct_mutex);
+@@ -7556,10 +7838,9 @@ static void intel_setup_outputs(struct drm_device *dev)
  	struct drm_i915_private *dev_priv = dev->dev_private;
  	struct intel_encoder *encoder;
  	bool dpd_is_edp = false;
@@ -49162,7 +49201,7 @@
  	if (!has_lvds && !HAS_PCH_SPLIT(dev)) {
  		/* disable the panel fitter on everything but LVDS */
  		I915_WRITE(PFIT_CONTROL, 0);
-@@ -7691,7 +7969,7 @@ static const struct drm_framebuffer_funcs intel_fb_funcs = {
+@@ -7688,7 +7969,7 @@ static const struct drm_framebuffer_funcs intel_fb_funcs = {
  
  int intel_framebuffer_init(struct drm_device *dev,
  			   struct intel_framebuffer *intel_fb,
@@ -49171,7 +49210,7 @@
  			   struct drm_i915_gem_object *obj)
  {
  	int ret;
-@@ -7699,21 +7977,27 @@ int intel_framebuffer_init(struct drm_device *dev,
+@@ -7696,21 +7977,27 @@ int intel_framebuffer_init(struct drm_device *dev,
  	if (obj->tiling_mode == I915_TILING_Y)
  		return -EINVAL;
  
@@ -49209,7 +49248,7 @@
  		return -EINVAL;
  	}
  
-@@ -7731,11 +8015,12 @@ int intel_framebuffer_init(struct drm_device *dev,
+@@ -7728,11 +8015,12 @@ int intel_framebuffer_init(struct drm_device *dev,
  static struct drm_framebuffer *
  intel_user_framebuffer_create(struct drm_device *dev,
  			      struct drm_file *filp,
@@ -49224,7 +49263,7 @@
  	if (&obj->base == NULL)
  		return ERR_PTR(-ENOENT);
  
-@@ -8004,7 +8289,7 @@ void intel_init_emon(struct drm_device *dev)
+@@ -8001,7 +8289,7 @@ void intel_init_emon(struct drm_device *dev)
  	dev_priv->corr = (lcfuse & LCFUSE_HIV_MASK);
  }
  
@@ -49233,7 +49272,7 @@
  {
  	/*
  	 * Respect the kernel parameter if it is set
-@@ -8022,11 +8307,11 @@ static bool intel_enable_rc6(struct drm_device *dev)
+@@ -8019,11 +8307,11 @@ static bool intel_enable_rc6(struct drm_device *dev)
  	 * Disable rc6 on Sandybridge
  	 */
  	if (INTEL_INFO(dev)->gen == 6) {
@@ -49249,7 +49288,7 @@
  }
  
  void gen6_enable_rps(struct drm_i915_private *dev_priv)
-@@ -8034,7 +8319,9 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
+@@ -8031,7 +8319,9 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
  	u32 rp_state_cap = I915_READ(GEN6_RP_STATE_CAP);
  	u32 gt_perf_status = I915_READ(GEN6_GT_PERF_STATUS);
  	u32 pcu_mbox, rc6_mask = 0;
@@ -49259,7 +49298,7 @@
  	int i;
  
  	/* Here begins a magic sequence of register writes to enable
-@@ -8045,6 +8332,13 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
+@@ -8042,6 +8332,13 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
  	 */
  	I915_WRITE(GEN6_RC_STATE, 0);
  	mutex_lock(&dev_priv->dev->struct_mutex);
@@ -49273,7 +49312,7 @@
  	gen6_gt_force_wake_get(dev_priv);
  
  	/* disable the counters and set deterministic thresholds */
-@@ -8065,9 +8359,20 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
+@@ -8062,9 +8359,20 @@ void gen6_enable_rps(struct drm_i915_private *dev_priv)
  	I915_WRITE(GEN6_RC6p_THRESHOLD, 100000);
  	I915_WRITE(GEN6_RC6pp_THRESHOLD, 64000); /* unused */
  
@@ -49297,7 +49336,7 @@
  
  	I915_WRITE(GEN6_RC_CONTROL,
  		   rc6_mask |
-@@ -8295,6 +8600,10 @@ static void gen6_init_clock_gating(struct drm_device *dev)
+@@ -8292,6 +8600,10 @@ static void gen6_init_clock_gating(struct drm_device *dev)
  	I915_WRITE(WM2_LP_ILK, 0);
  	I915_WRITE(WM1_LP_ILK, 0);
  
@@ -49308,7 +49347,7 @@
  	/* According to the BSpec vol1g, bit 12 (RCPBUNIT) clock
  	 * gating disable must be set.  Failure to set it results in
  	 * flickering pixels due to Z write ordering failures after
-@@ -8373,6 +8682,10 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
+@@ -8370,6 +8682,10 @@ static void ivybridge_init_clock_gating(struct drm_device *dev)
  
  	I915_WRITE(ILK_DSPCLK_GATE, IVB_VRHUNIT_CLK_GATE);
  
@@ -49319,7 +49358,7 @@
  	/* Apply the WaDisableRHWOOptimizationForRenderHang workaround. */
  	I915_WRITE(GEN7_COMMON_SLICE_CHICKEN1,
  		   GEN7_CSC1_RHWO_OPT_DISABLE_IN_RCC);
-@@ -8683,9 +8996,15 @@ static void intel_init_display(struct drm_device *dev)
+@@ -8680,9 +8996,15 @@ static void intel_init_display(struct drm_device *dev)
  		if (IS_IVYBRIDGE(dev)) {
  			u32	ecobus;
  
@@ -49336,7 +49375,7 @@
  			__gen6_gt_force_wake_mt_put(dev_priv);
  			mutex_unlock(&dev->struct_mutex);
  
-@@ -8717,6 +9036,7 @@ static void intel_init_display(struct drm_device *dev)
+@@ -8714,6 +9036,7 @@ static void intel_init_display(struct drm_device *dev)
  		} else if (IS_GEN6(dev)) {
  			if (SNB_READ_WM0_LATENCY()) {
  				dev_priv->display.update_wm = sandybridge_update_wm;
@@ -49344,7 +49383,7 @@
  			} else {
  				DRM_DEBUG_KMS("Failed to read display plane latency. "
  					      "Disable CxSR\n");
-@@ -8730,6 +9050,7 @@ static void intel_init_display(struct drm_device *dev)
+@@ -8727,6 +9050,7 @@ static void intel_init_display(struct drm_device *dev)
  			dev_priv->display.fdi_link_train = ivb_manual_fdi_link_train;
  			if (SNB_READ_WM0_LATENCY()) {
  				dev_priv->display.update_wm = sandybridge_update_wm;
@@ -49352,7 +49391,7 @@
  			} else {
  				DRM_DEBUG_KMS("Failed to read display plane latency. "
  					      "Disable CxSR\n");
-@@ -8842,8 +9163,6 @@ struct intel_quirk {
+@@ -8839,8 +9163,6 @@ struct intel_quirk {
  };
  
  struct intel_quirk intel_quirks[] = {
@@ -49361,7 +49400,7 @@
  	/* HP Mini needs pipe A force quirk (LP: #322104) */
  	{ 0x27ae, 0x103c, 0x361a, quirk_pipea_force },
  
-@@ -8910,33 +9229,19 @@ static void i915_disable_vga(struct drm_device *dev)
+@@ -8907,33 +9229,19 @@ static void i915_disable_vga(struct drm_device *dev)
  	POSTING_READ(vga_reg);
  }
  
@@ -49399,7 +49438,7 @@
  	dev->mode_config.funcs = (void *)&intel_mode_funcs;
  
  	intel_init_quirks(dev);
-@@ -8960,6 +9265,9 @@ void intel_modeset_init(struct drm_device *dev)
+@@ -8957,6 +9265,9 @@ void intel_modeset_init(struct drm_device *dev)
  
  	for (i = 0; i < dev_priv->num_pipe; i++) {
  		intel_crtc_init(dev, i);
@@ -85756,10 +85795,26 @@
  			tmp = RREG32_PLL(RADEON_VCLK_ECP_CNTL);
  			tmp &= ~(RADEON_PIXCLK_ALWAYS_ONb |
 diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
-index ec36dd9..a2470d9 100644
+index c32fd93..a2470d9 100644
 --- a/drivers/gpu/drm/radeon/radeon_combios.c
 +++ b/drivers/gpu/drm/radeon/radeon_combios.c
-@@ -1536,9 +1536,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
+@@ -958,15 +958,6 @@ struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct
+ 			found = 1;
+ 	}
+ 
+-	/* quirks */
+-	/* Radeon 9100 (R200) */
+-	if ((dev->pdev->device == 0x514D) &&
+-	    (dev->pdev->subsystem_vendor == 0x174B) &&
+-	    (dev->pdev->subsystem_device == 0x7149)) {
+-		/* vbios value is bad, use the default */
+-		found = 0;
+-	}
+-
+ 	if (!found) /* fallback to defaults */
+ 		radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac);
+ 
+@@ -1545,9 +1536,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
  			   of_machine_is_compatible("PowerBook6,7")) {
  			/* ibook */
  			rdev->mode_info.connector_table = CT_IBOOK;
@@ -85769,7 +85824,7 @@
  		} else if (of_machine_is_compatible("PowerMac4,4")) {
  			/* emac */
  			rdev->mode_info.connector_table = CT_EMAC;
-@@ -1564,11 +1561,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
+@@ -1573,11 +1561,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
  			   (rdev->pdev->subsystem_device == 0x4150)) {
  			/* Mac G5 tower 9600 */
  			rdev->mode_info.connector_table = CT_MAC_G5_9600;
@@ -85781,7 +85836,7 @@
  		} else
  #endif /* CONFIG_PPC_PMAC */
  #ifdef CONFIG_PPC64
-@@ -2142,115 +2134,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
+@@ -2151,115 +2134,6 @@ bool radeon_get_legacy_connector_info_from_table(struct drm_device *dev)
  					    CONNECTOR_OBJECT_ID_SVIDEO,
  					    &hpd);
  		break;
@@ -85897,7 +85952,7 @@
  	default:
  		DRM_INFO("Connector table: %d (invalid)\n",
  			 rdev->mode_info.connector_table);
-@@ -2970,7 +2853,7 @@ bool radeon_combios_external_tmds_setup(struct drm_encoder *encoder)
+@@ -2979,7 +2853,7 @@ bool radeon_combios_external_tmds_setup(struct drm_encoder *encoder)
  					case 4:
  						val = RBIOS16(index);
  						index += 2;
@@ -85906,7 +85961,7 @@
  						break;
  					case 6:
  						slave_addr = id & 0xff;
-@@ -3169,7 +3052,7 @@ static void combios_parse_pll_table(struct drm_device *dev, uint16_t offset)
+@@ -3178,7 +3052,7 @@ static void combios_parse_pll_table(struct drm_device *dev, uint16_t offset)
  					udelay(150);
  					break;
  				case 2:
@@ -85915,7 +85970,7 @@
  					break;
  				case 3:
  					while (tmp--) {
-@@ -3200,13 +3083,13 @@ static void combios_parse_pll_table(struct drm_device *dev, uint16_t offset)
+@@ -3209,13 +3083,13 @@ static void combios_parse_pll_table(struct drm_device *dev, uint16_t offset)
  						/*mclk_cntl |= 0x00001111;*//* ??? */
  						WREG32_PLL(RADEON_MCLK_CNTL,
  							   mclk_cntl);

Modified: dists/sid/linux/debian/patches/features/x86/hyperv/0055-Staging-hv-storvsc-Get-rid-of-the-on_io_completion-i.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/x86/hyperv/0055-Staging-hv-storvsc-Get-rid-of-the-on_io_completion-i.patch	Wed Mar 20 23:58:50 2013	(r19923)
+++ dists/sid/linux/debian/patches/features/x86/hyperv/0055-Staging-hv-storvsc-Get-rid-of-the-on_io_completion-i.patch	Thu Mar 21 00:43:02 2013	(r19924)
@@ -10,12 +10,12 @@
 
 Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
 Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
+[bwh: Adjusted to apply after backported commit 9d2696e658ef
+ '[SCSI] storvsc: Initialize the sglist']
 ---
  drivers/staging/hv/storvsc_drv.c |  630 +++++++++++++++++++-------------------
  1 file changed, 313 insertions(+), 317 deletions(-)
 
-diff --git a/drivers/staging/hv/storvsc_drv.c b/drivers/staging/hv/storvsc_drv.c
-index 204b3ca..7c9fa19 100644
 --- a/drivers/staging/hv/storvsc_drv.c
 +++ b/drivers/staging/hv/storvsc_drv.c
 @@ -276,7 +276,6 @@ struct hv_storvsc_request {
@@ -26,7 +26,7 @@
  	struct hv_multipage_buffer data_buffer;
  
  	struct vstor_packet vstor_packet;
-@@ -436,6 +435,227 @@ get_in_err:
+@@ -436,6 +435,228 @@ get_in_err:
  
  }
  
@@ -89,6 +89,7 @@
 +	if (!bounce_sgl)
 +		return NULL;
 +
++	sg_init_table(bounce_sgl, num_pages);
 +	for (i = 0; i < num_pages; i++) {
 +		page_buf = alloc_page(GFP_ATOMIC);
 +		if (!page_buf)
@@ -254,7 +255,7 @@
  static int storvsc_channel_init(struct hv_device *device)
  {
  	struct storvsc_device *stor_device;
-@@ -562,24 +782,101 @@ cleanup:
+@@ -562,23 +783,100 @@ cleanup:
  	return ret;
  }
  
@@ -296,7 +297,6 @@
 -	 * MODE_SENSE command with cmd[2] == 0x1c
 -	 *
 -	 * Setup srb and scsi status so this won't be fatal.
--	 * We do this so we can distinguish truly fatal failues
 +	 * If there is an error; offline the device since all
 +	 * error recovery strategies would have already been
 +	 * deployed on the host side.
@@ -366,11 +366,10 @@
 +	 * MODE_SENSE command with cmd[2] == 0x1c
 +	 *
 +	 * Setup srb and scsi status so this won't be fatal.
-+	 * We do this so we can distinguish truly fatal failues
+ 	 * We do this so we can distinguish truly fatal failues
  	 * (srb status == 0x4) and off-line the device in that case.
  	 */
- 
-@@ -625,7 +922,7 @@ static void storvsc_on_io_completion(struct hv_device *device,
+@@ -625,7 +923,7 @@ static void storvsc_on_io_completion(str
  	stor_pkt->vm_srb.data_transfer_length =
  	vstor_packet->vm_srb.data_transfer_length;
  
@@ -379,7 +378,7 @@
  
  	if (atomic_dec_and_test(&stor_device->num_outstanding_req) &&
  		stor_device->drain_notify)
-@@ -875,229 +1172,6 @@ static int storvsc_device_configure(struct scsi_device *sdevice)
+@@ -875,230 +1173,6 @@ static int storvsc_device_configure(stru
  	return 0;
  }
  
@@ -442,6 +441,7 @@
 -	if (!bounce_sgl)
 -		return NULL;
 -
+-	sg_init_table(bounce_sgl, num_pages);
 -	for (i = 0; i < num_pages; i++) {
 -		page_buf = alloc_page(GFP_ATOMIC);
 -		if (!page_buf)
@@ -609,7 +609,7 @@
  static int storvsc_get_chs(struct scsi_device *sdev, struct block_device * bdev,
  			   sector_t capacity, int *info)
  {
-@@ -1166,83 +1240,6 @@ static int storvsc_host_reset_handler(struct scsi_cmnd *scmnd)
+@@ -1172,83 +1246,6 @@ static int storvsc_host_reset_handler(st
  	return SUCCESS;
  }
  
@@ -693,7 +693,7 @@
  static bool storvsc_scsi_cmd_ok(struct scsi_cmnd *scmnd)
  {
  	bool allowed = true;
-@@ -1318,7 +1315,6 @@ static int storvsc_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *scmnd)
+@@ -1324,7 +1321,6 @@ static int storvsc_queuecommand(struct S
  		break;
  	}
  
@@ -701,6 +701,3 @@
  	request->context = cmd_request;/* scmnd; */
  
  	vm_srb->port_number = host_dev->port;
--- 
-1.7.9.5
-

Modified: dists/sid/linux/debian/patches/features/x86/hyperv/0067-Staging-hv-storvsc-Move-the-storage-driver-out-of-th.patch
==============================================================================
--- dists/sid/linux/debian/patches/features/x86/hyperv/0067-Staging-hv-storvsc-Move-the-storage-driver-out-of-th.patch	Wed Mar 20 23:58:50 2013	(r19923)
+++ dists/sid/linux/debian/patches/features/x86/hyperv/0067-Staging-hv-storvsc-Move-the-storage-driver-out-of-th.patch	Thu Mar 21 00:43:02 2013	(r19924)
@@ -19,9 +19,9 @@
 Signed-off-by: K. Y. Srinivasan <kys at microsoft.com>
 Acked-by: James Bottomley <JBottomley at Parallels.com>
 Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
-[bwh: Adjusted to apply after commit 5c1b10ab7f93d24f29b5630286e323d1c5802d5c
- ('storvsc: Account for in-transit packets in the RESET path') backported
- in 3.2.33, moving that fix to the new file]
+[bwh: Adjusted to apply after backported commits 5c1b10ab7f93
+ '[SCSI] storvsc: Account for in-transit packets in the RESET path' and
+ 9d2696e658ef '[SCSI] storvsc: Initialize the sglist']
 ---
 --- a/drivers/scsi/Kconfig
 +++ b/drivers/scsi/Kconfig
@@ -60,7 +60,7 @@
  sd_mod-objs	:= sd.o
 --- /dev/null
 +++ b/drivers/scsi/storvsc_drv.c
-@@ -0,0 +1,1553 @@
+@@ -0,0 +1,1554 @@
 +/*
 + * Copyright (c) 2009, Microsoft Corporation.
 + *
@@ -530,6 +530,7 @@
 +	if (!bounce_sgl)
 +		return NULL;
 +
++	sg_init_table(bounce_sgl, num_pages);
 +	for (i = 0; i < num_pages; i++) {
 +		page_buf = alloc_page(GFP_ATOMIC);
 +		if (!page_buf)
@@ -1659,7 +1660,7 @@
 -Haiyang Zhang <haiyangz at microsoft.com>, and K. Y. Srinivasan <kys at microsoft.com>
 --- a/drivers/staging/hv/storvsc_drv.c
 +++ /dev/null
-@@ -1,1553 +0,0 @@
+@@ -1,1554 +0,0 @@
 -/*
 - * Copyright (c) 2009, Microsoft Corporation.
 - *
@@ -2129,6 +2130,7 @@
 -	if (!bounce_sgl)
 -		return NULL;
 -
+-	sg_init_table(bounce_sgl, num_pages);
 -	for (i = 0; i < num_pages; i++) {
 -		page_buf = alloc_page(GFP_ATOMIC);
 -		if (!page_buf)

Modified: dists/sid/linux/debian/patches/series
==============================================================================
--- dists/sid/linux/debian/patches/series	Wed Mar 20 23:58:50 2013	(r19923)
+++ dists/sid/linux/debian/patches/series	Thu Mar 21 00:43:02 2013	(r19924)
@@ -67,7 +67,6 @@
 features/all/fs-prevent-use-after-free-in-auditing-when-symlink-f.patch
 
 # Update all Hyper-V drivers to 3.4-rc1 (no longer staging)
-features/x86/hyperv/0001-NLS-improve-UTF8-UTF16-string-conversion-routine.patch
 features/x86/hyperv/0002-HID-Move-the-hid-hyperv-driver-out-of-staging.patch
 features/x86/hyperv/0003-Staging-hv-storvsc-Use-mempools-to-allocate-struct-s.patch
 features/x86/hyperv/0004-Staging-hv-storvsc-Cleanup-error-handling-in-the-pro.patch
@@ -439,7 +438,6 @@
 features/all/iguanair/0010-media-iguanair-do-not-modify-transmit-buffer.patch
 features/all/iguanair/0011-media-iguanair-cannot-send-data-from-the-stack.patch
 features/all/rt2800-add-chipset-revision-RT5390R-support.patch
-bugfix/all/md-protect-against-crash-upon-fsync-on-ro-array.patch
 debian/net-avoid-ABI-break-in-3.2.37.patch
 
 features/all/net-define-netdev_features_t.patch



More information about the Kernel-svn-changes mailing list