[kernel] r15947 - in dists/sid/linux-2.6/debian: . patches/bugfix/all/stable patches/series

Ben Hutchings benh at alioth.debian.org
Mon Jul 5 21:13:24 UTC 2010


Author: benh
Date: Mon Jul  5 21:13:21 2010
New Revision: 15947

Log:
Replace stable pre-patches 2.6.32.16-rc1 and 2.6.33.6-rc1 with final versions

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16.patch
      - copied, changed from r15946, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16-rc1.patch
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6.patch
      - copied unchanged from r15946, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6-rc1.patch
Deleted:
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16-rc1.patch
   dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6-rc1.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/16

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Mon Jul  5 20:11:30 2010	(r15946)
+++ dists/sid/linux-2.6/debian/changelog	Mon Jul  5 21:13:21 2010	(r15947)
@@ -42,11 +42,11 @@
   * ipv6: Clamp reported valid_lft to a minimum of 0 (Closes: #514644)
   * ipv6: Use interface max_desync_factor instead of static default
     (Closes: #514646)
-  * Add stable 2.6.32.16-rc1
+  * Add stable 2.6.32.16:
     - Fixes CVE-2010-1641, CVE-2010-1187, CVE-2010-1148, CVE-2010-1173
       and CVE-2010-2071
     - libata: disable ATAPI AN by default (Closes: #582737)
-  * Add drm changes from stable 2.6.33.6-rc1
+  * Add drm changes from stable 2.6.33.6
   * [ia64, powerpc, sparc, x86] Enable KPROBES and KRETPROBES
     (Closes: #584130)
   * r8192s_usb: Fix various bugs:

Copied and modified: dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16.patch (from r15946, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16-rc1.patch)
==============================================================================
--- dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16-rc1.patch	Mon Jul  5 20:11:30 2010	(r15946, copy source)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.32.16.patch	Mon Jul  5 21:13:21 2010	(r15947)
@@ -51,6 +51,8 @@
    
  
  (4a) Interpretation of error messages and common problems
+diff --git a/Makefile b/Makefile
+index 36fead3..9797439 100644
 diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
 index 8ba7044..b07bfee 100644
 --- a/arch/arm/common/sa1111.c
@@ -322,11 +324,114 @@
  		index = ENTRIES-1;
  
  	return initial_lfsr[index];
+diff --git a/arch/powerpc/platforms/pseries/hotplug-cpu.c b/arch/powerpc/platforms/pseries/hotplug-cpu.c
+index ebff6d9..c2c1720 100644
+--- a/arch/powerpc/platforms/pseries/hotplug-cpu.c
++++ b/arch/powerpc/platforms/pseries/hotplug-cpu.c
+@@ -66,30 +66,6 @@ static void pseries_mach_cpu_die(void)
+ 	for(;;);
+ }
+ 
+-static int qcss_tok;	/* query-cpu-stopped-state token */
+-
+-/* Get state of physical CPU.
+- * Return codes:
+- *	0	- The processor is in the RTAS stopped state
+- *	1	- stop-self is in progress
+- *	2	- The processor is not in the RTAS stopped state
+- *	-1	- Hardware Error
+- *	-2	- Hardware Busy, Try again later.
+- */
+-static int query_cpu_stopped(unsigned int pcpu)
+-{
+-	int cpu_status, status;
+-
+-	status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu);
+-	if (status != 0) {
+-		printk(KERN_ERR
+-		       "RTAS query-cpu-stopped-state failed: %i\n", status);
+-		return status;
+-	}
+-
+-	return cpu_status;
+-}
+-
+ static int pseries_cpu_disable(void)
+ {
+ 	int cpu = smp_processor_id();
+@@ -113,8 +89,9 @@ static void pseries_cpu_die(unsigned int cpu)
+ 	unsigned int pcpu = get_hard_smp_processor_id(cpu);
+ 
+ 	for (tries = 0; tries < 25; tries++) {
+-		cpu_status = query_cpu_stopped(pcpu);
+-		if (cpu_status == 0 || cpu_status == -1)
++		cpu_status = smp_query_cpu_stopped(pcpu);
++		if (cpu_status == QCSS_STOPPED ||
++		    cpu_status == QCSS_HARDWARE_ERROR)
+ 			break;
+ 		cpu_relax();
+ 	}
+@@ -256,6 +233,7 @@ static int __init pseries_cpu_hotplug_init(void)
+ {
+ 	struct device_node *np;
+ 	const char *typep;
++	int qcss_tok;
+ 
+ 	for_each_node_by_name(np, "interrupt-controller") {
+ 		typep = of_get_property(np, "compatible", NULL);
+diff --git a/arch/powerpc/platforms/pseries/plpar_wrappers.h b/arch/powerpc/platforms/pseries/plpar_wrappers.h
+index a24a6b2..45f634c 100644
+--- a/arch/powerpc/platforms/pseries/plpar_wrappers.h
++++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h
+@@ -4,6 +4,14 @@
+ #include <asm/hvcall.h>
+ #include <asm/page.h>
+ 
++/* Get state of physical CPU from query_cpu_stopped */
++int smp_query_cpu_stopped(unsigned int pcpu);
++#define QCSS_STOPPED 0
++#define QCSS_STOPPING 1
++#define QCSS_NOT_STOPPED 2
++#define QCSS_HARDWARE_ERROR -1
++#define QCSS_HARDWARE_BUSY -2
++
+ static inline long poll_pending(void)
+ {
+ 	return plpar_hcall_norets(H_POLL_PENDING);
 diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c
-index 440000c..e4822fe 100644
+index 440000c..3afa079 100644
 --- a/arch/powerpc/platforms/pseries/smp.c
 +++ b/arch/powerpc/platforms/pseries/smp.c
-@@ -81,6 +81,12 @@ static inline int __devinit smp_startup_cpu(unsigned int lcpu)
+@@ -56,6 +56,28 @@
+  */
+ static cpumask_t of_spin_map;
+ 
++/* Query where a cpu is now.  Return codes #defined in plpar_wrappers.h */
++int smp_query_cpu_stopped(unsigned int pcpu)
++{
++	int cpu_status, status;
++	int qcss_tok = rtas_token("query-cpu-stopped-state");
++
++	if (qcss_tok == RTAS_UNKNOWN_SERVICE) {
++		printk(KERN_INFO "Firmware doesn't support "
++				"query-cpu-stopped-state\n");
++		return QCSS_HARDWARE_ERROR;
++	}
++
++	status = rtas_call(qcss_tok, 1, 2, &cpu_status, pcpu);
++	if (status != 0) {
++		printk(KERN_ERR
++		       "RTAS query-cpu-stopped-state failed: %i\n", status);
++		return status;
++	}
++
++	return cpu_status;
++}
++
+ /**
+  * smp_startup_cpu() - start the given cpu
+  *
+@@ -81,6 +103,12 @@ static inline int __devinit smp_startup_cpu(unsigned int lcpu)
  
  	pcpu = get_hard_smp_processor_id(lcpu);
  
@@ -1438,6 +1543,26 @@
  
  	u16 flags;		/* custom mode flags */
  	u8 ocr;			/* output control register */
+diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
+index 6339d65..a873c5d 100644
+--- a/drivers/net/ixgbe/ixgbe_main.c
++++ b/drivers/net/ixgbe/ixgbe_main.c
+@@ -5241,9 +5241,13 @@ static int ixgbe_maybe_stop_tx(struct net_device *netdev,
+ static u16 ixgbe_select_queue(struct net_device *dev, struct sk_buff *skb)
+ {
+ 	struct ixgbe_adapter *adapter = netdev_priv(dev);
++	int txq = smp_processor_id();
+ 
+-	if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE)
+-		return smp_processor_id();
++	if (adapter->flags & IXGBE_FLAG_FDIR_HASH_CAPABLE) {
++		while (unlikely(txq >= dev->real_num_tx_queues))
++			txq -= dev->real_num_tx_queues;
++		return txq;
++	}
+ 
+ 	if (adapter->flags & IXGBE_FLAG_DCB_ENABLED)
+ 		return (skb->vlan_tci & IXGBE_TX_FLAGS_VLAN_PRIO_MASK) >> 13;
 diff --git a/drivers/net/mlx4/icm.c b/drivers/net/mlx4/icm.c
 index 04b382f..83eef8e 100644
 --- a/drivers/net/mlx4/icm.c
@@ -3296,34 +3421,6 @@
  	err = exofs_commit_chunk(page, 0, chunk_size);
  fail:
  	page_cache_release(page);
-diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
-index f5b03a1..d55b15c 100644
---- a/fs/ext4/move_extent.c
-+++ b/fs/ext4/move_extent.c
-@@ -964,6 +964,9 @@ mext_check_arguments(struct inode *orig_inode,
- 		return -EINVAL;
- 	}
- 
-+	if (IS_IMMUTABLE(donor_inode) || IS_APPEND(donor_inode))
-+		return -EPERM;
-+
- 	/* Ext4 move extent does not support swapfile */
- 	if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) {
- 		ext4_debug("ext4 move extent: The argument files should "
-diff --git a/fs/ext4/resize.c b/fs/ext4/resize.c
-index 3b2c554..433ea27 100644
---- a/fs/ext4/resize.c
-+++ b/fs/ext4/resize.c
-@@ -930,7 +930,8 @@ int ext4_group_add(struct super_block *sb, struct ext4_new_group_data *input)
- 	percpu_counter_add(&sbi->s_freeinodes_counter,
- 			   EXT4_INODES_PER_GROUP(sb));
- 
--	if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG)) {
-+	if (EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_FLEX_BG) &&
-+	    sbi->s_log_groups_per_flex) {
- 		ext4_group_t flex_group;
- 		flex_group = ext4_flex_group(sbi, input->group);
- 		atomic_add(input->free_blocks_count,
 diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
 index bff5f77..ef2acd2 100644
 --- a/fs/fs-writeback.c

Copied: dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6.patch (from r15946, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6-rc1.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6.patch	Mon Jul  5 21:13:21 2010	(r15947, copy of r15946, dists/sid/linux-2.6/debian/patches/bugfix/all/stable/2.6.33.6-rc1.patch)
@@ -0,0 +1,160 @@
+--- a/drivers/gpu/drm/drm_edid.c
++++ b/drivers/gpu/drm/drm_edid.c
+@@ -334,7 +334,7 @@ static struct drm_display_mode drm_dmt_modes[] = {
+ 		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) },
+ 	/* 1024x768 at 85Hz */
+ 	{ DRM_MODE("1024x768", DRM_MODE_TYPE_DRIVER, 94500, 1024, 1072,
+-		   1072, 1376, 0, 768, 769, 772, 808, 0,
++		   1168, 1376, 0, 768, 769, 772, 808, 0,
+ 		   DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC) },
+ 	/* 1152x864 at 75Hz */
+ 	{ DRM_MODE("1152x864", DRM_MODE_TYPE_DRIVER, 108000, 1152, 1216,
+--- a/drivers/gpu/drm/i915/i915_drv.c
++++ b/drivers/gpu/drm/i915/i915_drv.c
+@@ -68,7 +68,8 @@ const static struct intel_device_info intel_845g_info = {
+ };
+ 
+ const static struct intel_device_info intel_i85x_info = {
+-	.is_i8xx = 1, .is_mobile = 1, .cursor_needs_physical = 1,
++	.is_i8xx = 1, .is_i85x = 1, .is_mobile = 1,
++	.cursor_needs_physical = 1,
+ };
+ 
+ const static struct intel_device_info intel_i865g_info = {
+@@ -140,7 +141,7 @@ const static struct pci_device_id pciidlist[] = {
+ 	INTEL_VGA_DEVICE(0x3577, &intel_i830_info),
+ 	INTEL_VGA_DEVICE(0x2562, &intel_845g_info),
+ 	INTEL_VGA_DEVICE(0x3582, &intel_i85x_info),
+-	INTEL_VGA_DEVICE(0x35e8, &intel_i85x_info),
++	INTEL_VGA_DEVICE(0x358e, &intel_i85x_info),
+ 	INTEL_VGA_DEVICE(0x2572, &intel_i865g_info),
+ 	INTEL_VGA_DEVICE(0x2582, &intel_i915g_info),
+ 	INTEL_VGA_DEVICE(0x258a, &intel_i915g_info),
+--- a/drivers/gpu/drm/i915/i915_drv.h
++++ b/drivers/gpu/drm/i915/i915_drv.h
+@@ -175,6 +175,7 @@ struct intel_overlay;
+ struct intel_device_info {
+ 	u8 is_mobile : 1;
+ 	u8 is_i8xx : 1;
++	u8 is_i85x : 1;
+ 	u8 is_i915g : 1;
+ 	u8 is_i9xx : 1;
+ 	u8 is_i945gm : 1;
+@@ -1027,7 +1028,7 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller);
+ 
+ #define IS_I830(dev)		((dev)->pci_device == 0x3577)
+ #define IS_845G(dev)		((dev)->pci_device == 0x2562)
+-#define IS_I85X(dev)		((dev)->pci_device == 0x3582)
++#define IS_I85X(dev)		(INTEL_INFO(dev)->is_i85x)
+ #define IS_I865G(dev)		((dev)->pci_device == 0x2572)
+ #define IS_GEN2(dev)		(INTEL_INFO(dev)->is_i8xx)
+ #define IS_I915G(dev)		(INTEL_INFO(dev)->is_i915g)
+--- a/drivers/gpu/drm/i915/i915_gem.c
++++ b/drivers/gpu/drm/i915/i915_gem.c
+@@ -2641,6 +2641,14 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment)
+ 		return -EINVAL;
+ 	}
+ 
++	/* If the object is bigger than the entire aperture, reject it early
++	 * before evicting everything in a vain attempt to find space.
++	 */
++	if (obj->size > dev->gtt_total) {
++		DRM_ERROR("Attempting to bind an object larger than the aperture\n");
++		return -E2BIG;
++	}
++
+  search_free:
+ 	free_space = drm_mm_search_free(&dev_priv->mm.gtt_space,
+ 					obj->size, alignment, 0);
+@@ -4175,6 +4183,17 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment)
+ 	int ret;
+ 
+ 	i915_verify_inactive(dev, __FILE__, __LINE__);
++
++	if (obj_priv->gtt_space != NULL) {
++		if (alignment == 0)
++			alignment = i915_gem_get_gtt_alignment(obj);
++		if (obj_priv->gtt_offset & (alignment - 1)) {
++			ret = i915_gem_object_unbind(obj);
++			if (ret)
++				return ret;
++		}
++	}
++
+ 	if (obj_priv->gtt_space == NULL) {
+ 		ret = i915_gem_object_bind_to_gtt(obj, alignment);
+ 		if (ret)
+--- a/drivers/gpu/drm/radeon/radeon_atombios.c
++++ b/drivers/gpu/drm/radeon/radeon_atombios.c
+@@ -514,6 +514,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
+ 			}
+ 
+ 			/* look up gpio for ddc, hpd */
++			ddc_bus.valid = false;
++			hpd.hpd = RADEON_HPD_NONE;
+ 			if ((le16_to_cpu(path->usDeviceTag) &
+ 			     (ATOM_DEVICE_TV_SUPPORT | ATOM_DEVICE_CV_SUPPORT)) == 0) {
+ 				for (j = 0; j < con_obj->ucNumberOfObjects; j++) {
+@@ -569,9 +571,6 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
+ 						break;
+ 					}
+ 				}
+-			} else {
+-				hpd.hpd = RADEON_HPD_NONE;
+-				ddc_bus.valid = false;
+ 			}
+ 
+ 			conn_id = le16_to_cpu(path->usConnObjectId);
+@@ -1137,7 +1136,7 @@ struct radeon_encoder_atom_dig *radeon_atombios_get_lvds_info(struct
+ 		lvds->native_mode.vtotal = lvds->native_mode.vdisplay +
+ 			le16_to_cpu(lvds_info->info.sLCDTiming.usVBlanking_Time);
+ 		lvds->native_mode.vsync_start = lvds->native_mode.vdisplay +
+-			le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth);
++			le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncOffset);
+ 		lvds->native_mode.vsync_end = lvds->native_mode.vsync_start +
+ 			le16_to_cpu(lvds_info->info.sLCDTiming.usVSyncWidth);
+ 		lvds->panel_pwr_delay =
+--- a/drivers/gpu/drm/radeon/radeon_cp.c
++++ b/drivers/gpu/drm/radeon/radeon_cp.c
+@@ -1646,6 +1646,7 @@ static int radeon_do_resume_cp(struct drm_device *dev, struct drm_file *file_pri
+ 	radeon_cp_load_microcode(dev_priv);
+ 	radeon_cp_init_ring_buffer(dev, dev_priv, file_priv);
+ 
++	dev_priv->have_z_offset = 0;
+ 	radeon_do_engine_reset(dev);
+ 	radeon_irq_set_state(dev, RADEON_SW_INT_ENABLE, 1);
+ 
+--- a/drivers/gpu/drm/radeon/radeon_drv.h
++++ b/drivers/gpu/drm/radeon/radeon_drv.h
+@@ -268,6 +268,8 @@ typedef struct drm_radeon_private {
+ 
+ 	u32 scratch_ages[5];
+ 
++	int have_z_offset;
++
+ 	/* starting from here on, data is preserved accross an open */
+ 	uint32_t flags;		/* see radeon_chip_flags */
+ 	resource_size_t fb_aper_offset;
+--- a/drivers/gpu/drm/radeon/radeon_state.c
++++ b/drivers/gpu/drm/radeon/radeon_state.c
+@@ -101,6 +101,7 @@ static __inline__ int radeon_check_and_fixup_packets(drm_radeon_private_t *
+ 			DRM_ERROR("Invalid depth buffer offset\n");
+ 			return -EINVAL;
+ 		}
++		dev_priv->have_z_offset = 1;
+ 		break;
+ 
+ 	case RADEON_EMIT_PP_CNTL:
+@@ -876,6 +877,12 @@ static void radeon_cp_dispatch_clear(struct drm_device * dev,
+ 		if (tmp & RADEON_BACK)
+ 			flags |= RADEON_FRONT;
+ 	}
++	if (flags & (RADEON_DEPTH|RADEON_STENCIL)) {
++		if (!dev_priv->have_z_offset) {
++			printk_once(KERN_ERR "radeon: illegal depth clear request. Buggy mesa detected - please update.\n");
++			flags &= ~(RADEON_DEPTH | RADEON_STENCIL);
++		}
++	}
+ 
+ 	if (flags & (RADEON_FRONT | RADEON_BACK)) {
+ 

Modified: dists/sid/linux-2.6/debian/patches/series/16
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/16	Mon Jul  5 20:11:30 2010	(r15946)
+++ dists/sid/linux-2.6/debian/patches/series/16	Mon Jul  5 21:13:21 2010	(r15947)
@@ -174,11 +174,11 @@
 - bugfix/all/dmfe-tulip-Let-dmfe-handle-DM910x-except-SPARC-onboard.patch
 - bugfix/all/via-velocity-give-rx-descriptors-later.patch
 - features/all/atl1e-allow-offload-disable.patch
-+ bugfix/all/stable/2.6.32.16-rc1.patch
++ bugfix/all/stable/2.6.32.16.patch
 + features/all/USB-option-Use-generic-USB-wwan-code-2.patch
 + debian/revert-wrong-type-for-magic-argument-in-simple_fill_super.patch
 - bugfix/all/drm-edid-Fix-1024x768 at 85Hz.patch
-+ bugfix/all/stable/2.6.33.6-rc1.patch
++ bugfix/all/stable/2.6.33.6.patch
 + bugfix/all/rtl8192su-check-for-skb-NULL.patch
 + bugfix/all/rtl8192su-led-update.patch
 + bugfix/all/rtl8192su-Clean-up-in-case-of-an-error-in-mo.patch



More information about the Kernel-svn-changes mailing list