All of lore.kernel.org
 help / color / mirror / Atom feed
* [01/70] NFSD: memory corruption due to writing beyond the stat array
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [02/70] [SCSI] mptfusion: mptctl_release is required in mptctl.c Greg KH
                   ` (68 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Konstantin Khorenko,
	J. Bruce Fields

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Konstantin Khorenko <khorenko@parallels.com>

commit 3aa6e0aa8ab3e64bbfba092c64d42fd1d006b124 upstream.

If nfsd fails to find an exported via NFS file in the readahead cache, it
should increment corresponding nfsdstats counter (ra_depth[10]), but due to a
bug it may instead write to ra_depth[11], corrupting the following field.

In a kernel with NFSDv4 compiled in the corruption takes the form of an
increment of a counter of the number of NFSv4 operation 0's received; since
there is no operation 0, this is harmless.

In a kernel with NFSDv4 disabled it corrupts whatever happens to be in the
memory beyond nfsdstats.

Signed-off-by: Konstantin Khorenko <khorenko@openvz.org>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/nfsd/vfs.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -809,7 +809,7 @@ nfsd_get_raparms(dev_t dev, ino_t ino)
 		if (ra->p_count == 0)
 			frap = rap;
 	}
-	depth = nfsdstats.ra_size*11/10;
+	depth = nfsdstats.ra_size;
 	if (!frap) {	
 		spin_unlock(&rab->pb_lock);
 		return NULL;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [02/70] [SCSI] mptfusion: mptctl_release is required in mptctl.c
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
  2011-02-22 22:16 ` [01/70] NFSD: memory corruption due to writing beyond the stat array Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [03/70] [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset Greg KH
                   ` (67 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Kashyap Desai, James Bottomley

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Kashyap, Desai <kashyap.desai@lsi.com>

commit 84857c8bf83e8aa87afc57d2956ba01f11d82386 upstream.

Added missing release callback for file_operations mptctl_fops.
Without release callback there will be never freed. It remains on
mptctl's eent list even after the file is closed and released.

Relavent RHEL bugzilla is 660871

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/message/fusion/mptctl.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/drivers/message/fusion/mptctl.c
+++ b/drivers/message/fusion/mptctl.c
@@ -597,6 +597,13 @@ mptctl_event_process(MPT_ADAPTER *ioc, E
 }
 
 static int
+mptctl_release(struct inode *inode, struct file *filep)
+{
+	fasync_helper(-1, filep, 0, &async_queue);
+	return 0;
+}
+
+static int
 mptctl_fasync(int fd, struct file *filep, int mode)
 {
 	MPT_ADAPTER	*ioc;
@@ -2815,6 +2822,7 @@ static const struct file_operations mptc
 	.llseek =	no_llseek,
 	.fasync = 	mptctl_fasync,
 	.unlocked_ioctl = mptctl_ioctl,
+	.release =	mptctl_release,
 #ifdef CONFIG_COMPAT
 	.compat_ioctl = compat_mpctl_ioctl,
 #endif



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [03/70] [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
  2011-02-22 22:16 ` [01/70] NFSD: memory corruption due to writing beyond the stat array Greg KH
  2011-02-22 22:16 ` [02/70] [SCSI] mptfusion: mptctl_release is required in mptctl.c Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [04/70] drm/i915/sdvo: If we have an EDID confirm it matches the mode of the connection Greg KH
                   ` (66 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Kashyap Desai, James Bottomley

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Kashyap, Desai <kashyap.desai@lsi.com>

commit bcfe42e98047f1935c5571c8ea77beb2d43ec19d upstream.

There's a branch at the end of this function that
is supposed to normalize the return value with what
the mid-layer expects. In this one case, we get it wrong.

Also increase the verbosity of the INFO level printk
at the end of mptscsih_abort to include the actual return value
and the scmd->serial_number. The reason being success
or failure is actually determined by the state of
the internal tag list when a TMF is issued, and not the
return value of the TMF cmd. The serial_number is also
used in this decision, thus it's useful to know for debugging
purposes.

Reported-by: Peter M. Petrakis <peter.petrakis@canonical.com>
Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/message/fusion/mptscsih.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- a/drivers/message/fusion/mptscsih.c
+++ b/drivers/message/fusion/mptscsih.c
@@ -1873,8 +1873,9 @@ mptscsih_abort(struct scsi_cmnd * SCpnt)
 	}
 
  out:
-	printk(MYIOC_s_INFO_FMT "task abort: %s (sc=%p)\n",
-	    ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), SCpnt);
+	printk(MYIOC_s_INFO_FMT "task abort: %s (rv=%04x) (sc=%p) (sn=%ld)\n",
+	    ioc->name, ((retval == SUCCESS) ? "SUCCESS" : "FAILED"), retval,
+	    SCpnt, SCpnt->serial_number);
 
 	return retval;
 }
@@ -1911,7 +1912,7 @@ mptscsih_dev_reset(struct scsi_cmnd * SC
 
 	vdevice = SCpnt->device->hostdata;
 	if (!vdevice || !vdevice->vtarget) {
-		retval = SUCCESS;
+		retval = 0;
 		goto out;
 	}
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [04/70] drm/i915/sdvo: If we have an EDID confirm it matches the mode of the connection
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (2 preceding siblings ...)
  2011-02-22 22:16 ` [03/70] [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [05/70] drm/radeon/kms: fix interlaced modes on dce4+ Greg KH
                   ` (65 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Chris Wilson

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Chris Wilson <chris@chris-wilson.co.uk>

commit 139467433e50926d22338e9dc754feaaf94b9db0 upstream.

If we have an EDID for a digital panel, but we are probing a non-TMDS
connector then we know that this is a false detection, and vice versa.
This should reduce the number of bogus outputs on multi-function
adapters that report the same output on multiple connectors.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34101
Reported-by: Sebastien Caty <sebastien.caty@mrnf.gouv.qc.ca>
Tested-by: Sebastien Caty <sebastien.caty@mrnf.gouv.qc.ca>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/i915/intel_sdvo.c |   32 +++++++++++++++++++++++++++-----
 1 file changed, 27 insertions(+), 5 deletions(-)

--- a/drivers/gpu/drm/i915/intel_sdvo.c
+++ b/drivers/gpu/drm/i915/intel_sdvo.c
@@ -46,6 +46,7 @@
                          SDVO_TV_MASK)
 
 #define IS_TV(c)	(c->output_flag & SDVO_TV_MASK)
+#define IS_TMDS(c)	(c->output_flag & SDVO_TMDS_MASK)
 #define IS_LVDS(c)	(c->output_flag & SDVO_LVDS_MASK)
 #define IS_TV_OR_LVDS(c) (c->output_flag & (SDVO_TV_MASK | SDVO_LVDS_MASK))
 
@@ -1356,7 +1357,8 @@ intel_sdvo_hdmi_sink_detect(struct drm_c
 				intel_sdvo->has_hdmi_monitor = drm_detect_hdmi_monitor(edid);
 				intel_sdvo->has_hdmi_audio = drm_detect_monitor_audio(edid);
 			}
-		}
+		} else
+			status = connector_status_disconnected;
 		connector->display_info.raw_edid = NULL;
 		kfree(edid);
 	}
@@ -1404,10 +1406,25 @@ intel_sdvo_detect(struct drm_connector *
 
 	if ((intel_sdvo_connector->output_flag & response) == 0)
 		ret = connector_status_disconnected;
-	else if (response & SDVO_TMDS_MASK)
+	else if (IS_TMDS(intel_sdvo_connector))
 		ret = intel_sdvo_hdmi_sink_detect(connector);
-	else
-		ret = connector_status_connected;
+	else {
+		struct edid *edid;
+
+		/* if we have an edid check it matches the connection */
+		edid = intel_sdvo_get_edid(connector);
+		if (edid == NULL)
+			edid = intel_sdvo_get_analog_edid(connector);
+		if (edid != NULL) {
+			if (edid->input & DRM_EDID_INPUT_DIGITAL)
+				ret = connector_status_disconnected;
+			else
+				ret = connector_status_connected;
+			connector->display_info.raw_edid = NULL;
+			kfree(edid);
+		} else
+			ret = connector_status_connected;
+	}
 
 	/* May update encoder flag for like clock for SDVO TV, etc.*/
 	if (ret == connector_status_connected) {
@@ -1443,10 +1460,15 @@ static void intel_sdvo_get_ddc_modes(str
 		edid = intel_sdvo_get_analog_edid(connector);
 
 	if (edid != NULL) {
-		if (edid->input & DRM_EDID_INPUT_DIGITAL) {
+		struct intel_sdvo_connector *intel_sdvo_connector = to_intel_sdvo_connector(connector);
+		bool monitor_is_digital = !!(edid->input & DRM_EDID_INPUT_DIGITAL);
+		bool connector_is_digital = !!IS_TMDS(intel_sdvo_connector);
+
+		if (connector_is_digital == monitor_is_digital) {
 			drm_mode_connector_update_edid_property(connector, edid);
 			drm_add_edid_modes(connector, edid);
 		}
+
 		connector->display_info.raw_edid = NULL;
 		kfree(edid);
 	}



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [05/70] drm/radeon/kms: fix interlaced modes on dce4+
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (3 preceding siblings ...)
  2011-02-22 22:16 ` [04/70] drm/i915/sdvo: If we have an EDID confirm it matches the mode of the connection Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [06/70] drm/radeon: fix memory debugging since d961db75ce86a84f1f04e91ad1014653ed7d9f46 Greg KH
                   ` (64 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit c9417bdd4c6b1b92a21608c07e83afa419c7bb62 upstream.

- set scaler table clears the interleave bit, need to
reset it in encoder quirks, this was already done for
pre-dce4.
- remove the interleave settings from set_base() functions
this is now handled in the encoder quirks functions, and
isn't technically part of the display base setup.
- rename evergreen_do_set_base() to dce4_do_set_base() since
it's used on both evergreen and NI asics.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=28182

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/atombios_crtc.c   |   22 +++++-----------------
 drivers/gpu/drm/radeon/radeon_encoders.c |   20 +++++++++++++++-----
 2 files changed, 20 insertions(+), 22 deletions(-)

--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -959,9 +959,9 @@ static void atombios_crtc_set_pll(struct
 	}
 }
 
-static int evergreen_crtc_do_set_base(struct drm_crtc *crtc,
-				      struct drm_framebuffer *fb,
-				      int x, int y, int atomic)
+static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
+				 struct drm_framebuffer *fb,
+				 int x, int y, int atomic)
 {
 	struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc);
 	struct drm_device *dev = crtc->dev;
@@ -1093,12 +1093,6 @@ static int evergreen_crtc_do_set_base(st
 	WREG32(EVERGREEN_VIEWPORT_SIZE + radeon_crtc->crtc_offset,
 	       (crtc->mode.hdisplay << 16) | crtc->mode.vdisplay);
 
-	if (crtc->mode.flags & DRM_MODE_FLAG_INTERLACE)
-		WREG32(EVERGREEN_DATA_FORMAT + radeon_crtc->crtc_offset,
-		       EVERGREEN_INTERLEAVE_EN);
-	else
-		WREG32(EVERGREEN_DATA_FORMAT + radeon_crtc->crtc_offset, 0);
-
 	if (!atomic && fb && fb != crtc->fb) {
 		radeon_fb = to_radeon_framebuffer(fb);
 		rbo = radeon_fb->obj->driver_private;
@@ -1247,12 +1241,6 @@ static int avivo_crtc_do_set_base(struct
 	WREG32(AVIVO_D1MODE_VIEWPORT_SIZE + radeon_crtc->crtc_offset,
 	       (crtc->mode.hdisplay << 16) | crtc->mode.vdisplay);
 
-	if (crtc->mode.flags & DRM_MODE_FLAG_INTERLACE)
-		WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset,
-		       AVIVO_D1MODE_INTERLEAVE_EN);
-	else
-		WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, 0);
-
 	if (!atomic && fb && fb != crtc->fb) {
 		radeon_fb = to_radeon_framebuffer(fb);
 		rbo = radeon_fb->obj->driver_private;
@@ -1276,7 +1264,7 @@ int atombios_crtc_set_base(struct drm_cr
 	struct radeon_device *rdev = dev->dev_private;
 
 	if (ASIC_IS_DCE4(rdev))
-		return evergreen_crtc_do_set_base(crtc, old_fb, x, y, 0);
+		return dce4_crtc_do_set_base(crtc, old_fb, x, y, 0);
 	else if (ASIC_IS_AVIVO(rdev))
 		return avivo_crtc_do_set_base(crtc, old_fb, x, y, 0);
 	else
@@ -1291,7 +1279,7 @@ int atombios_crtc_set_base_atomic(struct
        struct radeon_device *rdev = dev->dev_private;
 
 	if (ASIC_IS_DCE4(rdev))
-		return evergreen_crtc_do_set_base(crtc, fb, x, y, 1);
+		return dce4_crtc_do_set_base(crtc, fb, x, y, 1);
 	else if (ASIC_IS_AVIVO(rdev))
 		return avivo_crtc_do_set_base(crtc, fb, x, y, 1);
 	else
--- a/drivers/gpu/drm/radeon/radeon_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_encoders.c
@@ -1465,11 +1465,21 @@ atombios_apply_encoder_quirks(struct drm
 	}
 
 	/* set scaler clears this on some chips */
-	/* XXX check DCE4 */
-	if (!(radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))) {
-		if (ASIC_IS_AVIVO(rdev) && (mode->flags & DRM_MODE_FLAG_INTERLACE))
-			WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset,
-			       AVIVO_D1MODE_INTERLEAVE_EN);
+	if (ASIC_IS_AVIVO(rdev) &&
+	    (!(radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT)))) {
+		if (ASIC_IS_DCE4(rdev)) {
+			if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+				WREG32(EVERGREEN_DATA_FORMAT + radeon_crtc->crtc_offset,
+				       EVERGREEN_INTERLEAVE_EN);
+			else
+				WREG32(EVERGREEN_DATA_FORMAT + radeon_crtc->crtc_offset, 0);
+		} else {
+			if (mode->flags & DRM_MODE_FLAG_INTERLACE)
+				WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset,
+				       AVIVO_D1MODE_INTERLEAVE_EN);
+			else
+				WREG32(AVIVO_D1MODE_DATA_FORMAT + radeon_crtc->crtc_offset, 0);
+		}
 	}
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [06/70] drm/radeon: fix memory debugging since d961db75ce86a84f1f04e91ad1014653ed7d9f46
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (4 preceding siblings ...)
  2011-02-22 22:16 ` [05/70] drm/radeon/kms: fix interlaced modes on dce4+ Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [07/70] drm/radeon/kms: add connector table for mac g5 9600 Greg KH
                   ` (63 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dave Airlie <airlied@redhat.com>

commit 16f9fdcbcce74102bed9a4b7ccc1fb05b5dd6ca3 upstream.

The old code dereferenced a value, the new code just needs to pass
the ptr.

fixes an oops looking at files in debugfs.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/radeon_ttm.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/gpu/drm/radeon/radeon_ttm.c
+++ b/drivers/gpu/drm/radeon/radeon_ttm.c
@@ -787,9 +787,9 @@ static int radeon_ttm_debugfs_init(struc
 		radeon_mem_types_list[i].show = &radeon_mm_dump_table;
 		radeon_mem_types_list[i].driver_features = 0;
 		if (i == 0)
-			radeon_mem_types_list[i].data = &rdev->mman.bdev.man[TTM_PL_VRAM].priv;
+			radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_VRAM].priv;
 		else
-			radeon_mem_types_list[i].data = &rdev->mman.bdev.man[TTM_PL_TT].priv;
+			radeon_mem_types_list[i].data = rdev->mman.bdev.man[TTM_PL_TT].priv;
 
 	}
 	/* Add ttm page pool to debugfs */



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [07/70] drm/radeon/kms: add connector table for mac g5 9600
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (5 preceding siblings ...)
  2011-02-22 22:16 ` [06/70] drm/radeon: fix memory debugging since d961db75ce86a84f1f04e91ad1014653ed7d9f46 Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [08/70] drm/radeon/kms: improve 6xx/7xx CS error output Greg KH
                   ` (62 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit 9fad321ac6bedd96f449754a1a25289ea1789a49 upstream.

PPC Mac cards do not provide connector tables in
their vbios.  Their connector/encoder configurations
must be hardcoded in the driver.

verified by nyef on #radeon

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/radeon_combios.c |   47 ++++++++++++++++++++++++++++++++
 drivers/gpu/drm/radeon/radeon_mode.h    |    1 
 2 files changed, 48 insertions(+)

--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1503,6 +1503,11 @@ bool radeon_get_legacy_connector_info_fr
 			   (rdev->pdev->subsystem_device == 0x4a48)) {
 			/* Mac X800 */
 			rdev->mode_info.connector_table = CT_MAC_X800;
+		} else if ((rdev->pdev->device == 0x4150) &&
+			   (rdev->pdev->subsystem_vendor == 0x1002) &&
+			   (rdev->pdev->subsystem_device == 0x4150)) {
+			/* Mac G5 9600 */
+			rdev->mode_info.connector_table = CT_MAC_G5_9600;
 		} else
 #endif /* CONFIG_PPC_PMAC */
 #ifdef CONFIG_PPC64
@@ -2021,6 +2026,48 @@ bool radeon_get_legacy_connector_info_fr
 					    CONNECTOR_OBJECT_ID_DUAL_LINK_DVI_I,
 					    &hpd);
 		break;
+	case CT_MAC_G5_9600:
+		DRM_INFO("Connector Table: %d (mac g5 9600)\n",
+			 rdev->mode_info.connector_table);
+		/* DVI - tv dac, dvo */
+		ddc_i2c = combios_setup_i2c_bus(rdev, DDC_DVI, 0, 0);
+		hpd.hpd = RADEON_HPD_1; /* ??? */
+		radeon_add_legacy_encoder(dev,
+					  radeon_get_encoder_enum(dev,
+								  ATOM_DEVICE_DFP2_SUPPORT,
+								  0),
+					  ATOM_DEVICE_DFP2_SUPPORT);
+		radeon_add_legacy_encoder(dev,
+					  radeon_get_encoder_enum(dev,
+								  ATOM_DEVICE_CRT2_SUPPORT,
+								  2),
+					  ATOM_DEVICE_CRT2_SUPPORT);
+		radeon_add_legacy_connector(dev, 0,
+					    ATOM_DEVICE_DFP2_SUPPORT |
+					    ATOM_DEVICE_CRT2_SUPPORT,
+					    DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
+					    CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I,
+					    &hpd);
+		/* ADC - primary dac, internal tmds */
+		ddc_i2c = combios_setup_i2c_bus(rdev, DDC_VGA, 0, 0);
+		hpd.hpd = RADEON_HPD_2; /* ??? */
+		radeon_add_legacy_encoder(dev,
+					  radeon_get_encoder_enum(dev,
+								  ATOM_DEVICE_DFP1_SUPPORT,
+								  0),
+					  ATOM_DEVICE_DFP1_SUPPORT);
+		radeon_add_legacy_encoder(dev,
+					  radeon_get_encoder_enum(dev,
+								  ATOM_DEVICE_CRT1_SUPPORT,
+								  1),
+					  ATOM_DEVICE_CRT1_SUPPORT);
+		radeon_add_legacy_connector(dev, 1,
+					    ATOM_DEVICE_DFP1_SUPPORT |
+					    ATOM_DEVICE_CRT1_SUPPORT,
+					    DRM_MODE_CONNECTOR_DVII, &ddc_i2c,
+					    CONNECTOR_OBJECT_ID_SINGLE_LINK_DVI_I,
+					    &hpd);
+		break;
 	default:
 		DRM_INFO("Connector table: %d (invalid)\n",
 			 rdev->mode_info.connector_table);
--- a/drivers/gpu/drm/radeon/radeon_mode.h
+++ b/drivers/gpu/drm/radeon/radeon_mode.h
@@ -209,6 +209,7 @@ enum radeon_connector_table {
 	CT_EMAC,
 	CT_RN50_POWER,
 	CT_MAC_X800,
+	CT_MAC_G5_9600,
 };
 
 enum radeon_dvo_chip {



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [08/70] drm/radeon/kms: improve 6xx/7xx CS error output
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (6 preceding siblings ...)
  2011-02-22 22:16 ` [07/70] drm/radeon/kms: add connector table for mac g5 9600 Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [09/70] drm/radeon/kms: add bounds checking to avivo pll algo Greg KH
                   ` (61 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit c2049b3d29f47ed3750226dc51251a3404c85876 upstream.

Makes debugging CS rejections much easier.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/r600_cs.c |   46 ++++++++++++++++++++++-----------------
 1 file changed, 26 insertions(+), 20 deletions(-)

--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -295,17 +295,18 @@ static inline int r600_cs_track_validate
 	}
 
 	if (!IS_ALIGNED(pitch, pitch_align)) {
-		dev_warn(p->dev, "%s:%d cb pitch (%d) invalid\n",
-			 __func__, __LINE__, pitch);
+		dev_warn(p->dev, "%s:%d cb pitch (%d, 0x%x, %d) invalid\n",
+			 __func__, __LINE__, pitch, pitch_align, array_mode);
 		return -EINVAL;
 	}
 	if (!IS_ALIGNED(height, height_align)) {
-		dev_warn(p->dev, "%s:%d cb height (%d) invalid\n",
-			 __func__, __LINE__, height);
+		dev_warn(p->dev, "%s:%d cb height (%d, 0x%x, %d) invalid\n",
+			 __func__, __LINE__, height, height_align, array_mode);
 		return -EINVAL;
 	}
 	if (!IS_ALIGNED(base_offset, base_align)) {
-		dev_warn(p->dev, "%s offset[%d] 0x%llx not aligned\n", __func__, i, base_offset);
+		dev_warn(p->dev, "%s offset[%d] 0x%llx 0x%llx, %d not aligned\n", __func__, i,
+			 base_offset, base_align, array_mode);
 		return -EINVAL;
 	}
 
@@ -320,7 +321,10 @@ static inline int r600_cs_track_validate
 			 * broken userspace.
 			 */
 		} else {
-			dev_warn(p->dev, "%s offset[%d] %d %d %lu too big\n", __func__, i, track->cb_color_bo_offset[i], tmp, radeon_bo_size(track->cb_color_bo[i]));
+			dev_warn(p->dev, "%s offset[%d] %d %d %d %lu too big\n", __func__, i,
+				 array_mode,
+				 track->cb_color_bo_offset[i], tmp,
+				 radeon_bo_size(track->cb_color_bo[i]));
 			return -EINVAL;
 		}
 	}
@@ -455,17 +459,18 @@ static int r600_cs_track_check(struct ra
 			}
 
 			if (!IS_ALIGNED(pitch, pitch_align)) {
-				dev_warn(p->dev, "%s:%d db pitch (%d) invalid\n",
-					 __func__, __LINE__, pitch);
+				dev_warn(p->dev, "%s:%d db pitch (%d, 0x%x, %d) invalid\n",
+					 __func__, __LINE__, pitch, pitch_align, array_mode);
 				return -EINVAL;
 			}
 			if (!IS_ALIGNED(height, height_align)) {
-				dev_warn(p->dev, "%s:%d db height (%d) invalid\n",
-					 __func__, __LINE__, height);
+				dev_warn(p->dev, "%s:%d db height (%d, 0x%x, %d) invalid\n",
+					 __func__, __LINE__, height, height_align, array_mode);
 				return -EINVAL;
 			}
 			if (!IS_ALIGNED(base_offset, base_align)) {
-				dev_warn(p->dev, "%s offset[%d] 0x%llx not aligned\n", __func__, i, base_offset);
+				dev_warn(p->dev, "%s offset[%d] 0x%llx, 0x%llx, %d not aligned\n", __func__, i,
+					 base_offset, base_align, array_mode);
 				return -EINVAL;
 			}
 
@@ -473,9 +478,10 @@ static int r600_cs_track_check(struct ra
 			nviews = G_028004_SLICE_MAX(track->db_depth_view) + 1;
 			tmp = ntiles * bpe * 64 * nviews;
 			if ((tmp + track->db_offset) > radeon_bo_size(track->db_bo)) {
-				dev_warn(p->dev, "z/stencil buffer too small (0x%08X %d %d %d -> %u have %lu)\n",
-						track->db_depth_size, ntiles, nviews, bpe, tmp + track->db_offset,
-						radeon_bo_size(track->db_bo));
+				dev_warn(p->dev, "z/stencil buffer (%d) too small (0x%08X %d %d %d -> %u have %lu)\n",
+					 array_mode,
+					 track->db_depth_size, ntiles, nviews, bpe, tmp + track->db_offset,
+					 radeon_bo_size(track->db_bo));
 				return -EINVAL;
 			}
 		}
@@ -1227,18 +1233,18 @@ static inline int r600_check_texture_res
 	/* XXX check height as well... */
 
 	if (!IS_ALIGNED(pitch, pitch_align)) {
-		dev_warn(p->dev, "%s:%d tex pitch (%d) invalid\n",
-			 __func__, __LINE__, pitch);
+		dev_warn(p->dev, "%s:%d tex pitch (%d, 0x%x, %d) invalid\n",
+			 __func__, __LINE__, pitch, pitch_align, G_038000_TILE_MODE(word0));
 		return -EINVAL;
 	}
 	if (!IS_ALIGNED(base_offset, base_align)) {
-		dev_warn(p->dev, "%s:%d tex base offset (0x%llx) invalid\n",
-			 __func__, __LINE__, base_offset);
+		dev_warn(p->dev, "%s:%d tex base offset (0x%llx, 0x%llx, %d) invalid\n",
+			 __func__, __LINE__, base_offset, base_align, G_038000_TILE_MODE(word0));
 		return -EINVAL;
 	}
 	if (!IS_ALIGNED(mip_offset, base_align)) {
-		dev_warn(p->dev, "%s:%d tex mip offset (0x%llx) invalid\n",
-			 __func__, __LINE__, mip_offset);
+		dev_warn(p->dev, "%s:%d tex mip offset (0x%llx, 0x%llx, %d) invalid\n",
+			 __func__, __LINE__, mip_offset, base_align, G_038000_TILE_MODE(word0));
 		return -EINVAL;
 	}
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [09/70] drm/radeon/kms: add bounds checking to avivo pll algo
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (7 preceding siblings ...)
  2011-02-22 22:16 ` [08/70] drm/radeon/kms: improve 6xx/7xx CS error output Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [10/70] drm/radeon/kms: hopefully fix pll issues for real (v3) Greg KH
                   ` (60 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit a4b40d5d97f5c9ad0b7f4bf2818291ca184bb433 upstream.

Prevent divider overflow.
Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=28932

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/radeon_display.c |   10 ++++++++++
 1 file changed, 10 insertions(+)

--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -461,6 +461,11 @@ static void avivo_get_fb_div(struct rade
 	tmp *= target_clock;
 	*fb_div = tmp / pll->reference_freq;
 	*frac_fb_div = tmp % pll->reference_freq;
+
+        if (*fb_div > pll->max_feedback_div)
+		*fb_div = pll->max_feedback_div;
+        else if (*fb_div < pll->min_feedback_div)
+                *fb_div = pll->min_feedback_div;
 }
 
 static u32 avivo_get_post_div(struct radeon_pll *pll,
@@ -494,6 +499,11 @@ static u32 avivo_get_post_div(struct rad
 			post_div--;
 	}
 
+	if (post_div > pll->max_post_div)
+		post_div = pll->max_post_div;
+	else if (post_div < pll->min_post_div)
+		post_div = pll->min_post_div;
+
 	return post_div;
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [10/70] drm/radeon/kms: hopefully fix pll issues for real (v3)
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (8 preceding siblings ...)
  2011-02-22 22:16 ` [09/70] drm/radeon/kms: add bounds checking to avivo pll algo Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [11/70] drm/nouveau: Only select ACPI_VIDEO if its dependencies are met Greg KH
                   ` (59 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit 5b40ddf888398ce4cccbf3b9d0a18d90149ed7ff upstream.

The problematic boards have a recommended reference divider
to be used when spread spectrum is enabled on the laptop panel.
Enable the use of the recommended reference divider along with
the new pll algo.

v2: testing options

v3: When using the fixed reference divider with LVDS, prefer
min m to max p and use fractional feedback dividers.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=28852
https://bugzilla.kernel.org/show_bug.cgi?id=24462
https://bugzilla.kernel.org/show_bug.cgi?id=26552
MacbookPro issues reported by Justin Mattock <justinmattock@gmail.com>

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/atombios_crtc.c |   22 ++++++++--------------
 1 file changed, 8 insertions(+), 14 deletions(-)

--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -514,7 +514,6 @@ static u32 atombios_adjust_pll(struct dr
 			pll->flags |= RADEON_PLL_PREFER_HIGH_FB_DIV;
 		else
 			pll->flags |= RADEON_PLL_PREFER_LOW_REF_DIV;
-
 	}
 
 	list_for_each_entry(encoder, &dev->mode_config.encoder_list, head) {
@@ -531,29 +530,28 @@ static u32 atombios_adjust_pll(struct dr
 					dp_clock = dig_connector->dp_clock;
 				}
 			}
-/* this might work properly with the new pll algo */
-#if 0 /* doesn't work properly on some laptops */
+
 			/* use recommended ref_div for ss */
 			if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
+				pll->flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;
 				if (ss_enabled) {
 					if (ss->refdiv) {
 						pll->flags |= RADEON_PLL_USE_REF_DIV;
 						pll->reference_div = ss->refdiv;
+						if (ASIC_IS_AVIVO(rdev))
+							pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV;
 					}
 				}
 			}
-#endif
+
 			if (ASIC_IS_AVIVO(rdev)) {
 				/* DVO wants 2x pixel clock if the DVO chip is in 12 bit mode */
 				if (radeon_encoder->encoder_id == ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DVO1)
 					adjusted_clock = mode->clock * 2;
 				if (radeon_encoder->active_device & (ATOM_DEVICE_TV_SUPPORT))
 					pll->flags |= RADEON_PLL_PREFER_CLOSEST_LOWER;
-				/* rv515 needs more testing with this option */
-				if (rdev->family != CHIP_RV515) {
-					if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
-						pll->flags |= RADEON_PLL_IS_LCD;
-				}
+				if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT))
+					pll->flags |= RADEON_PLL_IS_LCD;
 			} else {
 				if (encoder->encoder_type != DRM_MODE_ENCODER_DAC)
 					pll->flags |= RADEON_PLL_NO_ODD_POST_DIV;
@@ -921,11 +919,7 @@ static void atombios_crtc_set_pll(struct
 	/* adjust pixel clock as needed */
 	adjusted_clock = atombios_adjust_pll(crtc, mode, pll, ss_enabled, &ss);
 
-	/* rv515 seems happier with the old algo */
-	if (rdev->family == CHIP_RV515)
-		radeon_compute_pll_legacy(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
-					  &ref_div, &post_div);
-	else if (ASIC_IS_AVIVO(rdev))
+	if (ASIC_IS_AVIVO(rdev))
 		radeon_compute_pll_avivo(pll, adjusted_clock, &pll_clock, &fb_div, &frac_fb_div,
 					 &ref_div, &post_div);
 	else



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [11/70] drm/nouveau: Only select ACPI_VIDEO if its dependencies are met
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (9 preceding siblings ...)
  2011-02-22 22:16 ` [10/70] drm/radeon/kms: hopefully fix pll issues for real (v3) Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [12/70] vt: fix issue when fbcon wants to takeover a second time Greg KH
                   ` (58 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Ben Hutchings,
	Francisco Jerez, Ben Skeggs, Nick Bowler

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Ben Hutchings <ben@decadent.org.uk>

commit c42988012ad9c1807b7c7a5ff855cd630094989b upstream.

CONFIG_ACPI_VIDEO depends on more than just CONFIG_ACPI, so add those
dependencies to the Kconfig select condition.  The case where some
dependencies fail to be satisfied should be handled correctly, because
in that case the ACPI_VIDEO symbols we use are converted into
static-inline stubs.

Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Francisco Jerez <currojerez@riseup.net>
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Cc: Nick Bowler <nbowler@elliptictech.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/nouveau/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/gpu/drm/nouveau/Kconfig
+++ b/drivers/gpu/drm/nouveau/Kconfig
@@ -10,7 +10,7 @@ config DRM_NOUVEAU
 	select FB
 	select FRAMEBUFFER_CONSOLE if !EMBEDDED
 	select FB_BACKLIGHT if DRM_NOUVEAU_BACKLIGHT
-	select ACPI_VIDEO if ACPI
+	select ACPI_VIDEO if ACPI && X86 && BACKLIGHT_CLASS_DEVICE && VIDEO_OUTPUT_CONTROL && INPUT
 	help
 	  Choose this option for open-source nVidia support.
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [12/70] vt: fix issue when fbcon wants to takeover a second time.
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (10 preceding siblings ...)
  2011-02-22 22:16 ` [11/70] drm/nouveau: Only select ACPI_VIDEO if its dependencies are met Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [13/70] ARM: 6606/1: sa1100: Fix platform device registration Greg KH
                   ` (57 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Dave Airlie

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1552 bytes --]

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dave Airlie <airlied@redhat.com>

commit c55c63c6539499379ab4a7e8a5c0f857351fb946 upstream.

With framebuffer handover and multiple GPUs, we get into a
position where the fbcon unbinds the vesafb framebuffer for GPU 1,
but we still have a radeon framebuffer bound from GPU 0, so
we don't unregister the console driver. Then when we tried to bind
the new radeon framebuffer for GPU1 we never get to the bind
call as we fail due to the console being registered already.

This changes the return value to -EBUSY when the driver is
already registered and continues to bind for -EBUSY.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/tty/vt/vt.c |    9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

--- a/drivers/tty/vt/vt.c
+++ b/drivers/tty/vt/vt.c
@@ -3524,7 +3524,7 @@ int register_con_driver(const struct con
 
 		/* already registered */
 		if (con_driver->con == csw)
-			retval = -EINVAL;
+			retval = -EBUSY;
 	}
 
 	if (retval)
@@ -3635,7 +3635,12 @@ int take_over_console(const struct consw
 	int err;
 
 	err = register_con_driver(csw, first, last);
-
+	/* if we get an busy error we still want to bind the console driver
+	 * and return success, as we may have unbound the console driver
+	 * but not unregistered it.
+	*/
+	if (err == -EBUSY)
+		err = 0;
 	if (!err)
 		bind_con_driver(csw, first, last, deflt);
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [13/70] ARM: 6606/1: sa1100: Fix platform device registration
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (11 preceding siblings ...)
  2011-02-22 22:16 ` [12/70] vt: fix issue when fbcon wants to takeover a second time Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [14/70] HID: magicmouse: Dont report REL_{X, Y} for Magic Trackpad Greg KH
                   ` (56 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Jochen Friedrich,
	Kristoffer Ericson, Russell King

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Jochen Friedrich <jochen@scram.de>

commit 4f444e2b59dd4255d121b57ec41a4a8c5d6bce46 upstream.

Since commit 7a5b4e16c880f8350d255dc188f81622905618c1, simpad devices don't
boot anymore, since platform devices are registered too early. Fix by moving
the registration from map_io to arch_initcall as done on other sa1100 boards.

Signed-off-by: Jochen Friedrich <jochen@scram.de>
Acked-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/arm/mach-sa1100/simpad.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

--- a/arch/arm/mach-sa1100/simpad.c
+++ b/arch/arm/mach-sa1100/simpad.c
@@ -166,9 +166,6 @@ static void __init simpad_map_io(void)
 	PCFR = 0;
 	PSDR = 0;
 
-	sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources,
-			      ARRAY_SIZE(simpad_flash_resources));
-	sa11x0_register_mcp(&simpad_mcp_data);
 }
 
 static void simpad_power_off(void)
@@ -216,6 +213,10 @@ static int __init simpad_init(void)
 
 	pm_power_off = simpad_power_off;
 
+	sa11x0_register_mtd(&simpad_flash_data, simpad_flash_resources,
+			      ARRAY_SIZE(simpad_flash_resources));
+	sa11x0_register_mcp(&simpad_mcp_data);
+
 	ret = platform_add_devices(devices, ARRAY_SIZE(devices));
 	if(ret)
 		printk(KERN_WARNING "simpad: Unable to register mq200 framebuffer device");



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [14/70] HID: magicmouse: Dont report REL_{X, Y} for Magic Trackpad
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (12 preceding siblings ...)
  2011-02-22 22:16 ` [13/70] ARM: 6606/1: sa1100: Fix platform device registration Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [15/70] perf timechart: Adjust perf timechart to the new power events Greg KH
                   ` (55 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Chase Douglas, Jiri Kosina

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------


From: Chase Douglas <chase.douglas@canonical.com>

[ Linus' tree commit 6a66bbd693c12f71697c61207aa18bc5a12da0ab ]

With the recent switch to having the hid layer handle standard axis
initialization, the Magic Trackpad now reports relative axes. This would
be fine in the normal mode, but the driver puts the device in multitouch
mode where no relative events are generated. Also, userspace software
depends on accurate axis information for device type detection. Thus,
ignoring the relative axes from the Magic Trackpad is best.

Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/hid/hid-magicmouse.c |    5 +++++
 1 file changed, 5 insertions(+)

--- a/drivers/hid/hid-magicmouse.c
+++ b/drivers/hid/hid-magicmouse.c
@@ -433,6 +433,11 @@ static int magicmouse_input_mapping(stru
 	if (!msc->input)
 		msc->input = hi->input;
 
+	/* Magic Trackpad does not give relative data after switching to MT */
+	if (hi->input->id.product == USB_DEVICE_ID_APPLE_MAGICTRACKPAD &&
+	    field->flags & HID_MAIN_ITEM_RELATIVE)
+		return -1;
+
 	return 0;
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [15/70] perf timechart: Adjust perf timechart to the new power events
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (13 preceding siblings ...)
  2011-02-22 22:16 ` [14/70] HID: magicmouse: Dont report REL_{X, Y} for Magic Trackpad Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-23  0:17   ` Thomas Renninger
  2011-02-22 22:16 ` [16/70] x86: Clear irqstack thread_info Greg KH
                   ` (54 subsequent siblings)
  69 siblings, 1 reply; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Thomas Renninger,
	Arjan van de Ven, Jean Pihet, Ingo Molnar

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Thomas Renninger <trenn@suse.de>

commit 20c457b8587bee4644d998331d9e13be82e05b4c upstream.

[This patch is part of mainline git commit 20c457b8587bee4644d9.
  This should fix:
  http://www.mail-archive.com/linux-perf-users@vger.kernel.org/msg00057.html

  The regression was introduced by git commit:
  4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb]

builtin-timechart must only pass -e power:xy events if they are supported by
the running kernel, otherwise try to fetch the old power:power{start,end}
events.

For this I added the tiny helper function:

   int is_valid_tracepoint(const char *event_string)

to parse-events.[hc], which could be more generic as an interface and support
hardware/software/... events, not only tracepoints, but someone else could
extend that if needed...

Signed-off-by: Thomas Renninger <trenn@suse.de>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Jean Pihet <j-pihet@ti.com>
LKML-Reference: <1294073445-14812-4-git-send-email-trenn@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 tools/perf/builtin-timechart.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -502,7 +502,7 @@ static int process_sample_event(event_t
 			c_state_start(pe->cpu_id, data.time, pe->value);
 
 		if (strcmp(event_str, "power:power_end") == 0)
-			c_state_end(pe->cpu_id, data.time);
+			c_state_end(data.cpu, data.time);
 
 		if (strcmp(event_str, "power:power_frequency") == 0)
 			p_state_change(pe->cpu_id, data.time, pe->value);



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [16/70] x86: Clear irqstack thread_info
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (14 preceding siblings ...)
  2011-02-22 22:16 ` [15/70] perf timechart: Adjust perf timechart to the new power events Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [17/70] drm/i915: make DP training try a little harder Greg KH
                   ` (53 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Brian Gerst, Pekka Enberg,
	Arjan van de Ven, Ingo Molnar

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Brian Gerst <brgerst@gmail.com>

commit 7b698ea377e10b074ceef0d79218e6622d618421 upstream.

Mathias Merz reported that v2.6.37 failed to boot on his
system.

Make sure that the thread_info part of the irqstack is
initialized to zeroes.

Reported-and-Tested-by: Matthias Merz <linux@merz-ka.de>
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Acked-by: Pekka Enberg <penberg@kernel.org>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
LKML-Reference: <AANLkTimyKXfJ1x8tgwrr1hYnNLrPfgE1NTe4z7L6tUDm@mail.gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/x86/kernel/irq_32.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--- a/arch/x86/kernel/irq_32.c
+++ b/arch/x86/kernel/irq_32.c
@@ -129,8 +129,7 @@ void __cpuinit irq_ctx_init(int cpu)
 	irqctx = page_address(alloc_pages_node(cpu_to_node(cpu),
 					       THREAD_FLAGS,
 					       THREAD_ORDER));
-	irqctx->tinfo.task		= NULL;
-	irqctx->tinfo.exec_domain	= NULL;
+	memset(&irqctx->tinfo, 0, sizeof(struct thread_info));
 	irqctx->tinfo.cpu		= cpu;
 	irqctx->tinfo.preempt_count	= HARDIRQ_OFFSET;
 	irqctx->tinfo.addr_limit	= MAKE_MM_SEG(0);
@@ -140,10 +139,8 @@ void __cpuinit irq_ctx_init(int cpu)
 	irqctx = page_address(alloc_pages_node(cpu_to_node(cpu),
 					       THREAD_FLAGS,
 					       THREAD_ORDER));
-	irqctx->tinfo.task		= NULL;
-	irqctx->tinfo.exec_domain	= NULL;
+	memset(&irqctx->tinfo, 0, sizeof(struct thread_info));
 	irqctx->tinfo.cpu		= cpu;
-	irqctx->tinfo.preempt_count	= 0;
 	irqctx->tinfo.addr_limit	= MAKE_MM_SEG(0);
 
 	per_cpu(softirq_ctx, cpu) = irqctx;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [17/70] drm/i915: make DP training try a little harder
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (15 preceding siblings ...)
  2011-02-22 22:16 ` [16/70] x86: Clear irqstack thread_info Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [18/70] xen: p2m: correctly initialize partial p2m leaf Greg KH
                   ` (52 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Jesse Barnes, Chris Wilson

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Jesse Barnes <jbarnes@virtuousgeek.org>

commit 37f809755845cc3e18e8216c04525bdb885fa13b upstream.

When trying to do channel equalization, we need to make sure we still
have clock recovery on all lanes while training.  We also need to try
clock recovery again if we lose the clock or if channel eq fails 5
times.  We'll try clock recovery up to 5 more times before giving up
entirely.

Gets suspend/resume working on my Vaio again and brings us back into
compliance with the DP training sequence spec.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/i915/intel_dp.c |   27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1343,17 +1343,24 @@ intel_dp_complete_link_train(struct inte
 	struct drm_device *dev = intel_dp->base.base.dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
 	bool channel_eq = false;
-	int tries;
+	int tries, cr_tries;
 	u32 reg;
 	uint32_t DP = intel_dp->DP;
 
 	/* channel equalization */
 	tries = 0;
+	cr_tries = 0;
 	channel_eq = false;
 	for (;;) {
 		/* Use intel_dp->train_set[0] to set the voltage and pre emphasis values */
 		uint32_t    signal_levels;
 
+		if (cr_tries > 5) {
+			DRM_ERROR("failed to train DP, aborting\n");
+			intel_dp_link_down(intel_dp);
+			break;
+		}
+
 		if (IS_GEN6(dev) && is_edp(intel_dp)) {
 			signal_levels = intel_gen6_edp_signal_levels(intel_dp->train_set[0]);
 			DP = (DP & ~EDP_LINK_TRAIN_VOL_EMP_MASK_SNB) | signal_levels;
@@ -1376,14 +1383,26 @@ intel_dp_complete_link_train(struct inte
 		if (!intel_dp_get_link_status(intel_dp))
 			break;
 
+		/* Make sure clock is still ok */
+		if (!intel_clock_recovery_ok(intel_dp->link_status, intel_dp->lane_count)) {
+			intel_dp_start_link_train(intel_dp);
+			cr_tries++;
+			continue;
+		}
+
 		if (intel_channel_eq_ok(intel_dp)) {
 			channel_eq = true;
 			break;
 		}
 
-		/* Try 5 times */
-		if (tries > 5)
-			break;
+		/* Try 5 times, then try clock recovery if that fails */
+		if (tries > 5) {
+			intel_dp_link_down(intel_dp);
+			intel_dp_start_link_train(intel_dp);
+			tries = 0;
+			cr_tries++;
+			continue;
+		}
 
 		/* Compute new intel_dp->train_set as requested by target */
 		intel_get_adjust_train(intel_dp);



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [18/70] xen: p2m: correctly initialize partial p2m leaf
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (16 preceding siblings ...)
  2011-02-22 22:16 ` [17/70] drm/i915: make DP training try a little harder Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [19/70] xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn Greg KH
                   ` (51 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stefan Bader, Konrad Rzeszutek Wilk

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stefan Bader <stefan.bader@canonical.com>

commit 8e1b4cf2108488ccfb9a3e7ed7cd85a435e01d4b upstream.

After changing the p2m mapping to a tree by

  commit 58e05027b530ff081ecea68e38de8d59db8f87e0
    xen: convert p2m to a 3 level tree

and trying to boot a DomU with 615MB of memory, the following crash was
observed in the dump:

kernel direct mapping tables up to 26f00000 @ 1ec4000-1fff000
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [<c0107397>] xen_set_pte+0x27/0x60
*pdpt = 0000000000000000 *pde = 0000000000000000

Adding further debug statements showed that when trying to set up
pfn=0x26700 the returned mapping was invalid.

pfn=0x266ff calling set_pte(0xc1fe77f8, 0x6b3003)
pfn=0x26700 calling set_pte(0xc1fe7800, 0x3)

Although the last_pfn obtained from the startup info is 0x26700, which
should in turn not be hit, the additional 8MB which are added as extra
memory normally seem to be ok. This lead to looking into the initial
p2m tree construction, which uses the smaller value and assuming that
there is other code handling the extra memory.

When the p2m tree is set up, the leaves are directly pointed to the
array which the domain builder set up. But if the mapping is not on a
boundary that fits into one p2m page, this will result in the last leaf
being only partially valid. And as the invalid entries are not
initialized in that case, things go badly wrong.

I am trying to fix that by checking whether the current leaf is a
complete map and if not, allocate a completely new page and copy only
the valid pointers there. This may not be the most efficient or elegant
solution, but at least it seems to allow me booting DomUs with memory
assignments all over the range.

BugLink: http://bugs.launchpad.net/bugs/686692
[v2: Redid a bit of commit wording and fixed a compile warning]

Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/x86/xen/mmu.c |   20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -395,7 +395,25 @@ void __init xen_build_dynamic_phys_to_ma
 			p2m_top[topidx] = mid;
 		}
 
-		p2m_top[topidx][mididx] = &mfn_list[pfn];
+		/*
+		 * As long as the mfn_list has enough entries to completely
+		 * fill a p2m page, pointing into the array is ok. But if
+		 * not the entries beyond the last pfn will be undefined.
+		 * And guessing that the 'what-ever-there-is' does not take it
+		 * too kindly when changing it to invalid markers, a new page
+		 * is allocated, initialized and filled with the valid part.
+		 */
+		if (unlikely(pfn + P2M_PER_PAGE > max_pfn)) {
+			unsigned long p2midx;
+			unsigned long *p2m = extend_brk(PAGE_SIZE, PAGE_SIZE);
+			p2m_init(p2m);
+
+			for (p2midx = 0; pfn + p2midx < max_pfn; p2midx++) {
+				p2m[p2midx] = mfn_list[pfn + p2midx];
+			}
+			p2m_top[topidx][mididx] = p2m;
+		} else
+			p2m_top[topidx][mididx] = &mfn_list[pfn];
 	}
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [19/70] xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn.
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (17 preceding siblings ...)
  2011-02-22 22:16 ` [18/70] xen: p2m: correctly initialize partial p2m leaf Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:16 ` [20/70] [media] [v3,media] av7110: check for negative array offset Greg KH
                   ` (50 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Konrad Rzeszutek Wilk, Stefan Bader

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stefan Bader <stefan.bader@canonical.com>

commit cf04d120d9413de581437cf9a29f138ec1178f65 upstream.

In case the mfn_list does not have enough entries to fill
a p2m page we do not want the entries from max_pfn up to
the boundary to be filled with unknown values. Hence
set them to INVALID_P2M_ENTRY.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/x86/xen/mmu.c |   16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -399,21 +399,15 @@ void __init xen_build_dynamic_phys_to_ma
 		 * As long as the mfn_list has enough entries to completely
 		 * fill a p2m page, pointing into the array is ok. But if
 		 * not the entries beyond the last pfn will be undefined.
-		 * And guessing that the 'what-ever-there-is' does not take it
-		 * too kindly when changing it to invalid markers, a new page
-		 * is allocated, initialized and filled with the valid part.
 		 */
 		if (unlikely(pfn + P2M_PER_PAGE > max_pfn)) {
 			unsigned long p2midx;
-			unsigned long *p2m = extend_brk(PAGE_SIZE, PAGE_SIZE);
-			p2m_init(p2m);
 
-			for (p2midx = 0; pfn + p2midx < max_pfn; p2midx++) {
-				p2m[p2midx] = mfn_list[pfn + p2midx];
-			}
-			p2m_top[topidx][mididx] = p2m;
-		} else
-			p2m_top[topidx][mididx] = &mfn_list[pfn];
+			p2midx = max_pfn % P2M_PER_PAGE;
+			for ( ; p2midx < P2M_PER_PAGE; p2midx++)
+				mfn_list[pfn + p2midx] = INVALID_P2M_ENTRY;
+		}
+		p2m_top[topidx][mididx] = &mfn_list[pfn];
 	}
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [20/70] [media] [v3,media] av7110: check for negative array offset
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (18 preceding siblings ...)
  2011-02-22 22:16 ` [19/70] xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn Greg KH
@ 2011-02-22 22:16 ` Greg KH
  2011-02-22 22:17 ` [21/70] xfs: fix dquot shaker deadlock Greg KH
                   ` (49 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:16 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Dan Carpenter,
	Mauro Carvalho Chehab

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dan Carpenter <error27@gmail.com>

commit cb26a24ee9706473f31d34cc259f4dcf45cd0644 upstream.

info->num comes from the user.  It's type int.  If the user passes
in a negative value that would cause memory corruption.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/media/dvb/ttpci/av7110_ca.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/media/dvb/ttpci/av7110_ca.c
+++ b/drivers/media/dvb/ttpci/av7110_ca.c
@@ -277,7 +277,7 @@ static int dvb_ca_ioctl(struct file *fil
 	{
 		ca_slot_info_t *info=(ca_slot_info_t *)parg;
 
-		if (info->num > 1)
+		if (info->num < 0 || info->num > 1)
 			return -EINVAL;
 		av7110->ci_slot[info->num].num = info->num;
 		av7110->ci_slot[info->num].type = FW_CI_LL_SUPPORT(av7110->arm_app) ?



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [21/70] xfs: fix dquot shaker deadlock
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (19 preceding siblings ...)
  2011-02-22 22:16 ` [20/70] [media] [v3,media] av7110: check for negative array offset Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [22/70] HID: add Add Cando touch screen 10.1-inch product id Greg KH
                   ` (48 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Dave Chinner, Arkadiusz Miskiewicz

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dave Chinner <dchinner@redhat.com>

commit 0fbca4d1c3932c27c4794bf5c2b5fc961cf5a54f upstream.

Commit 368e136 ("xfs: remove duplicate code from dquot reclaim") fails
to unlock the dquot freelist when the number of loop restarts is
exceeded in xfs_qm_dqreclaim_one(). This causes hangs in memory
reclaim.

Rework the loop control logic into an unwind stack that all the
different cases jump into. This means there is only one set of code
that processes the loop exit criteria, and simplifies the unlocking
of all the items from different points in the loop. It also fixes a
double increment of the restart counter from the qi_dqlist_lock
case.

Reported-by: Malcolm Scott <lkml@malc.org.uk>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Alex Elder <aelder@sgi.com>
Cc: Arkadiusz Miskiewicz <a.miskiewicz@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/xfs/quota/xfs_qm.c |   46 +++++++++++++++++++++-------------------------
 1 file changed, 21 insertions(+), 25 deletions(-)

--- a/fs/xfs/quota/xfs_qm.c
+++ b/fs/xfs/quota/xfs_qm.c
@@ -1863,12 +1863,14 @@ xfs_qm_dqreclaim_one(void)
 	xfs_dquot_t	*dqpout;
 	xfs_dquot_t	*dqp;
 	int		restarts;
+	int		startagain;
 
 	restarts = 0;
 	dqpout = NULL;
 
 	/* lockorder: hashchainlock, freelistlock, mplistlock, dqlock, dqflock */
-startagain:
+again:
+	startagain = 0;
 	mutex_lock(&xfs_Gqm->qm_dqfrlist_lock);
 
 	list_for_each_entry(dqp, &xfs_Gqm->qm_dqfrlist, q_freelist) {
@@ -1885,13 +1887,10 @@ startagain:
 			ASSERT(! (dqp->dq_flags & XFS_DQ_INACTIVE));
 
 			trace_xfs_dqreclaim_want(dqp);
-
-			xfs_dqunlock(dqp);
-			mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
-			if (++restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)
-				return NULL;
 			XQM_STATS_INC(xqmstats.xs_qm_dqwants);
-			goto startagain;
+			restarts++;
+			startagain = 1;
+			goto dqunlock;
 		}
 
 		/*
@@ -1906,23 +1905,20 @@ startagain:
 			ASSERT(list_empty(&dqp->q_mplist));
 			list_del_init(&dqp->q_freelist);
 			xfs_Gqm->qm_dqfrlist_cnt--;
-			xfs_dqunlock(dqp);
 			dqpout = dqp;
 			XQM_STATS_INC(xqmstats.xs_qm_dqinact_reclaims);
-			break;
+			goto dqunlock;
 		}
 
 		ASSERT(dqp->q_hash);
 		ASSERT(!list_empty(&dqp->q_mplist));
 
 		/*
-		 * Try to grab the flush lock. If this dquot is in the process of
-		 * getting flushed to disk, we don't want to reclaim it.
+		 * Try to grab the flush lock. If this dquot is in the process
+		 * of getting flushed to disk, we don't want to reclaim it.
 		 */
-		if (!xfs_dqflock_nowait(dqp)) {
-			xfs_dqunlock(dqp);
-			continue;
-		}
+		if (!xfs_dqflock_nowait(dqp))
+			goto dqunlock;
 
 		/*
 		 * We have the flush lock so we know that this is not in the
@@ -1944,8 +1940,7 @@ startagain:
 				xfs_fs_cmn_err(CE_WARN, mp,
 			"xfs_qm_dqreclaim: dquot %p flush failed", dqp);
 			}
-			xfs_dqunlock(dqp); /* dqflush unlocks dqflock */
-			continue;
+			goto dqunlock;
 		}
 
 		/*
@@ -1967,13 +1962,8 @@ startagain:
 		 */
 		if (!mutex_trylock(&mp->m_quotainfo->qi_dqlist_lock)) {
 			restarts++;
-			mutex_unlock(&dqp->q_hash->qh_lock);
-			xfs_dqfunlock(dqp);
-			xfs_dqunlock(dqp);
-			mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
-			if (restarts++ >= XFS_QM_RECLAIM_MAX_RESTARTS)
-				return NULL;
-			goto startagain;
+			startagain = 1;
+			goto qhunlock;
 		}
 
 		ASSERT(dqp->q_nrefs == 0);
@@ -1986,14 +1976,20 @@ startagain:
 		xfs_Gqm->qm_dqfrlist_cnt--;
 		dqpout = dqp;
 		mutex_unlock(&mp->m_quotainfo->qi_dqlist_lock);
+qhunlock:
 		mutex_unlock(&dqp->q_hash->qh_lock);
 dqfunlock:
 		xfs_dqfunlock(dqp);
+dqunlock:
 		xfs_dqunlock(dqp);
 		if (dqpout)
 			break;
 		if (restarts >= XFS_QM_RECLAIM_MAX_RESTARTS)
-			return NULL;
+			break;
+		if (startagain) {
+			mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
+			goto again;
+		}
 	}
 	mutex_unlock(&xfs_Gqm->qm_dqfrlist_lock);
 	return dqpout;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [22/70] HID: add Add Cando touch screen 10.1-inch product id
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (20 preceding siblings ...)
  2011-02-22 22:17 ` [21/70] xfs: fix dquot shaker deadlock Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [23/70] HID: Switch turbox/mosart touchscreen to hid-mosart Greg KH
                   ` (47 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Benjamin Tissoires, Jiri Kosina

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Benjamin Tissoires <benjamin.tissoires@enac.fr>

commit bc5ab083a68bfec212780281f8e57d871d8882a0 upstream.

This device has been reported to be an hid-cando one.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/hid/hid-cando.c |    2 ++
 drivers/hid/hid-core.c  |    1 +
 drivers/hid/hid-ids.h   |    1 +
 3 files changed, 4 insertions(+)

--- a/drivers/hid/hid-cando.c
+++ b/drivers/hid/hid-cando.c
@@ -236,6 +236,8 @@ static const struct hid_device_id cando_
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO,
 			USB_DEVICE_ID_CANDO_MULTI_TOUCH) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO,
+			USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO,
 			USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO,
 		USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) },
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1287,6 +1287,7 @@ static const struct hid_device_id hid_bl
 	{ HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE_2) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO, USB_DEVICE_ID_CANDO_MULTI_TOUCH) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO, USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO, USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CANDO, USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION) },
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -135,6 +135,7 @@
 
 #define USB_VENDOR_ID_CANDO		0x2087
 #define USB_DEVICE_ID_CANDO_MULTI_TOUCH	0x0a01
+#define USB_DEVICE_ID_CANDO_MULTI_TOUCH_10_1 0x0a02
 #define USB_DEVICE_ID_CANDO_MULTI_TOUCH_11_6 0x0b03
 #define USB_DEVICE_ID_CANDO_MULTI_TOUCH_15_6 0x0f01
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [23/70] HID: Switch turbox/mosart touchscreen to hid-mosart
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (21 preceding siblings ...)
  2011-02-22 22:17 ` [22/70] HID: add Add Cando touch screen 10.1-inch product id Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [24/70] CRED: Fix kernel panic upon security_file_alloc() failure Greg KH
                   ` (46 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Benjamin Tissoires, Jiri Kosina

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Benjamin Tissoires <benjamin.tissoires@enac.fr>

commit c64f6f934c7490faff76faf96217066a1b3570a0 upstream.

This device used the MULTI_INPUT quirk whereas it could be used
with hid-mosart instead to support the multitouch part.

Reference: https://bugs.launchpad.net/ubuntu/+bug/620609/

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/hid/hid-core.c          |    1 +
 drivers/hid/hid-mosart.c        |    1 +
 drivers/hid/usbhid/hid-quirks.c |    1 -
 3 files changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1391,6 +1391,7 @@ static const struct hid_device_id hid_bl
 	{ HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED, USB_DEVICE_ID_TOPSEED_CYBERLINK) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED2, USB_DEVICE_ID_TOPSEED2_RF_COMBO) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_TWINHAN, USB_DEVICE_ID_TWINHAN_IR_REMOTE) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_PF1209) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP4030U) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_WP5540U) },
--- a/drivers/hid/hid-mosart.c
+++ b/drivers/hid/hid-mosart.c
@@ -240,6 +240,7 @@ static void mosart_remove(struct hid_dev
 static const struct hid_device_id mosart_devices[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUS_T91MT) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_ASUS, USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) },
 	{ }
 };
 MODULE_DEVICE_TABLE(hid, mosart_devices);
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -35,7 +35,6 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_CHIC, USB_DEVICE_ID_CHIC_GAMEPAD, HID_QUIRK_BADPAD },
 	{ USB_VENDOR_ID_DWAV, USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER, HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_MOJO, USB_DEVICE_ID_RETRO_ADAPTER, HID_QUIRK_MULTI_INPUT },
-	{ USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT },



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [24/70] CRED: Fix kernel panic upon security_file_alloc() failure.
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (22 preceding siblings ...)
  2011-02-22 22:17 ` [23/70] HID: Switch turbox/mosart touchscreen to hid-mosart Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [25/70] btrfs: prevent heap corruption in btrfs_ioctl_space_info() Greg KH
                   ` (45 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Tetsuo Handa, David Howells

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>

commit 78d2978874e4e10e97dfd4fd79db45bdc0748550 upstream.

In get_empty_filp() since 2.6.29, file_free(f) is called with f->f_cred == NULL
when security_file_alloc() returned an error.  As a result, kernel will panic()
due to put_cred(NULL) call within RCU callback.

Fix this bug by assigning f->f_cred before calling security_file_alloc().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/file_table.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -125,13 +125,13 @@ struct file *get_empty_filp(void)
 		goto fail;
 
 	percpu_counter_inc(&nr_files);
+	f->f_cred = get_cred(cred);
 	if (security_file_alloc(f))
 		goto fail_sec;
 
 	INIT_LIST_HEAD(&f->f_u.fu_list);
 	atomic_long_set(&f->f_count, 1);
 	rwlock_init(&f->f_owner.lock);
-	f->f_cred = get_cred(cred);
 	spin_lock_init(&f->f_lock);
 	eventpoll_init_file(f);
 	/* f->f_version: 0 */



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [25/70] btrfs: prevent heap corruption in btrfs_ioctl_space_info()
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (23 preceding siblings ...)
  2011-02-22 22:17 ` [24/70] CRED: Fix kernel panic upon security_file_alloc() failure Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [26/70] CRED: Fix BUG() upon security_cred_alloc_blank() failure Greg KH
                   ` (44 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Dan Rosenberg, Josef Bacik,
	Chris Mason

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dan Rosenberg <drosenberg@vsecurity.com>

commit 51788b1bdd0d68345bab0af4301e7fa429277228 upstream.

Commit bf5fc093c5b625e4259203f1cee7ca73488a5620 refactored
btrfs_ioctl_space_info() and introduced several security issues.

space_args.space_slots is an unsigned 64-bit type controlled by a
possibly unprivileged caller.  The comparison as a signed int type
allows providing values that are treated as negative and cause the
subsequent allocation size calculation to wrap, or be truncated to 0.
By providing a size that's truncated to 0, kmalloc() will return
ZERO_SIZE_PTR.  It's also possible to provide a value smaller than the
slot count.  The subsequent loop ignores the allocation size when
copying data in, resulting in a heap overflow or write to ZERO_SIZE_PTR.

The fix changes the slot count type and comparison typecast to u64,
which prevents truncation or signedness errors, and also ensures that we
don't copy more data than we've allocated in the subsequent loop.  Note
that zero-size allocations are no longer possible since there is already
an explicit check for space_args.space_slots being 0 and truncation of
this value is no longer an issue.

Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
Signed-off-by: Josef Bacik <josef@redhat.com>
Reviewed-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/btrfs/ioctl.c |   10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -2087,7 +2087,7 @@ long btrfs_ioctl_space_info(struct btrfs
 	int num_types = 4;
 	int alloc_size;
 	int ret = 0;
-	int slot_count = 0;
+	u64 slot_count = 0;
 	int i, c;
 
 	if (copy_from_user(&space_args,
@@ -2126,7 +2126,7 @@ long btrfs_ioctl_space_info(struct btrfs
 		goto out;
 	}
 
-	slot_count = min_t(int, space_args.space_slots, slot_count);
+	slot_count = min_t(u64, space_args.space_slots, slot_count);
 
 	alloc_size = sizeof(*dest) * slot_count;
 
@@ -2146,6 +2146,9 @@ long btrfs_ioctl_space_info(struct btrfs
 	for (i = 0; i < num_types; i++) {
 		struct btrfs_space_info *tmp;
 
+		if (!slot_count)
+			break;
+
 		info = NULL;
 		rcu_read_lock();
 		list_for_each_entry_rcu(tmp, &root->fs_info->space_info,
@@ -2167,7 +2170,10 @@ long btrfs_ioctl_space_info(struct btrfs
 				memcpy(dest, &space, sizeof(space));
 				dest++;
 				space_args.total_spaces++;
+				slot_count--;
 			}
+			if (!slot_count)
+				break;
 		}
 		up_read(&info->groups_sem);
 	}



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [26/70] CRED: Fix BUG() upon security_cred_alloc_blank() failure
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (24 preceding siblings ...)
  2011-02-22 22:17 ` [25/70] btrfs: prevent heap corruption in btrfs_ioctl_space_info() Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [27/70] CRED: Fix memory and refcount leaks upon security_prepare_creds() failure Greg KH
                   ` (43 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Tetsuo Handa, David Howells

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>

commit 2edeaa34a6e3f2c43b667f6c4f7b27944b811695 upstream.

In cred_alloc_blank() since 2.6.32, abort_creds(new) is called with
new->security == NULL and new->magic == 0 when security_cred_alloc_blank()
returns an error.  As a result, BUG() will be triggered if SELinux is enabled
or CONFIG_DEBUG_CREDENTIALS=y.

If CONFIG_DEBUG_CREDENTIALS=y, BUG() is called from __invalid_creds() because
cred->magic == 0.  Failing that, BUG() is called from selinux_cred_free()
because selinux_cred_free() is not expecting cred->security == NULL.  This does
not affect smack_cred_free(), tomoyo_cred_free() or apparmor_cred_free().

Fix these bugs by

(1) Set new->magic before calling security_cred_alloc_blank().

(2) Handle null cred->security in creds_are_invalid() and selinux_cred_free().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/cred.c            |   12 ++++++++----
 security/selinux/hooks.c |    6 +++++-
 2 files changed, 13 insertions(+), 5 deletions(-)

--- a/kernel/cred.c
+++ b/kernel/cred.c
@@ -252,13 +252,13 @@ struct cred *cred_alloc_blank(void)
 #endif
 
 	atomic_set(&new->usage, 1);
+#ifdef CONFIG_DEBUG_CREDENTIALS
+	new->magic = CRED_MAGIC;
+#endif
 
 	if (security_cred_alloc_blank(new, GFP_KERNEL) < 0)
 		goto error;
 
-#ifdef CONFIG_DEBUG_CREDENTIALS
-	new->magic = CRED_MAGIC;
-#endif
 	return new;
 
 error:
@@ -748,7 +748,11 @@ bool creds_are_invalid(const struct cred
 	if (cred->magic != CRED_MAGIC)
 		return true;
 #ifdef CONFIG_SECURITY_SELINUX
-	if (selinux_is_enabled()) {
+	/*
+	 * cred->security == NULL if security_cred_alloc_blank() or
+	 * security_prepare_creds() returned an error.
+	 */
+	if (selinux_is_enabled() && cred->security) {
 		if ((unsigned long) cred->security < PAGE_SIZE)
 			return true;
 		if ((*(u32 *)cred->security & 0xffffff00) ==
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -3198,7 +3198,11 @@ static void selinux_cred_free(struct cre
 {
 	struct task_security_struct *tsec = cred->security;
 
-	BUG_ON((unsigned long) cred->security < PAGE_SIZE);
+	/*
+	 * cred->security == NULL if security_cred_alloc_blank() or
+	 * security_prepare_creds() returned an error.
+	 */
+	BUG_ON(cred->security && (unsigned long) cred->security < PAGE_SIZE);
 	cred->security = (void *) 0x7UL;
 	kfree(tsec);
 }



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [27/70] CRED: Fix memory and refcount leaks upon security_prepare_creds() failure
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (25 preceding siblings ...)
  2011-02-22 22:17 ` [26/70] CRED: Fix BUG() upon security_cred_alloc_blank() failure Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations Greg KH
                   ` (42 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Tetsuo Handa, David Howells

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>

commit fb2b2a1d37f80cc818fd4487b510f4e11816e5e1 upstream.

In prepare_kernel_cred() since 2.6.29, put_cred(new) is called without
assigning new->usage when security_prepare_creds() returned an error.  As a
result, memory for new and refcount for new->{user,group_info,tgcred} are
leaked because put_cred(new) won't call __put_cred() unless old->usage == 1.

Fix these leaks by assigning new->usage (and new->subscribers which was added
in 2.6.32) before calling security_prepare_creds().

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/cred.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/kernel/cred.c
+++ b/kernel/cred.c
@@ -657,6 +657,8 @@ struct cred *prepare_kernel_cred(struct
 	validate_creds(old);
 
 	*new = *old;
+	atomic_set(&new->usage, 1);
+	set_cred_subscribers(new, 0);
 	get_uid(new->user);
 	get_group_info(new->group_info);
 
@@ -674,8 +676,6 @@ struct cred *prepare_kernel_cred(struct
 	if (security_prepare_creds(new, old, GFP_KERNEL) < 0)
 		goto error;
 
-	atomic_set(&new->usage, 1);
-	set_cred_subscribers(new, 0);
 	put_cred(old);
 	validate_creds(new);
 	return new;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (26 preceding siblings ...)
  2011-02-22 22:17 ` [27/70] CRED: Fix memory and refcount leaks upon security_prepare_creds() failure Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-23  2:23   ` [Stable-review] " Ben Hutchings
  2011-02-22 22:17 ` [29/70] security: add cred argument to security_capable() Greg KH
                   ` (41 subsequent siblings)
  69 siblings, 1 reply; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Roland Vossen, Brett Rudley,
	Arend van Spriel

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Roland Vossen <rvossen@broadcom.com>

commit 6a3be6e6e7feb4cb35275475d6a863b748d59cc3 upstream.

Solved a locking issue that resulted in driver crashes with the 43224 and 43225
chips. The problem has been reported on several fora. Root cause was two fold:
hardware was being manipulated by two unsynchronized threads, and a scan
operation could interfere with an ongoing dynamic calibration process. Fix was
to invoke a lock on wl_ops_config() operation and to set internal flags when a
scan operation is started and stopped.

Please add this to the staging-linus branch.

Signed-off-by: Roland Vossen <rvossen@broadcom.com>
Acked-by: Brett Rudley <brudley@broadcom.com>
Signed-off-by: Arend van Spriel <arend@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


---
 drivers/staging/brcm80211/sys/wlc_mac80211.c |    1 -
 1 file changed, 1 deletion(-)

--- a/drivers/staging/brcm80211/sys/wlc_mac80211.c
+++ b/drivers/staging/brcm80211/sys/wlc_mac80211.c
@@ -5336,7 +5336,6 @@ wlc_sendpkt_mac80211(wlc_info_t *wlc, vo
 	fifo = prio2fifo[prio];
 
 	ASSERT((uint) PKTHEADROOM(sdu) >= TXOFF);
-	ASSERT(!PKTSHARED(sdu));
 	ASSERT(!PKTNEXT(sdu));
 	ASSERT(!PKTLINK(sdu));
 	ASSERT(fifo < NFIFO);



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [29/70] security: add cred argument to security_capable()
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (27 preceding siblings ...)
  2011-02-22 22:17 ` [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [30/70] pci: use security_capable() when checking capablities during config space read Greg KH
                   ` (40 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Chris Wright, Serge Hallyn,
	James Morris

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Chris Wright <chrisw@sous-sol.org>

commit 6037b715d6fab139742c3df8851db4c823081561 upstream.

Expand security_capable() to include cred, so that it can be usable in a
wider range of call sites.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Acked-by: Serge Hallyn <serge.hallyn@canonical.com>
Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 include/linux/security.h |    6 +++---
 kernel/capability.c      |    2 +-
 security/security.c      |    5 ++---
 3 files changed, 6 insertions(+), 7 deletions(-)

--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1664,7 +1664,7 @@ int security_capset(struct cred *new, co
 		    const kernel_cap_t *effective,
 		    const kernel_cap_t *inheritable,
 		    const kernel_cap_t *permitted);
-int security_capable(int cap);
+int security_capable(const struct cred *cred, int cap);
 int security_real_capable(struct task_struct *tsk, int cap);
 int security_real_capable_noaudit(struct task_struct *tsk, int cap);
 int security_sysctl(struct ctl_table *table, int op);
@@ -1857,9 +1857,9 @@ static inline int security_capset(struct
 	return cap_capset(new, old, effective, inheritable, permitted);
 }
 
-static inline int security_capable(int cap)
+static inline int security_capable(const struct cred *cred, int cap)
 {
-	return cap_capable(current, current_cred(), cap, SECURITY_CAP_AUDIT);
+	return cap_capable(current, cred, cap, SECURITY_CAP_AUDIT);
 }
 
 static inline int security_real_capable(struct task_struct *tsk, int cap)
--- a/kernel/capability.c
+++ b/kernel/capability.c
@@ -306,7 +306,7 @@ int capable(int cap)
 		BUG();
 	}
 
-	if (security_capable(cap) == 0) {
+	if (security_capable(current_cred(), cap) == 0) {
 		current->flags |= PF_SUPERPRIV;
 		return 1;
 	}
--- a/security/security.c
+++ b/security/security.c
@@ -154,10 +154,9 @@ int security_capset(struct cred *new, co
 				    effective, inheritable, permitted);
 }
 
-int security_capable(int cap)
+int security_capable(const struct cred *cred, int cap)
 {
-	return security_ops->capable(current, current_cred(), cap,
-				     SECURITY_CAP_AUDIT);
+	return security_ops->capable(current, cred, cap, SECURITY_CAP_AUDIT);
 }
 
 int security_real_capable(struct task_struct *tsk, int cap)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [30/70] pci: use security_capable() when checking capablities during config space read
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (28 preceding siblings ...)
  2011-02-22 22:17 ` [29/70] security: add cred argument to security_capable() Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [31/70] ACPI / Wakeup: Enable button GPEs unconditionally during initialization Greg KH
                   ` (39 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, James Morris, Dave Airlie,
	Alex Riesen, Sedat Dilek, Chris Wright

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Chris Wright <chrisw@sous-sol.org>

commit a628e7b87e100befac9702aa0c3b9848a7685e49 upstream.

This reintroduces commit 47970b1b which was subsequently reverted
as f00eaeea.  The original change was broken and caused X startup
failures and generally made privileged processes incapable of reading
device dependent config space.  The normal capable() interface returns
true on success, but the LSM interface returns 0 on success.  This thinko
is now fixed in this patch, and has been confirmed to work properly.

So, once again...Eric Paris noted that commit de139a3 ("pci: check caps
from sysfs file open to read device dependent config space") caused the
capability check to bypass security modules and potentially auditing.
Rectify this by calling security_capable() when checking the open file's
capabilities for config space reads.

Reported-by: Eric Paris <eparis@redhat.com>
Tested-by: Dave Young <hidave.darkstar@gmail.com>
Acked-by: James Morris <jmorris@namei.org>
Cc: Dave Airlie <airlied@gmail.com>
Cc: Alex Riesen <raa.lkml@gmail.com>
Cc: Sedat Dilek <sedat.dilek@googlemail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: James Morris <jmorris@namei.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/pci/pci-sysfs.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/pci/pci-sysfs.c
+++ b/drivers/pci/pci-sysfs.c
@@ -23,6 +23,7 @@
 #include <linux/mm.h>
 #include <linux/fs.h>
 #include <linux/capability.h>
+#include <linux/security.h>
 #include <linux/pci-aspm.h>
 #include <linux/slab.h>
 #include "pci.h"
@@ -368,7 +369,7 @@ pci_read_config(struct file *filp, struc
 	u8 *data = (u8*) buf;
 
 	/* Several chips lock up trying to read undefined config space */
-	if (cap_raised(filp->f_cred->cap_effective, CAP_SYS_ADMIN)) {
+	if (security_capable(filp->f_cred, CAP_SYS_ADMIN) == 0) {
 		size = dev->cfg_size;
 	} else if (dev->hdr_type == PCI_HEADER_TYPE_CARDBUS) {
 		size = 128;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [31/70] ACPI / Wakeup: Enable button GPEs unconditionally during initialization
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (29 preceding siblings ...)
  2011-02-22 22:17 ` [30/70] pci: use security_capable() when checking capablities during config space read Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [32/70] nfsd: correctly handle return value from nfsd_map_name_to_* Greg KH
                   ` (38 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Rafael J. Wysocki

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1617 bytes --]

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------


From: Rafael J. Wysocki <rjw@sisk.pl>

This is a backport of mainline kernel commit
2a5d24286e8bdafdc272b37ec5bdd9e977b3767c.

Commit 9630bdd (ACPI: Use GPE reference counting to support shared
GPEs) introduced a suspend regression where boxes resume immediately
after being suspended due to the lid or sleep button wakeup status
not being cleared properly.  This happens if the GPEs corresponding
to those devices are not enabled all the time, which apparently is
expected by some BIOSes.

To fix this problem, enable button and lid GPEs unconditionally
during initialization and keep them enabled all the time, regardless
of whether or not the ACPI button driver is used.

References: https://bugzilla.kernel.org/show_bug.cgi?id=27372
Reported-and-tested-by: Ferenc Wágner <wferi@niif.hu>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/acpi/wakeup.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

--- a/drivers/acpi/wakeup.c
+++ b/drivers/acpi/wakeup.c
@@ -84,8 +84,12 @@ int __init acpi_wakeup_device_init(void)
 		struct acpi_device *dev = container_of(node,
 						       struct acpi_device,
 						       wakeup_list);
-		if (dev->wakeup.flags.always_enabled)
+		if (dev->wakeup.flags.always_enabled) {
+			/* Button GPEs are supposed to be always enabled. */
+			acpi_enable_gpe(dev->wakeup.gpe_device,
+					dev->wakeup.gpe_number);
 			dev->wakeup.state.enabled = 1;
+		}
 	}
 	mutex_unlock(&acpi_device_lock);
 	return 0;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [32/70] nfsd: correctly handle return value from nfsd_map_name_to_*
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (30 preceding siblings ...)
  2011-02-22 22:17 ` [31/70] ACPI / Wakeup: Enable button GPEs unconditionally during initialization Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [33/70] x86, hotplug: Fix powersavings with offlined cores on AMD Greg KH
                   ` (37 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, NeilBrown, J. Bruce Fields

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: NeilBrown <neilb@suse.de>

commit 47c85291d3dd1a51501555000b90f8e281a0458e upstream.

These functions return an nfs status, not a host_err.  So don't
try to convert  before returning.

This is a regression introduced by
3c726023402a2f3b28f49b9d90ebf9e71151157d; I fixed up two of the callers,
but missed these two.

Reported-by: Herbert Poetzl <herbert@13thfloor.at>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/nfsd/nfs4xdr.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -316,8 +316,8 @@ nfsd4_decode_fattr(struct nfsd4_compound
 		READ_BUF(dummy32);
 		len += (XDR_QUADLEN(dummy32) << 2);
 		READMEM(buf, dummy32);
-		if ((host_err = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &iattr->ia_uid)))
-			goto out_nfserr;
+		if ((status = nfsd_map_name_to_uid(argp->rqstp, buf, dummy32, &iattr->ia_uid)))
+			return status;
 		iattr->ia_valid |= ATTR_UID;
 	}
 	if (bmval[1] & FATTR4_WORD1_OWNER_GROUP) {
@@ -327,8 +327,8 @@ nfsd4_decode_fattr(struct nfsd4_compound
 		READ_BUF(dummy32);
 		len += (XDR_QUADLEN(dummy32) << 2);
 		READMEM(buf, dummy32);
-		if ((host_err = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &iattr->ia_gid)))
-			goto out_nfserr;
+		if ((status = nfsd_map_name_to_gid(argp->rqstp, buf, dummy32, &iattr->ia_gid)))
+			return status;
 		iattr->ia_valid |= ATTR_GID;
 	}
 	if (bmval[1] & FATTR4_WORD1_TIME_ACCESS_SET) {



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [33/70] x86, hotplug: Fix powersavings with offlined cores on AMD
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (31 preceding siblings ...)
  2011-02-22 22:17 ` [32/70] nfsd: correctly handle return value from nfsd_map_name_to_* Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [34/70] s390: remove task_show_regs Greg KH
                   ` (36 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, venki, a.p.zijlstra,
	Andreas.Herrmann3, hpa, arjan, lenb, Borislav Petkov

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------


From: Borislav Petkov <borislav.petkov@amd.com>

Upstream commits: 93789b32dbf355e70f18b17a82e8661677a7f7fb,
	 1c9d16e35911090dee3f9313e6af13af623d66ee

ea53069231f9317062910d6e772cca4ce93de8c8 made a CPU use monitor/mwait
when offline. This is not the optimal choice for AMD wrt to powersavings
and we'd prefer our cores to halt (i.e. enter C1) instead. For this, the
same selection whether to use monitor/mwait has to be used as when we
select the idle routine for the machine.

With this patch, offlining cores 1-5 on a X6 machine allows core0 to
boost again.

[ hpa: putting this in urgent since it is a (power) regression fix ]

Reported-by: Andreas Herrmann <andreas.herrmann3@amd.com>
Cc: H. Peter Anvin <hpa@linux.intel.com>
Cc: Arjan van de Ven <arjan@linux.intel.com>
Cc: Len Brown <lenb@kernel.org>
Cc: Venkatesh Pallipadi <venki@google.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.hl>
Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>
LKML-Reference: <1295534572-10730-1-git-send-email-bp@amd64.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/x86/include/asm/cpu.h |    1 +
 arch/x86/kernel/process.c  |    5 +++--
 arch/x86/kernel/smpboot.c  |    3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

--- a/arch/x86/include/asm/cpu.h
+++ b/arch/x86/include/asm/cpu.h
@@ -32,5 +32,6 @@ extern void arch_unregister_cpu(int);
 
 DECLARE_PER_CPU(int, cpu_state);
 
+int mwait_usable(const struct cpuinfo_x86 *);
 
 #endif /* _ASM_X86_CPU_H */
--- a/arch/x86/kernel/process.c
+++ b/arch/x86/kernel/process.c
@@ -14,6 +14,7 @@
 #include <linux/utsname.h>
 #include <trace/events/power.h>
 #include <linux/hw_breakpoint.h>
+#include <asm/cpu.h>
 #include <asm/system.h>
 #include <asm/apic.h>
 #include <asm/syscalls.h>
@@ -509,13 +510,13 @@ static void poll_idle(void)
  *
  * idle=mwait overrides this decision and forces the usage of mwait.
  */
-static int __cpuinitdata force_mwait;
+static int force_mwait;
 
 #define MWAIT_INFO			0x05
 #define MWAIT_ECX_EXTENDED_INFO		0x01
 #define MWAIT_EDX_C1			0xf0
 
-static int __cpuinit mwait_usable(const struct cpuinfo_x86 *c)
+int mwait_usable(const struct cpuinfo_x86 *c)
 {
 	u32 eax, ebx, ecx, edx;
 
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -1396,8 +1396,9 @@ static inline void mwait_play_dead(void)
 	unsigned int highest_subcstate = 0;
 	int i;
 	void *mwait_ptr;
+	struct cpuinfo_x86 *c = &current_cpu_data;
 
-	if (!cpu_has(&current_cpu_data, X86_FEATURE_MWAIT))
+	if (!(cpu_has(c, X86_FEATURE_MWAIT) && mwait_usable(c)))
 		return;
 	if (!cpu_has(&current_cpu_data, X86_FEATURE_CLFLSH))
 		return;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [34/70] s390: remove task_show_regs
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (32 preceding siblings ...)
  2011-02-22 22:17 ` [33/70] x86, hotplug: Fix powersavings with offlined cores on AMD Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [35/70] x86, mrst: Set correct APB timer IRQ affinity for secondary cpu Greg KH
                   ` (35 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Martin Schwidefsky

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

commit 261cd298a8c363d7985e3482946edb4bfedacf98 upstream.

task_show_regs used to be a debugging aid in the early bringup days
of Linux on s390. /proc/<pid>/status is a world readable file, it
is not a good idea to show the registers of a process. The only
correct fix is to remove task_show_regs.

Reported-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/s390/include/asm/processor.h |    5 -----
 arch/s390/kernel/traps.c          |   37 -------------------------------------
 fs/proc/array.c                   |    3 ---
 3 files changed, 45 deletions(-)

--- a/arch/s390/include/asm/processor.h
+++ b/arch/s390/include/asm/processor.h
@@ -148,11 +148,6 @@ extern int kernel_thread(int (*fn)(void
  */
 extern unsigned long thread_saved_pc(struct task_struct *t);
 
-/*
- * Print register of task into buffer. Used in fs/proc/array.c.
- */
-extern void task_show_regs(struct seq_file *m, struct task_struct *task);
-
 extern void show_code(struct pt_regs *regs);
 
 unsigned long get_wchan(struct task_struct *p);
--- a/arch/s390/kernel/traps.c
+++ b/arch/s390/kernel/traps.c
@@ -237,43 +237,6 @@ void show_regs(struct pt_regs *regs)
 	show_last_breaking_event(regs);
 }
 
-/* This is called from fs/proc/array.c */
-void task_show_regs(struct seq_file *m, struct task_struct *task)
-{
-	struct pt_regs *regs;
-
-	regs = task_pt_regs(task);
-	seq_printf(m, "task: %p, ksp: %p\n",
-		       task, (void *)task->thread.ksp);
-	seq_printf(m, "User PSW : %p %p\n",
-		       (void *) regs->psw.mask, (void *)regs->psw.addr);
-
-	seq_printf(m, "User GPRS: " FOURLONG,
-			  regs->gprs[0], regs->gprs[1],
-			  regs->gprs[2], regs->gprs[3]);
-	seq_printf(m, "           " FOURLONG,
-			  regs->gprs[4], regs->gprs[5],
-			  regs->gprs[6], regs->gprs[7]);
-	seq_printf(m, "           " FOURLONG,
-			  regs->gprs[8], regs->gprs[9],
-			  regs->gprs[10], regs->gprs[11]);
-	seq_printf(m, "           " FOURLONG,
-			  regs->gprs[12], regs->gprs[13],
-			  regs->gprs[14], regs->gprs[15]);
-	seq_printf(m, "User ACRS: %08x %08x %08x %08x\n",
-			  task->thread.acrs[0], task->thread.acrs[1],
-			  task->thread.acrs[2], task->thread.acrs[3]);
-	seq_printf(m, "           %08x %08x %08x %08x\n",
-			  task->thread.acrs[4], task->thread.acrs[5],
-			  task->thread.acrs[6], task->thread.acrs[7]);
-	seq_printf(m, "           %08x %08x %08x %08x\n",
-			  task->thread.acrs[8], task->thread.acrs[9],
-			  task->thread.acrs[10], task->thread.acrs[11]);
-	seq_printf(m, "           %08x %08x %08x %08x\n",
-			  task->thread.acrs[12], task->thread.acrs[13],
-			  task->thread.acrs[14], task->thread.acrs[15]);
-}
-
 static DEFINE_SPINLOCK(die_lock);
 
 void die(const char * str, struct pt_regs * regs, long err)
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -353,9 +353,6 @@ int proc_pid_status(struct seq_file *m,
 	task_cap(m, task);
 	task_cpus_allowed(m, task);
 	cpuset_task_status_allowed(m, task);
-#if defined(CONFIG_S390)
-	task_show_regs(m, task);
-#endif
 	task_context_switch_counts(m, task);
 	return 0;
 }



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [35/70] x86, mrst: Set correct APB timer IRQ affinity for secondary cpu
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (33 preceding siblings ...)
  2011-02-22 22:17 ` [34/70] s390: remove task_show_regs Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [36/70] PM / Hibernate: Return error code when alloc_image_page() fails Greg KH
                   ` (34 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, H. Peter Anvin, Jacob Pan

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Jacob Pan <jacob.jun.pan@linux.intel.com>

This is a backport for 2.6.37 stable. The original commit ID is
6550904ddbc3c286798a87edf95eeebcc62bc58a

Offlining the secondary CPU causes the timer irq affinity to be set to
CPU 0. When the secondary CPU is back online again, the wrong irq
affinity will be used.

This patch ensures secondary per CPU timer always has the correct
IRQ affinity when enabled.

Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
LKML-Reference: <1294963604-18111-1-git-send-email-jacob.jun.pan@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/x86/kernel/apb_timer.c |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

--- a/arch/x86/kernel/apb_timer.c
+++ b/arch/x86/kernel/apb_timer.c
@@ -313,10 +313,12 @@ static void apbt_setup_irq(struct apbt_d
 	if (adev->irq == 0)
 		return;
 
+	irq_modify_status(adev->irq, 0, IRQ_MOVE_PCNTXT);
+	irq_set_affinity(adev->irq, cpumask_of(adev->cpu));
+	/* APB timer irqs are set up as mp_irqs, timer is edge type */
+	__set_irq_handler(adev->irq, handle_edge_irq, 0, "edge");
+
 	if (system_state == SYSTEM_BOOTING) {
-		irq_modify_status(adev->irq, 0, IRQ_MOVE_PCNTXT);
-		/* APB timer irqs are set up as mp_irqs, timer is edge type */
-		__set_irq_handler(adev->irq, handle_edge_irq, 0, "edge");
 		if (request_irq(adev->irq, apbt_interrupt_handler,
 				IRQF_TIMER | IRQF_DISABLED | IRQF_NOBALANCING,
 				adev->name, adev)) {



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [36/70] PM / Hibernate: Return error code when alloc_image_page() fails
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (34 preceding siblings ...)
  2011-02-22 22:17 ` [35/70] x86, mrst: Set correct APB timer IRQ affinity for secondary cpu Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [37/70] drm/radeon/kms: add missing frac fb div flag for dce4+ Greg KH
                   ` (33 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stanislaw Gruszka,
	Rafael J. Wysocki

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stanislaw Gruszka <stf_xl@pop3.wp.pl>

commit 2e725a065b0153f0c449318da1923a120477633d upstream.

Currently we return 0 in swsusp_alloc() when alloc_image_page() fails.
Fix that.  Also remove unneeded "error" variable since the only
useful value of error is -ENOMEM.

[rjw: Fixed up the changelog and changed subject.]

Signed-off-by: Stanislaw Gruszka <stf_xl@wp.pl>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/power/snapshot.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

--- a/kernel/power/snapshot.c
+++ b/kernel/power/snapshot.c
@@ -1519,11 +1519,8 @@ static int
 swsusp_alloc(struct memory_bitmap *orig_bm, struct memory_bitmap *copy_bm,
 		unsigned int nr_pages, unsigned int nr_highmem)
 {
-	int error = 0;
-
 	if (nr_highmem > 0) {
-		error = get_highmem_buffer(PG_ANY);
-		if (error)
+		if (get_highmem_buffer(PG_ANY))
 			goto err_out;
 		if (nr_highmem > alloc_highmem) {
 			nr_highmem -= alloc_highmem;
@@ -1546,7 +1543,7 @@ swsusp_alloc(struct memory_bitmap *orig_
 
  err_out:
 	swsusp_free();
-	return error;
+	return -ENOMEM;
 }
 
 asmlinkage int swsusp_save(void)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [37/70] drm/radeon/kms: add missing frac fb div flag for dce4+
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (35 preceding siblings ...)
  2011-02-22 22:17 ` [36/70] PM / Hibernate: Return error code when alloc_image_page() fails Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [38/70] fs/partitions: Validate map_count in Mac partition tables Greg KH
                   ` (32 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Alex Deucher, Dave Airlie

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Alex Deucher <alexdeucher@gmail.com>

commit 9f4283f49f0a96a64c5a45fe56f0f8c942885eef upstream.

The fixed ref/post dividers are set by the AdjustPll table
rather than the ss info table on dce4+.  Make sure we enable
the fractional feedback dividers when using a fixed post
or ref divider on them as well.

Fixes:
https://bugzilla.kernel.org/show_bug.cgi?id=29272

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/gpu/drm/radeon/atombios_crtc.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -533,9 +533,9 @@ static u32 atombios_adjust_pll(struct dr
 
 			/* use recommended ref_div for ss */
 			if (radeon_encoder->devices & (ATOM_DEVICE_LCD_SUPPORT)) {
-				pll->flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;
 				if (ss_enabled) {
 					if (ss->refdiv) {
+						pll->flags |= RADEON_PLL_PREFER_MINM_OVER_MAXP;
 						pll->flags |= RADEON_PLL_USE_REF_DIV;
 						pll->reference_div = ss->refdiv;
 						if (ASIC_IS_AVIVO(rdev))
@@ -650,10 +650,12 @@ static u32 atombios_adjust_pll(struct dr
 						   index, (uint32_t *)&args);
 				adjusted_clock = le32_to_cpu(args.v3.sOutput.ulDispPllFreq) * 10;
 				if (args.v3.sOutput.ucRefDiv) {
+					pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV;
 					pll->flags |= RADEON_PLL_USE_REF_DIV;
 					pll->reference_div = args.v3.sOutput.ucRefDiv;
 				}
 				if (args.v3.sOutput.ucPostDiv) {
+					pll->flags |= RADEON_PLL_USE_FRAC_FB_DIV;
 					pll->flags |= RADEON_PLL_USE_POST_DIV;
 					pll->post_div = args.v3.sOutput.ucPostDiv;
 				}



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [38/70] fs/partitions: Validate map_count in Mac partition tables
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (36 preceding siblings ...)
  2011-02-22 22:17 ` [37/70] drm/radeon/kms: add missing frac fb div flag for dce4+ Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [39/70] workqueue: wake up a worker when a rescuer is leaving a gcwq Greg KH
                   ` (31 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Timo Warns

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Timo Warns <warns@pre-sense.de>

commit fa7ea87a057958a8b7926c1a60a3ca6d696328ed upstream.

Validate number of blocks in map and remove redundant variable.

Signed-off-by: Timo Warns <warns@pre-sense.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/partitions/mac.c |   17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

--- a/fs/partitions/mac.c
+++ b/fs/partitions/mac.c
@@ -29,10 +29,9 @@ static inline void mac_fix_string(char *
 
 int mac_partition(struct parsed_partitions *state)
 {
-	int slot = 1;
 	Sector sect;
 	unsigned char *data;
-	int blk, blocks_in_map;
+	int slot, blocks_in_map;
 	unsigned secsize;
 #ifdef CONFIG_PPC_PMAC
 	int found_root = 0;
@@ -59,10 +58,14 @@ int mac_partition(struct parsed_partitio
 		put_dev_sector(sect);
 		return 0;		/* not a MacOS disk */
 	}
-	strlcat(state->pp_buf, " [mac]", PAGE_SIZE);
 	blocks_in_map = be32_to_cpu(part->map_count);
-	for (blk = 1; blk <= blocks_in_map; ++blk) {
-		int pos = blk * secsize;
+	if (blocks_in_map < 0 || blocks_in_map >= DISK_MAX_PARTS) {
+		put_dev_sector(sect);
+		return 0;
+	}
+	strlcat(state->pp_buf, " [mac]", PAGE_SIZE);
+	for (slot = 1; slot <= blocks_in_map; ++slot) {
+		int pos = slot * secsize;
 		put_dev_sector(sect);
 		data = read_part_sector(state, pos/512, &sect);
 		if (!data)
@@ -113,13 +116,11 @@ int mac_partition(struct parsed_partitio
 			}
 
 			if (goodness > found_root_goodness) {
-				found_root = blk;
+				found_root = slot;
 				found_root_goodness = goodness;
 			}
 		}
 #endif /* CONFIG_PPC_PMAC */
-
-		++slot;
 	}
 #ifdef CONFIG_PPC_PMAC
 	if (found_root_goodness)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [39/70] workqueue: wake up a worker when a rescuer is leaving a gcwq
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (37 preceding siblings ...)
  2011-02-22 22:17 ` [38/70] fs/partitions: Validate map_count in Mac partition tables Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [40/70] workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long Greg KH
                   ` (30 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Tejun Heo

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tejun Heo <tj@kernel.org>

commit 7576958a9d5a4a677ad7dd40901cdbb6c1110c98 upstream.

After executing the matching works, a rescuer leaves the gcwq whether
there are more pending works or not.  This may decrease the
concurrency level to zero and stall execution until a new work item is
queued on the gcwq.

Make rescuer wake up a regular worker when it leaves a gcwq if there
are more works to execute, so that execution isn't stalled.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Ray Jui <rjui@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/workqueue.c |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -2009,6 +2009,15 @@ repeat:
 				move_linked_works(work, scheduled, &n);
 
 		process_scheduled_works(rescuer);
+
+		/*
+		 * Leave this gcwq.  If keep_working() is %true, notify a
+		 * regular worker; otherwise, we end up with 0 concurrency
+		 * and stalling the execution.
+		 */
+		if (keep_working(gcwq))
+			wake_up_worker(gcwq);
+
 		spin_unlock_irq(&gcwq->lock);
 	}
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [40/70] workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (38 preceding siblings ...)
  2011-02-22 22:17 ` [39/70] workqueue: wake up a worker when a rescuer is leaving a gcwq Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [41/70] net: deinit automatic LIST_HEAD Greg KH
                   ` (29 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Tejun Heo

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tejun Heo <tj@kernel.org>

commit 3233cdbd9fa347a6d6897a94cc6ed0302ae83c4f upstream.

MAYDAY_INITIAL_TIMEOUT is defined as HZ / 100 and depending on
configuration may end up 0 or 1.  Even when it's 1, depending on when
the mayday timer is added in the current jiffy interval, it may expire
way before a jiffy has passed.

Make sure MAYDAY_INITIAL_TIMEOUT is at least two to guarantee that at
least a full jiffy has passed before calling rescuers.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Ray Jui <rjui@broadcom.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/workqueue.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -79,7 +79,9 @@ enum {
 	MAX_IDLE_WORKERS_RATIO	= 4,		/* 1/4 of busy can be idle */
 	IDLE_WORKER_TIMEOUT	= 300 * HZ,	/* keep idle ones for 5 mins */
 
-	MAYDAY_INITIAL_TIMEOUT	= HZ / 100,	/* call for help after 10ms */
+	MAYDAY_INITIAL_TIMEOUT  = HZ / 100 >= 2 ? HZ / 100 : 2,
+						/* call for help after 10ms
+						   (min two ticks) */
 	MAYDAY_INTERVAL		= HZ / 10,	/* and then every 100ms */
 	CREATE_COOLDOWN		= HZ,		/* time to breath after fail */
 	TRUSTEE_COOLDOWN	= HZ / 10,	/* for trustee draining */



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [41/70] net: deinit automatic LIST_HEAD
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (39 preceding siblings ...)
  2011-02-22 22:17 ` [40/70] workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [42/70] iwl3945: remove plcp check Greg KH
                   ` (28 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Eric Dumazet, Ingo Molnar,
	Octavian Purdila, David S. Miller

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Eric Dumazet <eric.dumazet@gmail.com>

commit ceaaec98ad99859ac90ac6863ad0a6cd075d8e0e upstream.

commit 9b5e383c11b08784 (net: Introduce
unregister_netdevice_many()) left an active LIST_HEAD() in
rollback_registered(), with possible memory corruption.

Even if device is freed without touching its unreg_list (and therefore
touching the previous memory location holding LISTE_HEAD(single), better
close the bug for good, since its really subtle.

(Same fix for default_device_exit_batch() for completeness)

Reported-by: Michal Hocko <mhocko@suse.cz>
Tested-by: Michal Hocko <mhocko@suse.cz>
Reported-by: Eric W. Biderman <ebiderman@xmission.com>
Tested-by: Eric W. Biderman <ebiderman@xmission.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 net/core/dev.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4945,6 +4945,7 @@ static void rollback_registered(struct n
 
 	list_add(&dev->unreg_list, &single);
 	rollback_registered_many(&single);
+	list_del(&single);
 }
 
 unsigned long netdev_fix_features(unsigned long features, const char *name)
@@ -6114,6 +6115,7 @@ static void __net_exit default_device_ex
 		}
 	}
 	unregister_netdevice_many(&dev_kill_list);
+	list_del(&dev_kill_list);
 	rtnl_unlock();
 }
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [42/70] iwl3945: remove plcp check
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (40 preceding siblings ...)
  2011-02-22 22:17 ` [41/70] net: deinit automatic LIST_HEAD Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [43/70] ALSA: HDA: Add position_fix quirk for an Asus device Greg KH
                   ` (27 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stanislaw Gruszka,
	Wey-Yi Guy, John W. Linville

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stanislaw Gruszka <sgruszka@redhat.com>

commit c91d01556f52255a31575be0cb1981c92a2a5028 upstream.

Patch fixes:
https://bugzilla.redhat.com/show_bug.cgi?id=654599

Many users report very low speed problem on 3945 devices,
this patch fixes problem, but only for some of them.

For unknown reason, sometimes after hw scanning, device is not able
to receive frames at high rate. Since plcp health check may request
hw scan to "reset radio", performance problem start to be observable
after update kernel to .35, where plcp check was introduced.

Bug reporter confirmed that removing plcp check fixed problem for him.

Reported-and-tested-by: SilvioTO <silviotoya@yahoo.it>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/net/wireless/iwlwifi/iwl-3945.c |    1 -
 1 file changed, 1 deletion(-)

--- a/drivers/net/wireless/iwlwifi/iwl-3945.c
+++ b/drivers/net/wireless/iwlwifi/iwl-3945.c
@@ -2727,7 +2727,6 @@ static struct iwl_lib_ops iwl3945_lib =
 	.config_ap = iwl3945_config_ap,
 	.manage_ibss_station = iwl3945_manage_ibss_station,
 	.recover_from_tx_stall = iwl_bg_monitor_recover,
-	.check_plcp_health = iwl3945_good_plcp_health,
 
 	.debugfs_ops = {
 		.rx_stats_read = iwl3945_ucode_rx_stats_read,



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [43/70] ALSA: HDA: Add position_fix quirk for an Asus device
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (41 preceding siblings ...)
  2011-02-22 22:17 ` [42/70] iwl3945: remove plcp check Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [44/70] ALSA: caiaq - Fix possible string-buffer overflow Greg KH
                   ` (26 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, David Henningsson, Takashi Iwai

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: David Henningsson <david.henningsson@canonical.com>

commit b540afc2b3d6e4cd1d1f137ef6d9e9c78d67fecd upstream.

The bug reporter claims that position_fix=1 is needed for his
microphone to work. The controller PCI vendor-id is [1002:4383] (rev 40).

Reported-by: Kjell L.
BugLink: http://bugs.launchpad.net/bugs/718402
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


---
 sound/pci/hda/hda_intel.c |    1 +
 1 file changed, 1 insertion(+)

--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2305,6 +2305,7 @@ static struct snd_pci_quirk position_fix
 	SND_PCI_QUIRK(0x1043, 0x813d, "ASUS P5AD2", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1043, 0x81b3, "ASUS", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1043, 0x81e7, "ASUS M2V", POS_FIX_LPIB),
+	SND_PCI_QUIRK(0x1043, 0x8410, "ASUS", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x104d, 0x9069, "Sony VPCS11V9E", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1106, 0x3288, "ASUS M2V-MX SE", POS_FIX_LPIB),
 	SND_PCI_QUIRK(0x1179, 0xff10, "Toshiba A100-259", POS_FIX_LPIB),



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [44/70] ALSA: caiaq - Fix possible string-buffer overflow
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (42 preceding siblings ...)
  2011-02-22 22:17 ` [43/70] ALSA: HDA: Add position_fix quirk for an Asus device Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [45/70] ALSA: HDA: Do not announce false surround in Conexant auto Greg KH
                   ` (25 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Takashi Iwai

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Takashi Iwai <tiwai@suse.de>

commit eaae55dac6b64c0616046436b294e69fc5311581 upstream.

Use strlcpy() to assure not to overflow the string array sizes by
too long USB device name string.

Reported-by: Rafa <rafa@mwrinfosecurity.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 sound/usb/caiaq/audio.c |    2 +-
 sound/usb/caiaq/midi.c  |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -785,7 +785,7 @@ int snd_usb_caiaq_audio_init(struct snd_
 	}
 
 	dev->pcm->private_data = dev;
-	strcpy(dev->pcm->name, dev->product_name);
+	strlcpy(dev->pcm->name, dev->product_name, sizeof(dev->pcm->name));
 
 	memset(dev->sub_playback, 0, sizeof(dev->sub_playback));
 	memset(dev->sub_capture, 0, sizeof(dev->sub_capture));
--- a/sound/usb/caiaq/midi.c
+++ b/sound/usb/caiaq/midi.c
@@ -136,7 +136,7 @@ int snd_usb_caiaq_midi_init(struct snd_u
 	if (ret < 0)
 		return ret;
 
-	strcpy(rmidi->name, device->product_name);
+	strlcpy(rmidi->name, device->product_name, sizeof(rmidi->name));
 
 	rmidi->info_flags = SNDRV_RAWMIDI_INFO_DUPLEX;
 	rmidi->private_data = device;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [45/70] ALSA: HDA: Do not announce false surround in Conexant auto
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (43 preceding siblings ...)
  2011-02-22 22:17 ` [44/70] ALSA: caiaq - Fix possible string-buffer overflow Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [46/70] hwmon: (lm85) extend to support EMC6D103 chips Greg KH
                   ` (24 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, David Henningsson, Takashi Iwai

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: David Henningsson <david.henningsson@canonical.com>

commit 89724958e5d596bb91328644c97dd80399443e87 upstream.

Without this patch, one line-out and one speaker and
Conexant's auto parser would announce (non-working) surround
capabilities.

BugLink: http://bugs.launchpad.net/bugs/721126
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 sound/pci/hda/patch_conexant.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/sound/pci/hda/patch_conexant.c
+++ b/sound/pci/hda/patch_conexant.c
@@ -3401,7 +3401,7 @@ static void cx_auto_parse_output(struct
 		}
 	}
 	spec->multiout.dac_nids = spec->private_dac_nids;
-	spec->multiout.max_channels = nums * 2;
+	spec->multiout.max_channels = spec->multiout.num_dacs * 2;
 
 	if (cfg->hp_outs > 0)
 		spec->auto_mute = 1;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [46/70] hwmon: (lm85) extend to support EMC6D103 chips
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (44 preceding siblings ...)
  2011-02-22 22:17 ` [45/70] ALSA: HDA: Do not announce false surround in Conexant auto Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17   ` Greg KH
                   ` (23 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Jan Beulich, Guenter Roeck

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Jan Beulich <JBeulich@novell.com>

commit f065a93e168299569078bc6f52128b57f602fff3 upstream.

The interface is identical EMC6D102, so all that needs to be added are
some definitions and their uses.

Registers apparently missing in EMC6D103S/EMC6D103:A2 compared to EMC6D103:A0,
EMC6D103:A1, and EMC6D102 (according to the data sheets), but used
unconditionally in the driver: 62[5:7], 6D[0:7], and 6E[0:7]. For that
reason, EMC6D103S chips don't get enabled for the time being.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
(Guenter Roeck: Replaced EMC6D103_A2 with EMC6D103S per EMC6D103S datasheet)
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/hwmon/Kconfig |    2 +-
 drivers/hwmon/lm85.c  |   23 +++++++++++++++++++++--
 2 files changed, 22 insertions(+), 3 deletions(-)

--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -564,7 +564,7 @@ config SENSORS_LM85
 	help
 	  If you say yes here you get support for National Semiconductor LM85
 	  sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100,
-	  EMC6D101 and EMC6D102.
+	  EMC6D101, EMC6D102, and EMC6D103.
 
 	  This driver can also be built as a module.  If so, the module
 	  will be called lm85.
--- a/drivers/hwmon/lm85.c
+++ b/drivers/hwmon/lm85.c
@@ -41,7 +41,7 @@ static const unsigned short normal_i2c[]
 enum chips {
 	any_chip, lm85b, lm85c,
 	adm1027, adt7463, adt7468,
-	emc6d100, emc6d102
+	emc6d100, emc6d102, emc6d103
 };
 
 /* The LM85 registers */
@@ -90,6 +90,9 @@ enum chips {
 #define	LM85_VERSTEP_EMC6D100_A0        0x60
 #define	LM85_VERSTEP_EMC6D100_A1        0x61
 #define	LM85_VERSTEP_EMC6D102		0x65
+#define	LM85_VERSTEP_EMC6D103_A0	0x68
+#define	LM85_VERSTEP_EMC6D103_A1	0x69
+#define	LM85_VERSTEP_EMC6D103S		0x6A	/* Also known as EMC6D103:A2 */
 
 #define	LM85_REG_CONFIG			0x40
 
@@ -348,6 +351,7 @@ static const struct i2c_device_id lm85_i
 	{ "emc6d100", emc6d100 },
 	{ "emc6d101", emc6d100 },
 	{ "emc6d102", emc6d102 },
+	{ "emc6d103", emc6d103 },
 	{ }
 };
 MODULE_DEVICE_TABLE(i2c, lm85_id);
@@ -1250,6 +1254,20 @@ static int lm85_detect(struct i2c_client
 		case LM85_VERSTEP_EMC6D102:
 			type_name = "emc6d102";
 			break;
+		case LM85_VERSTEP_EMC6D103_A0:
+		case LM85_VERSTEP_EMC6D103_A1:
+			type_name = "emc6d103";
+			break;
+		/*
+		 * Registers apparently missing in EMC6D103S/EMC6D103:A2
+		 * compared to EMC6D103:A0, EMC6D103:A1, and EMC6D102
+		 * (according to the data sheets), but used unconditionally
+		 * in the driver: 62[5:7], 6D[0:7], and 6E[0:7].
+		 * So skip EMC6D103S for now.
+		case LM85_VERSTEP_EMC6D103S:
+			type_name = "emc6d103s";
+			break;
+		 */
 		}
 	} else {
 		dev_dbg(&adapter->dev,
@@ -1283,6 +1301,7 @@ static int lm85_probe(struct i2c_client
 	case adt7468:
 	case emc6d100:
 	case emc6d102:
+	case emc6d103:
 		data->freq_map = adm1027_freq_map;
 		break;
 	default:
@@ -1468,7 +1487,7 @@ static struct lm85_data *lm85_update_dev
 			/* More alarm bits */
 			data->alarms |= lm85_read_value(client,
 						EMC6D100_REG_ALARM3) << 16;
-		} else if (data->type == emc6d102) {
+		} else if (data->type == emc6d102 || data->type == emc6d103) {
 			/* Have to read LSB bits after the MSB ones because
 			   the reading of the MSB bits has frozen the
 			   LSBs (backward from the ADM1027).



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [47/70] x86, AMD, PCI: Add AMD northbridge PCI device id for CPU families 12h and 14h
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
@ 2011-02-22 22:17   ` Greg KH
  2011-02-22 22:16 ` [02/70] [SCSI] mptfusion: mptctl_release is required in mptctl.c Greg KH
                     ` (68 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Robert Richter, xen-devel,
	Keir Fraser, Jan Beulich, Ingo Molnar

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Robert Richter <robert.richter@amd.com>

commit ca86828ccd3128513f6d4e200b437deac95408db upstream.

This patch adds the PCI northbridge device id for AMD CPU
families 12h and 14h. Both families have implemented the same
PCI northbridge device.

There are some future use cases that use this PCI device and
we would like to clarify its naming.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: xen-devel@lists.xensource.com <xen-devel@lists.xensource.com>
Cc: Keir Fraser <keir@xen.org>
Cc: Jan Beulich <JBeulich@novell.com>
LKML-Reference: <20110106165107.GL4739@erda.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 include/linux/pci_ids.h |    1 +
 1 file changed, 1 insertion(+)

--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -518,6 +518,7 @@
 #define PCI_DEVICE_ID_AMD_11H_NB_MISC	0x1303
 #define PCI_DEVICE_ID_AMD_11H_NB_LINK	0x1304
 #define PCI_DEVICE_ID_AMD_15H_NB_MISC	0x1603
+#define PCI_DEVICE_ID_AMD_CNB17H_F3	0x1703
 #define PCI_DEVICE_ID_AMD_LANCE		0x2000
 #define PCI_DEVICE_ID_AMD_LANCE_HOME	0x2001
 #define PCI_DEVICE_ID_AMD_SCSI		0x2020



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [47/70] x86, AMD, PCI: Add AMD northbridge PCI device id for CPU families 12h and 14h
@ 2011-02-22 22:17   ` Greg KH
  0 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: xen-devel, Keir Fraser, Robert Richter, Ingo Molnar, Jan Beulich,
	akpm, torvalds, stable-review, alan

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Robert Richter <robert.richter@amd.com>

commit ca86828ccd3128513f6d4e200b437deac95408db upstream.

This patch adds the PCI northbridge device id for AMD CPU
families 12h and 14h. Both families have implemented the same
PCI northbridge device.

There are some future use cases that use this PCI device and
we would like to clarify its naming.

Signed-off-by: Robert Richter <robert.richter@amd.com>
Cc: xen-devel@lists.xensource.com <xen-devel@lists.xensource.com>
Cc: Keir Fraser <keir@xen.org>
Cc: Jan Beulich <JBeulich@novell.com>
LKML-Reference: <20110106165107.GL4739@erda.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 include/linux/pci_ids.h |    1 +
 1 file changed, 1 insertion(+)

--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
@@ -518,6 +518,7 @@
 #define PCI_DEVICE_ID_AMD_11H_NB_MISC	0x1303
 #define PCI_DEVICE_ID_AMD_11H_NB_LINK	0x1304
 #define PCI_DEVICE_ID_AMD_15H_NB_MISC	0x1603
+#define PCI_DEVICE_ID_AMD_CNB17H_F3	0x1703
 #define PCI_DEVICE_ID_AMD_LANCE		0x2000
 #define PCI_DEVICE_ID_AMD_LANCE_HOME	0x2001
 #define PCI_DEVICE_ID_AMD_SCSI		0x2020

^ permalink raw reply	[flat|nested] 82+ messages in thread

* [48/70] hwmon: (k10temp) add support for AMD Family 12h/14h CPUs
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (46 preceding siblings ...)
  2011-02-22 22:17   ` Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [49/70] hwmon: (jc42) fix type mismatch Greg KH
                   ` (21 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Clemens Ladisch, Guenter Roeck

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Clemens Ladisch <clemens@ladisch.de>

commit aa4790a6287818078ca968164a5f0d0870326602 upstream.

Add the PCI ID to support the internal temperature sensor of the
AMD "Llano" and "Brazos" processor families.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 Documentation/hwmon/k10temp |    8 +++++++-
 drivers/hwmon/Kconfig       |    6 +++---
 drivers/hwmon/k10temp.c     |    5 +++--
 3 files changed, 13 insertions(+), 6 deletions(-)

--- a/Documentation/hwmon/k10temp
+++ b/Documentation/hwmon/k10temp
@@ -9,6 +9,8 @@ Supported chips:
   Socket S1G3: Athlon II, Sempron, Turion II
 * AMD Family 11h processors:
   Socket S1G2: Athlon (X2), Sempron (X2), Turion X2 (Ultra)
+* AMD Family 12h processors: "Llano"
+* AMD Family 14h processors: "Brazos" (C/E/G-Series)
 
   Prefix: 'k10temp'
   Addresses scanned: PCI space
@@ -17,10 +19,14 @@ Supported chips:
     http://support.amd.com/us/Processor_TechDocs/31116.pdf
   BIOS and Kernel Developer's Guide (BKDG) for AMD Family 11h Processors:
     http://support.amd.com/us/Processor_TechDocs/41256.pdf
+  BIOS and Kernel Developer's Guide (BKDG) for AMD Family 14h Models 00h-0Fh Processors:
+    http://support.amd.com/us/Processor_TechDocs/43170.pdf
   Revision Guide for AMD Family 10h Processors:
     http://support.amd.com/us/Processor_TechDocs/41322.pdf
   Revision Guide for AMD Family 11h Processors:
     http://support.amd.com/us/Processor_TechDocs/41788.pdf
+  Revision Guide for AMD Family 14h Models 00h-0Fh Processors:
+    http://support.amd.com/us/Processor_TechDocs/47534.pdf
   AMD Family 11h Processor Power and Thermal Data Sheet for Notebooks:
     http://support.amd.com/us/Processor_TechDocs/43373.pdf
   AMD Family 10h Server and Workstation Processor Power and Thermal Data Sheet:
@@ -34,7 +40,7 @@ Description
 -----------
 
 This driver permits reading of the internal temperature sensor of AMD
-Family 10h and 11h processors.
+Family 10h/11h/12h/14h processors.
 
 All these processors have a sensor, but on those for Socket F or AM2+,
 the sensor may return inconsistent values (erratum 319).  The driver
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -238,13 +238,13 @@ config SENSORS_K8TEMP
 	  will be called k8temp.
 
 config SENSORS_K10TEMP
-	tristate "AMD Phenom/Sempron/Turion/Opteron temperature sensor"
+	tristate "AMD Family 10h/11h/12h/14h temperature sensor"
 	depends on X86 && PCI
 	help
 	  If you say yes here you get support for the temperature
 	  sensor(s) inside your CPU. Supported are later revisions of
-	  the AMD Family 10h and all revisions of the AMD Family 11h
-	  microarchitectures.
+	  the AMD Family 10h and all revisions of the AMD Family 11h,
+	  12h (Llano), and 14h (Brazos) microarchitectures.
 
 	  This driver can also be built as a module.  If so, the module
 	  will be called k10temp.
--- a/drivers/hwmon/k10temp.c
+++ b/drivers/hwmon/k10temp.c
@@ -1,5 +1,5 @@
 /*
- * k10temp.c - AMD Family 10h/11h processor hardware monitoring
+ * k10temp.c - AMD Family 10h/11h/12h/14h processor hardware monitoring
  *
  * Copyright (c) 2009 Clemens Ladisch <clemens@ladisch.de>
  *
@@ -25,7 +25,7 @@
 #include <linux/pci.h>
 #include <asm/processor.h>
 
-MODULE_DESCRIPTION("AMD Family 10h/11h CPU core temperature monitor");
+MODULE_DESCRIPTION("AMD Family 10h/11h/12h/14h CPU core temperature monitor");
 MODULE_AUTHOR("Clemens Ladisch <clemens@ladisch.de>");
 MODULE_LICENSE("GPL");
 
@@ -208,6 +208,7 @@ static void __devexit k10temp_remove(str
 static const struct pci_device_id k10temp_id_table[] = {
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_10H_NB_MISC) },
 	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_11H_NB_MISC) },
+	{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) },
 	{}
 };
 MODULE_DEVICE_TABLE(pci, k10temp_id_table);



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [49/70] hwmon: (jc42) fix type mismatch
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (47 preceding siblings ...)
  2011-02-22 22:17 ` [48/70] hwmon: (k10temp) add support for AMD Family 12h/14h CPUs Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [50/70] hwmon: (jc42) more helpful documentation Greg KH
                   ` (20 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Clemens Ladisch, Guenter Roeck

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Clemens Ladisch <clemens@ladisch.de>

commit e866729605a43a739fc56023a8530b07a93d3458 upstream.

In set_temp_crit_hyst(), make the variable 'val' have the correct
type for strict_strtoul().

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>


---
 drivers/hwmon/jc42.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/hwmon/jc42.c
+++ b/drivers/hwmon/jc42.c
@@ -332,7 +332,7 @@ static ssize_t set_temp_crit_hyst(struct
 {
 	struct i2c_client *client = to_i2c_client(dev);
 	struct jc42_data *data = i2c_get_clientdata(client);
-	long val;
+	unsigned long val;
 	int diff, hyst;
 	int err;
 	int ret = count;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [50/70] hwmon: (jc42) more helpful documentation
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (48 preceding siblings ...)
  2011-02-22 22:17 ` [49/70] hwmon: (jc42) fix type mismatch Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [51/70] hwmon: (jc42) do not allow writing to locked registers Greg KH
                   ` (19 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Clemens Ladisch, Guenter Roeck

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Clemens Ladisch <clemens@ladisch.de>

commit d5622f5b6c4671d1588ccc9056705366d4eb312a upstream.

The documentation lists standard numbers and chip names in excruciating
detail, but that's all it does.  To help mere mortals in deciding
whether to enable this driver, mention what this sensor is for and in
which systems it might be found.

Also add a link to the actual JC 42.4 specification.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 Documentation/hwmon/jc42 |    9 +++++++--
 drivers/hwmon/Kconfig    |   11 ++++++-----
 2 files changed, 13 insertions(+), 7 deletions(-)

--- a/Documentation/hwmon/jc42
+++ b/Documentation/hwmon/jc42
@@ -51,7 +51,8 @@ Supported chips:
   * JEDEC JC 42.4 compliant temperature sensor chips
     Prefix: 'jc42'
     Addresses scanned: I2C 0x18 - 0x1f
-    Datasheet: -
+    Datasheet:
+	http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf
 
 Author:
 	Guenter Roeck <guenter.roeck@ericsson.com>
@@ -60,7 +61,11 @@ Author:
 Description
 -----------
 
-This driver implements support for JEDEC JC 42.4 compliant temperature sensors.
+This driver implements support for JEDEC JC 42.4 compliant temperature sensors,
+which are used on many DDR3 memory modules for mobile devices and servers. Some
+systems use the sensor to prevent memory overheating by automatically throttling
+the memory controller.
+
 The driver auto-detects the chips listed above, but can be manually instantiated
 to support other JC 42.4 compliant chips.
 
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -445,13 +445,14 @@ config SENSORS_JZ4740
 	  called jz4740-hwmon.
 
 config SENSORS_JC42
-	tristate "JEDEC JC42.4 compliant temperature sensors"
+	tristate "JEDEC JC42.4 compliant memory module temperature sensors"
 	depends on I2C
 	help
-	  If you say yes here you get support for Jedec JC42.4 compliant
-	  temperature sensors. Support will include, but not be limited to,
-	  ADT7408, CAT34TS02,, CAT6095, MAX6604, MCP9805, MCP98242, MCP98243,
-	  MCP9843, SE97, SE98, STTS424, TSE2002B3, and TS3000B3.
+	  If you say yes here, you get support for JEDEC JC42.4 compliant
+	  temperature sensors, which are used on many DDR3 memory modules for
+	  mobile devices and servers.  Support will include, but not be limited
+	  to, ADT7408, CAT34TS02, CAT6095, MAX6604, MCP9805, MCP98242, MCP98243,
+	  MCP9843, SE97, SE98, STTS424(E), TSE2002B3, and TS3000B3.
 
 	  This driver can also be built as a module.  If so, the module
 	  will be called jc42.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [51/70] hwmon: (jc42) do not allow writing to locked registers
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (49 preceding siblings ...)
  2011-02-22 22:17 ` [50/70] hwmon: (jc42) more helpful documentation Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [52/70] netfilter: fix race in conntrack between dump_table and destroy Greg KH
                   ` (18 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Clemens Ladisch, Guenter Roeck

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Clemens Ladisch <clemens@ladisch.de>

commit 2c6315da6a1657a49e03970a4084dc3d1958ad70 upstream.

On systems where the temperature sensor is actually used, the BIOS is
likely to have locked the alarm registers.  In that case, all writes
through the corresponding sysfs files would be silently ignored.

To prevent this, detect the locks and make the affected sysfs files
read-only.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 Documentation/hwmon/jc42 |   12 ++++++++----
 drivers/hwmon/jc42.c     |   33 +++++++++++++++++++++++++++++----
 2 files changed, 37 insertions(+), 8 deletions(-)

--- a/Documentation/hwmon/jc42
+++ b/Documentation/hwmon/jc42
@@ -86,15 +86,19 @@ limits. The chip supports only a single
 which applies to all limits. This register can be written by writing into
 temp1_crit_hyst. Other hysteresis attributes are read-only.
 
+If the BIOS has configured the sensor for automatic temperature management, it
+is likely that it has locked the registers, i.e., that the temperature limits
+cannot be changed.
+
 Sysfs entries
 -------------
 
 temp1_input		Temperature (RO)
-temp1_min		Minimum temperature (RW)
-temp1_max		Maximum temperature (RW)
-temp1_crit		Critical high temperature (RW)
+temp1_min		Minimum temperature (RO or RW)
+temp1_max		Maximum temperature (RO or RW)
+temp1_crit		Critical high temperature (RO or RW)
 
-temp1_crit_hyst		Critical hysteresis temperature (RW)
+temp1_crit_hyst		Critical hysteresis temperature (RO or RW)
 temp1_max_hyst		Maximum hysteresis temperature (RO)
 
 temp1_min_alarm		Temperature low alarm
--- a/drivers/hwmon/jc42.c
+++ b/drivers/hwmon/jc42.c
@@ -53,6 +53,8 @@ static const unsigned short normal_i2c[]
 
 /* Configuration register defines */
 #define JC42_CFG_CRIT_ONLY	(1 << 2)
+#define JC42_CFG_TCRIT_LOCK	(1 << 6)
+#define JC42_CFG_EVENT_LOCK	(1 << 7)
 #define JC42_CFG_SHUTDOWN	(1 << 8)
 #define JC42_CFG_HYST_SHIFT	9
 #define JC42_CFG_HYST_MASK	0x03
@@ -380,14 +382,14 @@ static ssize_t show_alarm(struct device
 
 static DEVICE_ATTR(temp1_input, S_IRUGO,
 		   show_temp_input, NULL);
-static DEVICE_ATTR(temp1_crit, S_IWUSR | S_IRUGO,
+static DEVICE_ATTR(temp1_crit, S_IRUGO,
 		   show_temp_crit, set_temp_crit);
-static DEVICE_ATTR(temp1_min, S_IWUSR | S_IRUGO,
+static DEVICE_ATTR(temp1_min, S_IRUGO,
 		   show_temp_min, set_temp_min);
-static DEVICE_ATTR(temp1_max, S_IWUSR | S_IRUGO,
+static DEVICE_ATTR(temp1_max, S_IRUGO,
 		   show_temp_max, set_temp_max);
 
-static DEVICE_ATTR(temp1_crit_hyst, S_IWUSR | S_IRUGO,
+static DEVICE_ATTR(temp1_crit_hyst, S_IRUGO,
 		   show_temp_crit_hyst, set_temp_crit_hyst);
 static DEVICE_ATTR(temp1_max_hyst, S_IRUGO,
 		   show_temp_max_hyst, NULL);
@@ -412,8 +414,31 @@ static struct attribute *jc42_attributes
 	NULL
 };
 
+static mode_t jc42_attribute_mode(struct kobject *kobj,
+				  struct attribute *attr, int index)
+{
+	struct device *dev = container_of(kobj, struct device, kobj);
+	struct i2c_client *client = to_i2c_client(dev);
+	struct jc42_data *data = i2c_get_clientdata(client);
+	unsigned int config = data->config;
+	bool readonly;
+
+	if (attr == &dev_attr_temp1_crit.attr)
+		readonly = config & JC42_CFG_TCRIT_LOCK;
+	else if (attr == &dev_attr_temp1_min.attr ||
+		 attr == &dev_attr_temp1_max.attr)
+		readonly = config & JC42_CFG_EVENT_LOCK;
+	else if (attr == &dev_attr_temp1_crit_hyst.attr)
+		readonly = config & (JC42_CFG_EVENT_LOCK | JC42_CFG_TCRIT_LOCK);
+	else
+		readonly = true;
+
+	return S_IRUGO | (readonly ? 0 : S_IWUSR);
+}
+
 static const struct attribute_group jc42_group = {
 	.attrs = jc42_attributes,
+	.is_visible = jc42_attribute_mode,
 };
 
 /* Return 0 if detection is successful, -ENODEV otherwise */



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [52/70] netfilter: fix race in conntrack between dump_table and destroy
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (50 preceding siblings ...)
  2011-02-22 22:17 ` [51/70] hwmon: (jc42) do not allow writing to locked registers Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [53/70] netfilter: ctnetlink: fix missing refcount increment during dumps Greg KH
                   ` (17 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stephen Hemminger,
	Pablo Neira Ayuso

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stephen Hemminger <shemminger@vyatta.com>

commit 13ee6ac579574a2a95e982b19920fd2495dce8cd upstream.

The netlink interface to dump the connection tracking table has a race
when entries are deleted at the same time. A customer reported a crash
and the backtrace showed thatctnetlink_dump_table was running while a
conntrack entry was being destroyed.
(see https://bugzilla.vyatta.com/show_bug.cgi?id=6402).

According to RCU documentation, when using hlist_nulls the reader
must handle the case of seeing a deleted entry and not proceed
further down the linked list.  The old code would continue
which caused the scan to walk into the free list.

This patch uses locking (rather than RCU) for this operation which
is guaranteed safe, and no longer requires getting reference while
doing dump operation.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 net/netfilter/nf_conntrack_netlink.c |   14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -642,25 +642,23 @@ ctnetlink_dump_table(struct sk_buff *skb
 	struct nfgenmsg *nfmsg = nlmsg_data(cb->nlh);
 	u_int8_t l3proto = nfmsg->nfgen_family;
 
-	rcu_read_lock();
+	spin_lock_bh(&nf_conntrack_lock);
 	last = (struct nf_conn *)cb->args[1];
 	for (; cb->args[0] < net->ct.htable_size; cb->args[0]++) {
 restart:
-		hlist_nulls_for_each_entry_rcu(h, n, &net->ct.hash[cb->args[0]],
+		hlist_nulls_for_each_entry(h, n, &net->ct.hash[cb->args[0]],
 					 hnnode) {
 			if (NF_CT_DIRECTION(h) != IP_CT_DIR_ORIGINAL)
 				continue;
 			ct = nf_ct_tuplehash_to_ctrack(h);
-			if (!atomic_inc_not_zero(&ct->ct_general.use))
-				continue;
 			/* Dump entries of a given L3 protocol number.
 			 * If it is not specified, ie. l3proto == 0,
 			 * then dump everything. */
 			if (l3proto && nf_ct_l3num(ct) != l3proto)
-				goto releasect;
+				continue;
 			if (cb->args[1]) {
 				if (ct != last)
-					goto releasect;
+					continue;
 				cb->args[1] = 0;
 			}
 			if (ctnetlink_fill_info(skb, NETLINK_CB(cb->skb).pid,
@@ -678,8 +676,6 @@ restart:
 				if (acct)
 					memset(acct, 0, sizeof(struct nf_conn_counter[IP_CT_DIR_MAX]));
 			}
-releasect:
-		nf_ct_put(ct);
 		}
 		if (cb->args[1]) {
 			cb->args[1] = 0;
@@ -687,7 +683,7 @@ releasect:
 		}
 	}
 out:
-	rcu_read_unlock();
+	spin_unlock_bh(&nf_conntrack_lock);
 	if (last)
 		nf_ct_put(last);
 



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [53/70] netfilter: ctnetlink: fix missing refcount increment during dumps
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (51 preceding siblings ...)
  2011-02-22 22:17 ` [52/70] netfilter: fix race in conntrack between dump_table and destroy Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [54/70] [media] radio-aimslab.c needs #include <linux/delay.h> Greg KH
                   ` (16 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stephen Hemminger,
	Pablo Neira Ayuso, Eric Dumazet, Patrick McHardy

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Pablo Neira Ayuso <pablo@netfilter.org>

commit c71caf4114a0e1da3451cc92fba6a152929cd4c2 upstream.

In 13ee6ac netfilter: fix race in conntrack between dump_table and
destroy, we recovered spinlocks to protect the dump of the conntrack
table according to reports from Stephen and acknowledgments on the
issue from Eric.

In that patch, the refcount bump that allows to keep a reference
to the current ct object was removed. However, we still decrement
the refcount for that object in the output path of
ctnetlink_dump_table():

        if (last)
                nf_ct_put(last)

Cc: Stephen Hemminger <stephen.hemminger@vyatta.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 net/netfilter/nf_conntrack_netlink.c |    1 +
 1 file changed, 1 insertion(+)

--- a/net/netfilter/nf_conntrack_netlink.c
+++ b/net/netfilter/nf_conntrack_netlink.c
@@ -664,6 +664,7 @@ restart:
 			if (ctnetlink_fill_info(skb, NETLINK_CB(cb->skb).pid,
 						cb->nlh->nlmsg_seq,
 						IPCTNL_MSG_CT_NEW, ct) < 0) {
+				nf_conntrack_get(&ct->ct_general);
 				cb->args[1] = (unsigned long)ct;
 				goto out;
 			}



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [54/70] [media] radio-aimslab.c needs #include <linux/delay.h>
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (52 preceding siblings ...)
  2011-02-22 22:17 ` [53/70] netfilter: ctnetlink: fix missing refcount increment during dumps Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [55/70] ARM: Ensure predictable endian state on signal handler entry Greg KH
                   ` (15 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Geert Uytterhoeven,
	Mauro Carvalho Chehab, dann frazier

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1257 bytes --]

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Geert Uytterhoeven <geert@linux-m68k.org>

commit 2400982a2e8a8e4e95f0a0e1517bbe63cc88038f upstream.

Commit e3c92215198cb6aa00ad38db2780faa6b72e0a3f ("[media] radio-aimslab.c: Fix
gcc 4.5+ bug") removed the include, but introduced new callers of msleep():

| drivers/media/radio/radio-aimslab.c: In function ‘rt_decvol’:
| drivers/media/radio/radio-aimslab.c:76: error: implicit declaration of function ‘msleep’

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: dann frazier <dannf@debian.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/media/radio/radio-aimslab.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/media/radio/radio-aimslab.c
+++ b/drivers/media/radio/radio-aimslab.c
@@ -31,6 +31,7 @@
 #include <linux/module.h>	/* Modules 			*/
 #include <linux/init.h>		/* Initdata			*/
 #include <linux/ioport.h>	/* request_region		*/
+#include <linux/delay.h>	/* msleep			*/
 #include <linux/videodev2.h>	/* kernel radio structs		*/
 #include <linux/version.h>	/* for KERNEL_VERSION MACRO	*/
 #include <linux/io.h>		/* outb, outb_p			*/



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [55/70] ARM: Ensure predictable endian state on signal handler entry
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (53 preceding siblings ...)
  2011-02-22 22:17 ` [54/70] [media] radio-aimslab.c needs #include <linux/delay.h> Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [56/70] ARM: Keep exit text/data around for SMP_ON_UP Greg KH
                   ` (14 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Dave Martin, Russell King

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Russell King <rmk+kernel@arm.linux.org.uk>

commit 53399053eb505cf541b2405bd9d9bca5ecfb96fb upstream.

Ensure a predictable endian state when entering signal handlers.  This
avoids programs which use SETEND to momentarily switch their endian
state from having their signal handlers entered with an unpredictable
endian state.

Acked-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/arm/kernel/signal.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- a/arch/arm/kernel/signal.c
+++ b/arch/arm/kernel/signal.c
@@ -474,7 +474,9 @@ setup_return(struct pt_regs *regs, struc
 	unsigned long handler = (unsigned long)ka->sa.sa_handler;
 	unsigned long retcode;
 	int thumb = 0;
-	unsigned long cpsr = regs->ARM_cpsr & ~PSR_f;
+	unsigned long cpsr = regs->ARM_cpsr & ~(PSR_f | PSR_E_BIT);
+
+	cpsr |= PSR_ENDSTATE;
 
 	/*
 	 * Maybe we need to deliver a 32-bit signal to a 26-bit task.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [56/70] ARM: Keep exit text/data around for SMP_ON_UP
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (54 preceding siblings ...)
  2011-02-22 22:17 ` [55/70] ARM: Ensure predictable endian state on signal handler entry Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [57/70] cifs: fix handling of scopeid in cifs_convert_address Greg KH
                   ` (13 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Russell King

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Russell King <rmk+kernel@arm.linux.org.uk>

commit a9ad21fed09cb95d34af9474be0831525b30c4c6 upstream.

When SMP_ON_UP is used and the spinlocks are inlined, we end up with
inline spinlocks in the exit code, with references from the SMP
alternatives section to the exit sections.  This causes link time
errors.  Avoid this by placing the exit sections in the init-discarded
region.

Tested-by: Dave Martin <dave.martin@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 arch/arm/kernel/vmlinux.lds.S |    9 +++++++++
 1 file changed, 9 insertions(+)

--- a/arch/arm/kernel/vmlinux.lds.S
+++ b/arch/arm/kernel/vmlinux.lds.S
@@ -21,6 +21,12 @@
 #define ARM_CPU_KEEP(x)
 #endif
 
+#if defined(CONFIG_SMP_ON_UP) && !defined(CONFIG_DEBUG_SPINLOCK)
+#define ARM_EXIT_KEEP(x)	x
+#else
+#define ARM_EXIT_KEEP(x)
+#endif
+
 OUTPUT_ARCH(arm)
 ENTRY(stext)
 
@@ -43,6 +49,7 @@ SECTIONS
 		_sinittext = .;
 			HEAD_TEXT
 			INIT_TEXT
+			ARM_EXIT_KEEP(EXIT_TEXT)
 		_einittext = .;
 		ARM_CPU_DISCARD(PROC_INFO)
 		__arch_info_begin = .;
@@ -67,6 +74,7 @@ SECTIONS
 #ifndef CONFIG_XIP_KERNEL
 		__init_begin = _stext;
 		INIT_DATA
+		ARM_EXIT_KEEP(EXIT_DATA)
 #endif
 	}
 
@@ -161,6 +169,7 @@ SECTIONS
 		. = ALIGN(PAGE_SIZE);
 		__init_begin = .;
 		INIT_DATA
+		ARM_EXIT_KEEP(EXIT_DATA)
 		. = ALIGN(PAGE_SIZE);
 		__init_end = .;
 #endif



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [57/70] cifs: fix handling of scopeid in cifs_convert_address
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (55 preceding siblings ...)
  2011-02-22 22:17 ` [56/70] ARM: Keep exit text/data around for SMP_ON_UP Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [58/70] cifs: Fix regression in LANMAN (LM) auth code Greg KH
                   ` (12 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, David Howells, Jeff Layton,
	Steve French

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1584 bytes --]

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Jeff Layton <jlayton@redhat.com>

commit 9616125611ee47693186533d76e403856a36b3c8 upstream.

The code finds, the '%' sign in an ipv6 address and copies that to a
buffer allocated on the stack. It then ignores that buffer, and passes
'pct' to simple_strtoul(), which doesn't work right because we're
comparing 'endp' against a completely different string.

Fix it by passing the correct pointer. While we're at it, this is a
good candidate for conversion to strict_strtoul as well.

Cc: David Howells <dhowells@redhat.com>
Reported-by: Björn JACKE <bj@sernet.de>
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/cifs/netmisc.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/fs/cifs/netmisc.c
+++ b/fs/cifs/netmisc.c
@@ -170,7 +170,7 @@ cifs_convert_address(struct sockaddr *ds
 {
 	int rc, alen, slen;
 	const char *pct;
-	char *endp, scope_id[13];
+	char scope_id[13];
 	struct sockaddr_in *s4 = (struct sockaddr_in *) dst;
 	struct sockaddr_in6 *s6 = (struct sockaddr_in6 *) dst;
 
@@ -197,9 +197,9 @@ cifs_convert_address(struct sockaddr *ds
 		memcpy(scope_id, pct + 1, slen);
 		scope_id[slen] = '\0';
 
-		s6->sin6_scope_id = (u32) simple_strtoul(pct, &endp, 0);
-		if (endp != scope_id + slen)
-			return 0;
+		rc = strict_strtoul(scope_id, 0,
+					(unsigned long *)&s6->sin6_scope_id);
+		rc = (rc == 0) ? 1 : 0;
 	}
 
 	return rc;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [58/70] cifs: Fix regression in LANMAN (LM) auth code
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (56 preceding siblings ...)
  2011-02-22 22:17 ` [57/70] cifs: fix handling of scopeid in cifs_convert_address Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [59/70] acer-wmi: Fix capitalisation of GUID Greg KH
                   ` (11 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Shirish Pargaonkar, Steve French

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Shirish Pargaonkar <shirishpargaonkar@gmail.com>

commit 5e640927a597a7c3e72b61e8bce74c22e906de65 upstream.

LANMAN response length was changed to 16 bytes instead of 24 bytes.
Revert it back to 24 bytes.

Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/cifs/sess.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -667,13 +667,13 @@ ssetup_ntlmssp_authenticate:
 
 	if (type == LANMAN) {
 #ifdef CONFIG_CIFS_WEAK_PW_HASH
-		char lnm_session_key[CIFS_SESS_KEY_SIZE];
+		char lnm_session_key[CIFS_AUTH_RESP_SIZE];
 
 		pSMB->req.hdr.Flags2 &= ~SMBFLG2_UNICODE;
 
 		/* no capabilities flags in old lanman negotiation */
 
-		pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_SESS_KEY_SIZE);
+		pSMB->old_req.PasswordLength = cpu_to_le16(CIFS_AUTH_RESP_SIZE);
 
 		/* Calculate hash with password and copy into bcc_ptr.
 		 * Encryption Key (stored as in cryptkey) gets used if the
@@ -686,8 +686,8 @@ ssetup_ntlmssp_authenticate:
 					true : false, lnm_session_key);
 
 		ses->flags |= CIFS_SES_LANMAN;
-		memcpy(bcc_ptr, (char *)lnm_session_key, CIFS_SESS_KEY_SIZE);
-		bcc_ptr += CIFS_SESS_KEY_SIZE;
+		memcpy(bcc_ptr, (char *)lnm_session_key, CIFS_AUTH_RESP_SIZE);
+		bcc_ptr += CIFS_AUTH_RESP_SIZE;
 
 		/* can not sign if LANMAN negotiated so no need
 		to calculate signing key? but what if server



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [59/70] acer-wmi: Fix capitalisation of GUID
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (57 preceding siblings ...)
  2011-02-22 22:17 ` [58/70] cifs: Fix regression in LANMAN (LM) auth code Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [60/70] pcmcia: re-enable Zoomed Video support Greg KH
                   ` (10 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Matthew Garrett, Carlos Corbacho

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Matthew Garrett <mjg@redhat.com>

commit bbb706079abe955a9e3f208f541de97d99449236 upstream.

6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3 needs to be
6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3 to match the hardware alias.

Signed-off-by: Matthew Garrett <mjg@redhat.com>
Acked-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/platform/x86/acer-wmi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -80,7 +80,7 @@ MODULE_LICENSE("GPL");
  */
 #define AMW0_GUID1		"67C3371D-95A3-4C37-BB61-DD47B491DAAB"
 #define AMW0_GUID2		"431F16ED-0C2B-444C-B267-27DEB140CF9C"
-#define WMID_GUID1		"6AF4F258-B401-42fd-BE91-3D4AC2D7C0D3"
+#define WMID_GUID1		"6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3"
 #define WMID_GUID2		"95764E09-FB56-4e83-B31A-37761F60994A"
 
 MODULE_ALIAS("wmi:67C3371D-95A3-4C37-BB61-DD47B491DAAB");



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [60/70] pcmcia: re-enable Zoomed Video support
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (58 preceding siblings ...)
  2011-02-22 22:17 ` [59/70] acer-wmi: Fix capitalisation of GUID Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [61/70] eCryptfs: Copy up lower inode attrs in getattr Greg KH
                   ` (9 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Dominik Brodowski

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Dominik Brodowski <linux@dominikbrodowski.net>

commit 33619f0d3ff715a2a5499520967d526ad931d70d upstream.

Allow drivers to enable Zoomed Video support. Currently, this is only
used by out-of-tree drivers (L64020 DVB driver in particular).

Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/pcmcia/pcmcia_resource.c |    2 ++
 include/pcmcia/ds.h              |    1 +
 2 files changed, 3 insertions(+)

--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -518,6 +518,8 @@ int pcmcia_enable_device(struct pcmcia_d
 		flags |= CONF_ENABLE_IOCARD;
 	if (flags & CONF_ENABLE_IOCARD)
 		s->socket.flags |= SS_IOCARD;
+	if (flags & CONF_ENABLE_ZVCARD)
+		s->socket.flags |= SS_ZVCARD | SS_IOCARD;
 	if (flags & CONF_ENABLE_SPKR) {
 		s->socket.flags |= SS_SPKR_ENA;
 		status = CCSR_AUDIO_ENA;
--- a/include/pcmcia/ds.h
+++ b/include/pcmcia/ds.h
@@ -261,6 +261,7 @@ void pcmcia_disable_device(struct pcmcia
 #define CONF_ENABLE_ESR         0x0008
 #define CONF_ENABLE_IOCARD	0x0010 /* auto-enabled if IO resources or IRQ
 					* (CONF_ENABLE_IRQ) in use */
+#define CONF_ENABLE_ZVCARD	0x0020
 
 /* flags used by pcmcia_loop_config() autoconfiguration */
 #define CONF_AUTO_CHECK_VCC	0x0100 /* check for matching Vcc? */



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [61/70] eCryptfs: Copy up lower inode attrs in getattr
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (59 preceding siblings ...)
  2011-02-22 22:17 ` [60/70] pcmcia: re-enable Zoomed Video support Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [62/70] genirq: Prevent access beyond allocated_irqs bitmap Greg KH
                   ` (8 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan, Tyler Hicks

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Tyler Hicks <tyhicks@linux.vnet.ibm.com>

commit 55f9cf6bbaa682958a7dd2755f883b768270c3ce upstream.

The lower filesystem may do some type of inode revalidation during a
getattr call. eCryptfs should take advantage of that by copying the
lower inode attributes to the eCryptfs inode after a call to
vfs_getattr() on the lower inode.

I originally wrote this fix while working on eCryptfs on nfsv3 support,
but discovered it also fixed an eCryptfs on ext4 nanosecond timestamp
bug that was reported.

https://bugs.launchpad.net/bugs/613873

Signed-off-by: Tyler Hicks <tyhicks@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 fs/ecryptfs/inode.c |    2 ++
 1 file changed, 2 insertions(+)

--- a/fs/ecryptfs/inode.c
+++ b/fs/ecryptfs/inode.c
@@ -1095,6 +1095,8 @@ int ecryptfs_getattr(struct vfsmount *mn
 	rc = vfs_getattr(ecryptfs_dentry_to_lower_mnt(dentry),
 			 ecryptfs_dentry_to_lower(dentry), &lower_stat);
 	if (!rc) {
+		fsstack_copy_attr_all(dentry->d_inode,
+				      ecryptfs_inode_to_lower(dentry->d_inode));
 		generic_fillattr(dentry->d_inode, stat);
 		stat->blocks = lower_stat.blocks;
 	}



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [62/70] genirq: Prevent access beyond allocated_irqs bitmap
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (60 preceding siblings ...)
  2011-02-22 22:17 ` [61/70] eCryptfs: Copy up lower inode attrs in getattr Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [63/70] genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now Greg KH
                   ` (7 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Thomas Gleixner,
	Haojian Zhuang, Eric Miao, Peter Zijlstra

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Thomas Gleixner <tglx@linutronix.de>

commit c1ee6264280e740a9d3ff3feef38642cf0a57013 upstream.

Lars-Peter Clausen pointed out:

   I stumbled upon this while looking through the existing archs using
   SPARSE_IRQ.  Even with SPARSE_IRQ the NR_IRQS is still the upper
   limit for the number of IRQs.

   Both PXA and MMP set NR_IRQS to IRQ_BOARD_START, with
   IRQ_BOARD_START being the number of IRQs used by the core.

   In various machine files the nr_irqs field of the ARM machine
   defintion struct is then set to "IRQ_BOARD_START + NR_BOARD_IRQS".

   As a result "nr_irqs" will greater then NR_IRQS which then again
   causes the "allocated_irqs" bitmap in the core irq code to be
   accessed beyond its size overwriting unrelated data.

The core code really misses a sanity check there.

This went unnoticed so far as by chance the compiler/linker places
data behind that bitmap which gets initialized later on those affected
platforms.

So the obvious fix would be to add a sanity check in early_irq_init()
and break all affected platforms. Though that check wants to be
backported to stable as well, which will require to fix all known
problematic platforms and probably some more yet not known ones as
well. Lots of churn.

A way simpler solution is to allocate a slightly larger bitmap and
avoid the whole churn w/o breaking anything. Add a few warnings when
an arch returns utter crap.

Reported-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Haojian Zhuang <haojian.zhuang@marvell.com>
Cc: Eric Miao <eric.y.miao@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/irq/internals.h |    6 ++++++
 kernel/irq/irqdesc.c   |   11 ++++++++++-
 kernel/irq/resend.c    |    2 +-
 3 files changed, 17 insertions(+), 2 deletions(-)

--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -3,6 +3,12 @@
  */
 #include <linux/irqdesc.h>
 
+#ifdef CONFIG_SPARSE_IRQ
+# define IRQ_BITMAP_BITS	(NR_IRQS + 8196)
+#else
+# define IRQ_BITMAP_BITS	NR_IRQS
+#endif
+
 extern int noirqdebug;
 
 #define irq_data_to_desc(data)	container_of(data, struct irq_desc, irq_data)
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -91,7 +91,7 @@ int nr_irqs = NR_IRQS;
 EXPORT_SYMBOL_GPL(nr_irqs);
 
 static DEFINE_MUTEX(sparse_irq_lock);
-static DECLARE_BITMAP(allocated_irqs, NR_IRQS);
+static DECLARE_BITMAP(allocated_irqs, IRQ_BITMAP_BITS);
 
 #ifdef CONFIG_SPARSE_IRQ
 
@@ -215,6 +215,15 @@ int __init early_irq_init(void)
 	initcnt = arch_probe_nr_irqs();
 	printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d %d\n", NR_IRQS, nr_irqs, initcnt);
 
+	if (WARN_ON(nr_irqs > IRQ_BITMAP_BITS))
+		nr_irqs = IRQ_BITMAP_BITS;
+
+	if (WARN_ON(initcnt > IRQ_BITMAP_BITS))
+		initcnt = IRQ_BITMAP_BITS;
+
+	if (initcnt > nr_irqs)
+		nr_irqs = initcnt;
+
 	for (i = 0; i < initcnt; i++) {
 		desc = alloc_desc(i, node);
 		set_bit(i, allocated_irqs);
--- a/kernel/irq/resend.c
+++ b/kernel/irq/resend.c
@@ -23,7 +23,7 @@
 #ifdef CONFIG_HARDIRQS_SW_RESEND
 
 /* Bitmap to handle software resend of interrupts: */
-static DECLARE_BITMAP(irqs_resend, NR_IRQS);
+static DECLARE_BITMAP(irqs_resend, IRQ_BITMAP_BITS);
 
 /*
  * Run software resends of IRQ's



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [63/70] genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (61 preceding siblings ...)
  2011-02-22 22:17 ` [62/70] genirq: Prevent access beyond allocated_irqs bitmap Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [64/70] perf: Fix throttle logic Greg KH
                   ` (6 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Thomas Gleixner,
	Anton Vorontsov, David Woodhouse, Arjan van de Ven

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Thomas Gleixner <tglx@linutronix.de>

commit 6d83f94db95cfe65d2a6359cccdf61cf087c2598 upstream.

With CONFIG_SHIRQ_DEBUG=y we call a newly installed interrupt handler
in request_threaded_irq().

The original implementation (commit a304e1b8) called the handler
_BEFORE_ it was installed, but that caused problems with handlers
calling disable_irq_nosync(). See commit 377bf1e4.

It's braindead in the first place to call disable_irq_nosync in shared
handlers, but ....

Moving this call after we installed the handler looks innocent, but it
is very subtle broken on SMP.

Interrupt handlers rely on the fact, that the irq core prevents
reentrancy.

Now this debug call violates that promise because we run the handler
w/o the IRQ_INPROGRESS protection - which we cannot apply here because
that would result in a possibly forever masked interrupt line.

A concurrent real hardware interrupt on a different CPU results in
handler reentrancy and can lead to complete wreckage, which was
unfortunately observed in reality and took a fricking long time to
debug.

Leave the code here for now. We want this debug feature, but that's
not easy to fix. We really should get rid of those
disable_irq_nosync() abusers and remove that function completely.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/irq/manage.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -1098,7 +1098,7 @@ int request_threaded_irq(unsigned int ir
 	if (retval)
 		kfree(action);
 
-#ifdef CONFIG_DEBUG_SHIRQ
+#ifdef CONFIG_DEBUG_SHIRQ_FIXME
 	if (!retval && (irqflags & IRQF_SHARED)) {
 		/*
 		 * It's a shared IRQ -- the driver ought to be prepared for it



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [64/70] perf: Fix throttle logic
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (62 preceding siblings ...)
  2011-02-22 22:17 ` [63/70] genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [65/70] ASoC: WM8903: Fix mic detection enable logic Greg KH
                   ` (5 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Peter Zijlstra, Ingo Molnar

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Peter Zijlstra <a.p.zijlstra@chello.nl>

commit 4fe757dd48a9e95e1a071291f15dda5421dacb66 upstream.

It was possible to call pmu::start() on an already running event. In
particular this lead so some wreckage as the hrtimer events would
re-initialize active timers.

This was due to throttled events being activated again by scheduling.
Scheduling in a context would add and force start events, resulting in
running events with a possible throttle status. The next tick to hit
that task will then try to unthrottle the event and call ->start() on
an already running event.

Reported-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <new-submission>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 kernel/perf_event.c |   19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -652,6 +652,10 @@ retry:
 	raw_spin_unlock_irq(&ctx->lock);
 }
 
+#define MAX_INTERRUPTS (~0ULL)
+
+static void perf_log_throttle(struct perf_event *event, int enable);
+
 static int
 event_sched_in(struct perf_event *event,
 		 struct perf_cpu_context *cpuctx,
@@ -662,6 +666,17 @@ event_sched_in(struct perf_event *event,
 
 	event->state = PERF_EVENT_STATE_ACTIVE;
 	event->oncpu = smp_processor_id();
+
+	/*
+	 * Unthrottle events, since we scheduled we might have missed several
+	 * ticks already, also for a heavily scheduling task there is little
+	 * guarantee it'll get a tick in a timely manner.
+	 */
+	if (unlikely(event->hw.interrupts == MAX_INTERRUPTS)) {
+		perf_log_throttle(event, 1);
+		event->hw.interrupts = 0;
+	}
+
 	/*
 	 * The new state must be visible before we turn it on in the hardware:
 	 */
@@ -1469,10 +1484,6 @@ void __perf_event_task_sched_in(struct t
 	}
 }
 
-#define MAX_INTERRUPTS (~0ULL)
-
-static void perf_log_throttle(struct perf_event *event, int enable);
-
 static u64 perf_calculate_period(struct perf_event *event, u64 nsec, u64 count)
 {
 	u64 frequency = event->attr.sample_freq;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [65/70] ASoC: WM8903: Fix mic detection enable logic
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (63 preceding siblings ...)
  2011-02-22 22:17 ` [64/70] perf: Fix throttle logic Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [66/70] net: can: janz-ican3: world-writable sysfs termination file Greg KH
                   ` (4 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Stephen Warren,
	Liam Girdwood, Mark Brown

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Stephen Warren <swarren@nvidia.com>

commit 3088e3b4963d26d6f6f54987f595b974ed6d48d8 upstream.

The mic detection HW should be enabled when either mic or short detection
is required, not when only both are required.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 sound/soc/codecs/wm8903.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/sound/soc/codecs/wm8903.c
+++ b/sound/soc/codecs/wm8903.c
@@ -1479,7 +1479,7 @@ int wm8903_mic_detect(struct snd_soc_cod
 			    WM8903_MICDET_EINT | WM8903_MICSHRT_EINT,
 			    irq_mask);
 
-	if (det && shrt) {
+	if (det || shrt) {
 		/* Enable mic detection, this may not have been set through
 		 * platform data (eg, if the defaults are OK). */
 		snd_soc_update_bits(codec, WM8903_WRITE_SEQUENCER_0,



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [66/70] net: can: janz-ican3: world-writable sysfs termination file
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (64 preceding siblings ...)
  2011-02-22 22:17 ` [65/70] ASoC: WM8903: Fix mic detection enable logic Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [67/70] platform: x86: acer-wmi: world-writable sysfs threeg file Greg KH
                   ` (3 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Vasiliy Kulikov, David S. Miller

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Vasiliy Kulikov <segoon@openwall.com>

commit 1e6d93e45b231b3ae87c01902ede2315aacfe976 upstream.

Don't allow everybody to set terminator via sysfs.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/net/can/janz-ican3.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/net/can/janz-ican3.c
+++ b/drivers/net/can/janz-ican3.c
@@ -1627,7 +1627,7 @@ static ssize_t ican3_sysfs_set_term(stru
 	return count;
 }
 
-static DEVICE_ATTR(termination, S_IWUGO | S_IRUGO, ican3_sysfs_show_term,
+static DEVICE_ATTR(termination, S_IWUSR | S_IRUGO, ican3_sysfs_show_term,
 						   ican3_sysfs_set_term);
 
 static struct attribute *ican3_sysfs_attrs[] = {



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [67/70] platform: x86: acer-wmi: world-writable sysfs threeg file
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (65 preceding siblings ...)
  2011-02-22 22:17 ` [66/70] net: can: janz-ican3: world-writable sysfs termination file Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [68/70] platform: x86: asus_acpi: world-writable procfs files Greg KH
                   ` (2 subsequent siblings)
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Vasiliy Kulikov, Matthew Garrett

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Vasiliy Kulikov <segoon@openwall.com>

commit b80b168f918bba4b847e884492415546b340e19d upstream.

Don't allow everybody to write to hardware registers.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/platform/x86/acer-wmi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -1065,7 +1065,7 @@ static ssize_t set_bool_threeg(struct de
 			return -EINVAL;
 	return count;
 }
-static DEVICE_ATTR(threeg, S_IWUGO | S_IRUGO | S_IWUSR, show_bool_threeg,
+static DEVICE_ATTR(threeg, S_IRUGO | S_IWUSR, show_bool_threeg,
 	set_bool_threeg);
 
 static ssize_t show_interface(struct device *dev, struct device_attribute *attr,



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [68/70] platform: x86: asus_acpi: world-writable procfs files
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (66 preceding siblings ...)
  2011-02-22 22:17 ` [67/70] platform: x86: acer-wmi: world-writable sysfs threeg file Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [69/70] platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files Greg KH
  2011-02-22 22:17 ` [70/70] Revert: tpm_tis: Use timeouts returned from TPM Greg KH
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Vasiliy Kulikov, Matthew Garrett

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Vasiliy Kulikov <segoon@openwall.com>

commit 8040835760adf0ef66876c063d47f79f015fb55d upstream.

Don't allow everybody to change ACPI settings.  The comment says that it
is done deliberatelly, however, the comment before disp_proc_write()
says that at least one of these setting is experimental.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/platform/x86/asus_acpi.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

--- a/drivers/platform/x86/asus_acpi.c
+++ b/drivers/platform/x86/asus_acpi.c
@@ -1081,14 +1081,8 @@ static int asus_hotk_add_fs(struct acpi_
 	struct proc_dir_entry *proc;
 	mode_t mode;
 
-	/*
-	 * If parameter uid or gid is not changed, keep the default setting for
-	 * our proc entries (-rw-rw-rw-) else, it means we care about security,
-	 * and then set to -rw-rw----
-	 */
-
 	if ((asus_uid == 0) && (asus_gid == 0)) {
-		mode = S_IFREG | S_IRUGO | S_IWUGO;
+		mode = S_IFREG | S_IRUGO | S_IWUSR | S_IWGRP;
 	} else {
 		mode = S_IFREG | S_IRUSR | S_IRGRP | S_IWUSR | S_IWGRP;
 		printk(KERN_WARNING "  asus_uid and asus_gid parameters are "



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [69/70] platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (67 preceding siblings ...)
  2011-02-22 22:17 ` [68/70] platform: x86: asus_acpi: world-writable procfs files Greg KH
@ 2011-02-22 22:17 ` Greg KH
  2011-02-22 22:17 ` [70/70] Revert: tpm_tis: Use timeouts returned from TPM Greg KH
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: stable-review, torvalds, akpm, alan, Vasiliy Kulikov, Matthew Garrett

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

From: Vasiliy Kulikov <segoon@openwall.com>

commit 8a6a142c1286797978e4db266d22875a5f424897 upstream.

Don't allow everybody to change WMI settings.

Signed-off-by: Vasiliy Kulikov <segoon@openwall.com>
Signed-off-by: Matthew Garrett <mjg@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/platform/x86/tc1100-wmi.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/drivers/platform/x86/tc1100-wmi.c
+++ b/drivers/platform/x86/tc1100-wmi.c
@@ -162,7 +162,7 @@ set_bool_##value(struct device *dev, str
 			return -EINVAL; \
 	return count; \
 } \
-static DEVICE_ATTR(value, S_IWUGO | S_IRUGO | S_IWUSR, \
+static DEVICE_ATTR(value, S_IRUGO | S_IWUSR, \
 	show_bool_##value, set_bool_##value);
 
 show_set_bool(wireless, TC1100_INSTANCE_WIRELESS);



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [70/70] Revert: tpm_tis: Use timeouts returned from TPM
  2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
                   ` (68 preceding siblings ...)
  2011-02-22 22:17 ` [69/70] platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files Greg KH
@ 2011-02-22 22:17 ` Greg KH
  69 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:17 UTC (permalink / raw)
  To: linux-kernel, stable, Greg KH
  Cc: stable-review, torvalds, akpm, alan, Jiri Slaby, Rafael Wysocki,
	Stefan Berger, Guillaume Chazarain, Rajiv Andrade

2.6.37-stable review patch.  If anyone has any objections, please let us know.

------------------

This is a revert of commit 9b29050f8f75916f974a2d231ae5d3cd59792296
upstream which has been found to prevent suspend from working on a
number of systems.

Thanks to Jiri Slaby <jirislaby@gmail.com> for tracing this down.

Cc: Jiri Slaby <jirislaby@gmail.com>
Cc: Rafael Wysocki <rjw@sisk.pl>
Cc: Stefan Berger <stefanb@linux.vnet.ibm.com>
Cc: Guillaume Chazarain <guichaz@gmail.com>
Cc: Rajiv Andrade <srajiv@linux.vnet.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 drivers/char/tpm/tpm.c     |   18 ++----------------
 drivers/char/tpm/tpm.h     |    2 --
 drivers/char/tpm/tpm_tis.c |    4 +---
 3 files changed, 3 insertions(+), 21 deletions(-)

--- a/drivers/char/tpm/tpm.c
+++ b/drivers/char/tpm/tpm.c
@@ -577,11 +577,9 @@ duration:
 	if (rc)
 		return;
 
-	if (be32_to_cpu(tpm_cmd.header.out.return_code) != 0 ||
-	    be32_to_cpu(tpm_cmd.header.out.length)
-	    != sizeof(tpm_cmd.header.out) + sizeof(u32) + 3 * sizeof(u32))
+	if (be32_to_cpu(tpm_cmd.header.out.return_code)
+	    != 3 * sizeof(u32))
 		return;
-
 	duration_cap = &tpm_cmd.params.getcap_out.cap.duration;
 	chip->vendor.duration[TPM_SHORT] =
 	    usecs_to_jiffies(be32_to_cpu(duration_cap->tpm_short));
@@ -925,18 +923,6 @@ ssize_t tpm_show_caps_1_2(struct device
 }
 EXPORT_SYMBOL_GPL(tpm_show_caps_1_2);
 
-ssize_t tpm_show_timeouts(struct device *dev, struct device_attribute *attr,
-			  char *buf)
-{
-	struct tpm_chip *chip = dev_get_drvdata(dev);
-
-	return sprintf(buf, "%d %d %d\n",
-	               jiffies_to_usecs(chip->vendor.duration[TPM_SHORT]),
-	               jiffies_to_usecs(chip->vendor.duration[TPM_MEDIUM]),
-	               jiffies_to_usecs(chip->vendor.duration[TPM_LONG]));
-}
-EXPORT_SYMBOL_GPL(tpm_show_timeouts);
-
 ssize_t tpm_store_cancel(struct device *dev, struct device_attribute *attr,
 			const char *buf, size_t count)
 {
--- a/drivers/char/tpm/tpm.h
+++ b/drivers/char/tpm/tpm.h
@@ -56,8 +56,6 @@ extern ssize_t tpm_show_owned(struct dev
 				char *);
 extern ssize_t tpm_show_temp_deactivated(struct device *,
 					 struct device_attribute *attr, char *);
-extern ssize_t tpm_show_timeouts(struct device *,
-				 struct device_attribute *attr, char *);
 
 struct tpm_chip;
 
--- a/drivers/char/tpm/tpm_tis.c
+++ b/drivers/char/tpm/tpm_tis.c
@@ -376,7 +376,6 @@ static DEVICE_ATTR(temp_deactivated, S_I
 		   NULL);
 static DEVICE_ATTR(caps, S_IRUGO, tpm_show_caps_1_2, NULL);
 static DEVICE_ATTR(cancel, S_IWUSR | S_IWGRP, NULL, tpm_store_cancel);
-static DEVICE_ATTR(timeouts, S_IRUGO, tpm_show_timeouts, NULL);
 
 static struct attribute *tis_attrs[] = {
 	&dev_attr_pubek.attr,
@@ -386,8 +385,7 @@ static struct attribute *tis_attrs[] = {
 	&dev_attr_owned.attr,
 	&dev_attr_temp_deactivated.attr,
 	&dev_attr_caps.attr,
-	&dev_attr_cancel.attr,
-	&dev_attr_timeouts.attr, NULL,
+	&dev_attr_cancel.attr, NULL,
 };
 
 static struct attribute_group tis_attr_grp = {



^ permalink raw reply	[flat|nested] 82+ messages in thread

* [00/70] 2.6.37.2-stable review
@ 2011-02-22 22:20 Greg KH
  2011-02-22 22:16 ` [01/70] NFSD: memory corruption due to writing beyond the stat array Greg KH
                   ` (69 more replies)
  0 siblings, 70 replies; 82+ messages in thread
From: Greg KH @ 2011-02-22 22:20 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: stable-review, torvalds, akpm, alan

This is the start of the stable review cycle for the 2.6.37.2 release.
There are 70 patches in this series, all will be posted as a response
to this one.  If anyone has any issues with these being applied, please
let us know.  If anyone is a maintainer of the proper subsystem, and
wants to add a Signed-off-by: line to the patch, please respond with it.

Responses should be made by Thursday, Feb 24 22:00:00 UTC 2011.
Anything received after that time might be too late.

The whole patch series can be found in one patch at:
	kernel.org/pub/linux/kernel/v2.6/stable-review/patch-2.6.37.2-rc1.gz
and the diffstat can be found below.

thanks,

greg k-h


 Documentation/hwmon/jc42                     |   21 ++++++++---
 Documentation/hwmon/k10temp                  |    8 ++++-
 Makefile                                     |    2 +-
 arch/arm/kernel/signal.c                     |    4 ++-
 arch/arm/kernel/vmlinux.lds.S                |    9 +++++
 arch/arm/mach-sa1100/simpad.c                |    7 ++--
 arch/s390/include/asm/processor.h            |    5 ---
 arch/s390/kernel/traps.c                     |   37 --------------------
 arch/x86/include/asm/cpu.h                   |    1 +
 arch/x86/kernel/apb_timer.c                  |    8 +++--
 arch/x86/kernel/irq_32.c                     |    7 +---
 arch/x86/kernel/process.c                    |    5 ++-
 arch/x86/kernel/smpboot.c                    |    3 +-
 arch/x86/xen/mmu.c                           |   12 ++++++
 drivers/acpi/wakeup.c                        |    6 +++-
 drivers/char/tpm/tpm.c                       |   18 +---------
 drivers/char/tpm/tpm.h                       |    2 -
 drivers/char/tpm/tpm_tis.c                   |    4 +--
 drivers/gpu/drm/i915/intel_dp.c              |   27 ++++++++++++--
 drivers/gpu/drm/i915/intel_sdvo.c            |   32 +++++++++++++++---
 drivers/gpu/drm/nouveau/Kconfig              |    2 +-
 drivers/gpu/drm/radeon/atombios_crtc.c       |   46 ++++++++-----------------
 drivers/gpu/drm/radeon/r600_cs.c             |   46 ++++++++++++++-----------
 drivers/gpu/drm/radeon/radeon_combios.c      |   47 ++++++++++++++++++++++++++
 drivers/gpu/drm/radeon/radeon_display.c      |   10 +++++
 drivers/gpu/drm/radeon/radeon_encoders.c     |   20 ++++++++---
 drivers/gpu/drm/radeon/radeon_mode.h         |    1 +
 drivers/gpu/drm/radeon/radeon_ttm.c          |    4 +-
 drivers/hid/hid-cando.c                      |    2 +
 drivers/hid/hid-core.c                       |    2 +
 drivers/hid/hid-ids.h                        |    1 +
 drivers/hid/hid-magicmouse.c                 |    5 +++
 drivers/hid/hid-mosart.c                     |    1 +
 drivers/hid/usbhid/hid-quirks.c              |    1 -
 drivers/hwmon/Kconfig                        |   19 +++++-----
 drivers/hwmon/jc42.c                         |   35 ++++++++++++++++---
 drivers/hwmon/k10temp.c                      |    5 ++-
 drivers/hwmon/lm85.c                         |   23 +++++++++++-
 drivers/media/dvb/ttpci/av7110_ca.c          |    2 +-
 drivers/media/radio/radio-aimslab.c          |    1 +
 drivers/message/fusion/mptctl.c              |    8 ++++
 drivers/message/fusion/mptscsih.c            |    7 ++--
 drivers/net/can/janz-ican3.c                 |    2 +-
 drivers/net/wireless/iwlwifi/iwl-3945.c      |    1 -
 drivers/pci/pci-sysfs.c                      |    3 +-
 drivers/pcmcia/pcmcia_resource.c             |    2 +
 drivers/platform/x86/acer-wmi.c              |    4 +-
 drivers/platform/x86/asus_acpi.c             |    8 +----
 drivers/platform/x86/tc1100-wmi.c            |    2 +-
 drivers/staging/brcm80211/sys/wlc_mac80211.c |    1 -
 drivers/tty/vt/vt.c                          |    9 ++++-
 fs/btrfs/ioctl.c                             |   10 ++++-
 fs/cifs/netmisc.c                            |    8 ++--
 fs/cifs/sess.c                               |    8 ++--
 fs/ecryptfs/inode.c                          |    2 +
 fs/file_table.c                              |    2 +-
 fs/nfsd/nfs4xdr.c                            |    8 ++--
 fs/nfsd/vfs.c                                |    2 +-
 fs/partitions/mac.c                          |   17 +++++----
 fs/proc/array.c                              |    3 --
 fs/xfs/quota/xfs_qm.c                        |   46 +++++++++++--------------
 include/linux/pci_ids.h                      |    1 +
 include/linux/security.h                     |    6 ++--
 include/pcmcia/ds.h                          |    1 +
 kernel/capability.c                          |    2 +-
 kernel/cred.c                                |   16 +++++---
 kernel/irq/internals.h                       |    6 +++
 kernel/irq/irqdesc.c                         |   11 +++++-
 kernel/irq/manage.c                          |    2 +-
 kernel/irq/resend.c                          |    2 +-
 kernel/perf_event.c                          |   19 ++++++++--
 kernel/power/snapshot.c                      |    7 +---
 kernel/workqueue.c                           |   13 ++++++-
 net/core/dev.c                               |    2 +
 net/netfilter/nf_conntrack_netlink.c         |   15 +++-----
 security/security.c                          |    5 +--
 security/selinux/hooks.c                     |    6 +++-
 sound/pci/hda/hda_intel.c                    |    1 +
 sound/pci/hda/patch_conexant.c               |    2 +-
 sound/soc/codecs/wm8903.c                    |    2 +-
 sound/usb/caiaq/audio.c                      |    2 +-
 sound/usb/caiaq/midi.c                       |    2 +-
 tools/perf/builtin-timechart.c               |    2 +-
 83 files changed, 482 insertions(+), 287 deletions(-)

^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [15/70] perf timechart: Adjust perf timechart to the new power events
  2011-02-22 22:16 ` [15/70] perf timechart: Adjust perf timechart to the new power events Greg KH
@ 2011-02-23  0:17   ` Thomas Renninger
  2011-02-24 18:22     ` Greg KH
  0 siblings, 1 reply; 82+ messages in thread
From: Thomas Renninger @ 2011-02-23  0:17 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, stable, stable-review, torvalds, akpm, alan,
	Arjan van de Ven, Jean Pihet, Ingo Molnar

Hi,

I should have split out this segfault fix.

On Tuesday 22 February 2011 23:16:54 Greg KH wrote:
> 2.6.37-stable review patch.  If anyone has any objections, please let
> us know.
> 
> ------------------
> 
> From: Thomas Renninger <trenn@suse.de>
> 
> commit 20c457b8587bee4644d998331d9e13be82e05b4c upstream.
> 
> [This patch is part of mainline git commit 20c457b8587bee4644d9.
>   This should fix:
>   http://www.mail-archive.com/linux-perf-
>   users@vger.kernel.org/msg00057.html
> 
>   The regression was introduced by git commit:
>   4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb]
Above link is a nice pointer.
the rest of the changelog (below) does not fit and describes
the mainline patch, the tiny fix was part of.

Don't know whether it's worth to touch it, but if, the changelog (or 
title) of the patch should be as short as:
perf: timechart (userspace): Do not segfault on power_end events

         Thomas

> builtin-timechart must only pass -e power:xy events if they are 
supported by
> the running kernel, otherwise try to fetch the old 
power:power{start,end}
> events.
> 
> For this I added the tiny helper function:
> 
>    int is_valid_tracepoint(const char *event_string)
> 
> to parse-events.[hc], which could be more generic as an interface and 
support
> hardware/software/... events, not only tracepoints, but someone else 
could
> extend that if needed...
> 
> Signed-off-by: Thomas Renninger <trenn@suse.de>
> Acked-by: Arjan van de Ven <arjan@linux.intel.com>
> Acked-by: Jean Pihet <j-pihet@ti.com>
> LKML-Reference: <1294073445-14812-4-git-send-email-trenn@suse.de>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
> 
> ---
>  tools/perf/builtin-timechart.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> --- a/tools/perf/builtin-timechart.c
> +++ b/tools/perf/builtin-timechart.c
> @@ -502,7 +502,7 @@ static int process_sample_event(event_t
>  			c_state_start(pe->cpu_id, data.time, pe->value);
>  
>  		if (strcmp(event_str, "power:power_end") == 0)
> -			c_state_end(pe->cpu_id, data.time);
> +			c_state_end(data.cpu, data.time);
>  
>  		if (strcmp(event_str, "power:power_frequency") == 0)
>  			p_state_change(pe->cpu_id, data.time, pe->value);
> 
> 
> 


^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-22 22:17 ` [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations Greg KH
@ 2011-02-23  2:23   ` Ben Hutchings
  2011-02-23  7:40     ` Arend van Spriel
  0 siblings, 1 reply; 82+ messages in thread
From: Ben Hutchings @ 2011-02-23  2:23 UTC (permalink / raw)
  To: Greg KH
  Cc: linux-kernel, stable, Roland Vossen, Brett Rudley,
	Arend van Spriel, akpm, torvalds, stable-review, alan

[-- Attachment #1: Type: text/plain, Size: 1190 bytes --]

On Tue, 2011-02-22 at 14:17 -0800, Greg KH wrote:
> 2.6.37-stable review patch.  If anyone has any objections, please let us know.
> 
> ------------------
> 
> From: Roland Vossen <rvossen@broadcom.com>
> 
> commit 6a3be6e6e7feb4cb35275475d6a863b748d59cc3 upstream.

The upstream commit looks completely different; the diffstat is:

 drivers/staging/brcm80211/sys/wl_mac80211.c  |   12 ++++++++++--
 drivers/staging/brcm80211/sys/wlc_mac80211.c |   13 +++++++++++++
 drivers/staging/brcm80211/sys/wlc_pub.h      |    2 ++
 3 files changed, 25 insertions(+), 2 deletions(-)

Why is this so different?

Ben.

[...]
>  drivers/staging/brcm80211/sys/wlc_mac80211.c |    1 -
>  1 file changed, 1 deletion(-)
> 
> --- a/drivers/staging/brcm80211/sys/wlc_mac80211.c
> +++ b/drivers/staging/brcm80211/sys/wlc_mac80211.c
> @@ -5336,7 +5336,6 @@ wlc_sendpkt_mac80211(wlc_info_t *wlc, vo
>  	fifo = prio2fifo[prio];
>  
>  	ASSERT((uint) PKTHEADROOM(sdu) >= TXOFF);
> -	ASSERT(!PKTSHARED(sdu));
>  	ASSERT(!PKTNEXT(sdu));
>  	ASSERT(!PKTLINK(sdu));
>  	ASSERT(fifo < NFIFO);

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-23  2:23   ` [Stable-review] " Ben Hutchings
@ 2011-02-23  7:40     ` Arend van Spriel
  2011-02-23 18:06       ` Greg KH
  0 siblings, 1 reply; 82+ messages in thread
From: Arend van Spriel @ 2011-02-23  7:40 UTC (permalink / raw)
  To: Greg KH, Ben Hutchings
  Cc: linux-kernel, stable, Roland Vossen, Brett Rudley, akpm,
	torvalds, stable-review, alan

On Wed, 23 Feb 2011 03:23:07 +0100, Ben Hutchings <ben@decadent.org.uk>  
wrote:

> On Tue, 2011-02-22 at 14:17 -0800, Greg KH wrote:
>> 2.6.37-stable review patch.  If anyone has any objections, please let  
>> us know.
>>
>> ------------------
>
> Why is this so different?
>

Hi Ben,

I think you are right. The diff below actually is from another commit  
which I posted for stable review titled:

staging: brcm80211: remove assert to avoid panic since 2.6.37 kernel

Gr. AvS

>
> Ben.
>
> [...]
>>  drivers/staging/brcm80211/sys/wlc_mac80211.c |    1 -
>>  1 file changed, 1 deletion(-)
-- 
"The most merciful thing in the world, I think, is the inability of the  
human
mind to correlate all its contents." - "The Call of Cthulhu"


^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-23  7:40     ` Arend van Spriel
@ 2011-02-23 18:06       ` Greg KH
  2011-02-23 20:24         ` Arend van Spriel
  0 siblings, 1 reply; 82+ messages in thread
From: Greg KH @ 2011-02-23 18:06 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Ben Hutchings, linux-kernel, stable, Roland Vossen, Brett Rudley,
	akpm, torvalds, stable-review, alan

On Wed, Feb 23, 2011 at 08:40:53AM +0100, Arend van Spriel wrote:
> On Wed, 23 Feb 2011 03:23:07 +0100, Ben Hutchings
> <ben@decadent.org.uk> wrote:
> 
> >On Tue, 2011-02-22 at 14:17 -0800, Greg KH wrote:
> >>2.6.37-stable review patch.  If anyone has any objections,
> >>please let us know.
> >>
> >>------------------
> >
> >Why is this so different?
> >
> 
> Hi Ben,
> 
> I think you are right. The diff below actually is from another
> commit which I posted for stable review titled:
> 
> staging: brcm80211: remove assert to avoid panic since 2.6.37 kernel

So, what should I do here?  Drop the referenced patch from the
.37-stable queue, or do you have the text for the changelog that I
should use here instead?

confused,

greg k-h

^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-23 18:06       ` Greg KH
@ 2011-02-23 20:24         ` Arend van Spriel
  2011-02-24 13:10           ` Roland Vossen
  0 siblings, 1 reply; 82+ messages in thread
From: Arend van Spriel @ 2011-02-23 20:24 UTC (permalink / raw)
  To: Greg KH
  Cc: Ben Hutchings, linux-kernel, stable, Roland Vossen, Brett Rudley,
	akpm, torvalds, stable-review, alan


On Wed, 23 Feb 2011 19:06:27 +0100, Greg KH <gregkh@suse.de> wrote:

> On Wed, Feb 23, 2011 at 08:40:53AM +0100, Arend van Spriel wrote:
>> On Wed, 23 Feb 2011 03:23:07 +0100, Ben Hutchings
>> <ben@decadent.org.uk> wrote:
>>
>> >On Tue, 2011-02-22 at 14:17 -0800, Greg KH wrote:
>> >>2.6.37-stable review patch.  If anyone has any objections,
>
> So, what should I do here?  Drop the referenced patch from the
> .37-stable queue, or do you have the text for the changelog that I
> should use here instead?
>
> confused,
>
Hi Greg,

Dito here. I submitted a patch for the stable kernel and Roland did one  
(if I am correct). I have no clue how his commit message came with my  
patch or vice versa.

>
> greg k-h
>

Gr. AvS
-- 
"The most merciful thing in the world, I think, is the inability of the  
human
mind to correlate all its contents." - "The Call of Cthulhu"


^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-23 20:24         ` Arend van Spriel
@ 2011-02-24 13:10           ` Roland Vossen
  2011-02-24 18:21             ` Greg KH
  0 siblings, 1 reply; 82+ messages in thread
From: Roland Vossen @ 2011-02-24 13:10 UTC (permalink / raw)
  To: Greg KH
  Cc: Arend Van Spriel, Ben Hutchings, linux-kernel, stable,
	Brett Rudley, akpm, torvalds, stable-review, alan

Hi Greg,

>> So, what should I do here?  Drop the referenced patch from the
>> .37-stable queue, or do you have the text for the changelog that I
>> should use here instead?
>>
>> confused,
>>
>
> Dito here. I submitted a patch for the stable kernel and Roland did one
> (if I am correct). I have no clue how his commit message came with my
> patch or vice versa.
>

Let me try to clear up part of the confusion.

The short story is: for some mysterious reason, a patch exists that is a 
mixup of two patches (one from Arend and one from me). It contains the 
commit message from me, but the file changes from Arend. This 'hybrid' 
patch was submitted for review by you. This patch did not make it yet 
into the 2.6.37-stable tree.

Also, neither Arends nor my Patch ended up in the 2.6.37-stable tree.

To fix this problem, I think that this hybrid patch has to be review 
rejected. Next, new patches have to be created based on Rolands patch 
(6a3be6e6e7feb4cb35275475d6a863b748d59cc3, as submitted into 
gregkh/staging-2.6.git::staging-linus branch) as well as Arends patch 
(d062d44a8386c82c06e483f0c0d1124ba3cab2c8). These patches would then 
have to be reviewed for the 2.6.37-stable tree.

-------------- Long story follows:

Both Arend and I submitted a patch for the 2.6.38 tree 
(gregkh/staging-2.6.git). The commits were:

commit d062d44a8386c82c06e483f0c0d1124ba3cab2c8
Author: Arend van Spriel <arend@broadcom.com>
Date:   Fri Jan 21 13:34:15 2011 +0100
staging: brcm80211: remove assert to avoid panic since 2.6.37 kernel

and:

commit 6a3be6e6e7feb4cb35275475d6a863b748d59cc3
Author: Roland Vossen <rvossen@broadcom.com>
Date:   Tue Jan 25 11:51:56 2011 +0100
staging: brcm80211: bugfix for softmac crash on multi cpu configurations

Rolands patch was added to the 2.6.37 tree since I got the following 
email from you:

-------- Original Message --------
Subject: Patch "staging: brcm80211: bugfix for softmac crash on multi 
cpu configurations" has been added to the 2.6.37-stable tree
Date: Wed, 16 Feb 2011 15:06:28 -0800
From: gregkh@suse.de <gregkh@suse.de>
To: Roland Vossen <rvossen@broadcom.com>, Arend Van Spriel 
<arend@broadcom.com>, Brett Rudley <brudley@broadcom.com>, 
"gregkh@suse.de"	<gregkh@suse.de>
-------- /Original Message --------

I do not see a similar email for Arends patch.

Now something strange happened: I see a patch that is a hybrid: I bears 
Rolands patch title with Rolands commit message, but the files touched 
are related to Arends patch. See: 
http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git;a=blob;f=review-2.6.37/staging-brcm80211-bugfix-for-softmac-crash-on-multi-cpu-configurations.patch;h=e0315e2ecaf4671256c39a491b2b623ade9d0e7b;hb=HEAD

I checked if my file changes are present in the 2.6.37 stable tree, 
which I would expect, but they are not, at least not when I look at: 
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.37.y.git;a=blob;f=drivers/staging/brcm80211/sys/wl_mac80211.c;h=cb2041a61d78a78eea4ff8a71896ba2cff21bcda;hb=HEAD

Arends changes are also not present in the 2.6.37 stable tree: 
http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.37.y.git;a=blob;f=drivers/staging/brcm80211/sys/wlc_mac80211.c;h=feaffcc64ec6f7889168d2de1a811d867a2f91a8;hb=HEAD

Bye, Roland.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-24 13:10           ` Roland Vossen
@ 2011-02-24 18:21             ` Greg KH
  2011-02-24 20:47               ` Arend van Spriel
  0 siblings, 1 reply; 82+ messages in thread
From: Greg KH @ 2011-02-24 18:21 UTC (permalink / raw)
  To: Roland Vossen
  Cc: Arend Van Spriel, Ben Hutchings, linux-kernel, stable,
	Brett Rudley, akpm, torvalds, stable-review, alan

On Thu, Feb 24, 2011 at 02:10:47PM +0100, Roland Vossen wrote:
> Hi Greg,
> 
> >>So, what should I do here?  Drop the referenced patch from the
> >>.37-stable queue, or do you have the text for the changelog that I
> >>should use here instead?
> >>
> >>confused,
> >>
> >
> >Dito here. I submitted a patch for the stable kernel and Roland did one
> >(if I am correct). I have no clue how his commit message came with my
> >patch or vice versa.
> >
> 
> Let me try to clear up part of the confusion.
> 
> The short story is: for some mysterious reason, a patch exists that
> is a mixup of two patches (one from Arend and one from me). It
> contains the commit message from me, but the file changes from
> Arend. This 'hybrid' patch was submitted for review by you. This
> patch did not make it yet into the 2.6.37-stable tree.
> 
> Also, neither Arends nor my Patch ended up in the 2.6.37-stable tree.
> 
> To fix this problem, I think that this hybrid patch has to be review
> rejected. Next, new patches have to be created based on Rolands
> patch (6a3be6e6e7feb4cb35275475d6a863b748d59cc3, as submitted into
> gregkh/staging-2.6.git::staging-linus branch) as well as Arends
> patch (d062d44a8386c82c06e483f0c0d1124ba3cab2c8). These patches
> would then have to be reviewed for the 2.6.37-stable tree.

Ok, I'm going to drop this patch now.

Can someone create the needed patches for the .37-stable tree that
should be included and send them to me and cc: stable@kernel.org so I
can queue them up for the next .37-stable release after this?

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [15/70] perf timechart: Adjust perf timechart to the new power events
  2011-02-23  0:17   ` Thomas Renninger
@ 2011-02-24 18:22     ` Greg KH
  0 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-24 18:22 UTC (permalink / raw)
  To: Thomas Renninger
  Cc: linux-kernel, stable, stable-review, torvalds, akpm, alan,
	Arjan van de Ven, Jean Pihet, Ingo Molnar

On Wed, Feb 23, 2011 at 01:17:19AM +0100, Thomas Renninger wrote:
> Hi,
> 
> I should have split out this segfault fix.
> 
> On Tuesday 22 February 2011 23:16:54 Greg KH wrote:
> > 2.6.37-stable review patch.  If anyone has any objections, please let
> > us know.
> > 
> > ------------------
> > 
> > From: Thomas Renninger <trenn@suse.de>
> > 
> > commit 20c457b8587bee4644d998331d9e13be82e05b4c upstream.
> > 
> > [This patch is part of mainline git commit 20c457b8587bee4644d9.
> >   This should fix:
> >   http://www.mail-archive.com/linux-perf-
> >   users@vger.kernel.org/msg00057.html
> > 
> >   The regression was introduced by git commit:
> >   4c21adf26f8fcf86a755b9b9f55c2e9fd241e1fb]
> Above link is a nice pointer.
> the rest of the changelog (below) does not fit and describes
> the mainline patch, the tiny fix was part of.
> 
> Don't know whether it's worth to touch it, but if, the changelog (or 
> title) of the patch should be as short as:
> perf: timechart (userspace): Do not segfault on power_end events

I'll leave it as-is as I like to keep the commit messages as close as
possible.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-24 18:21             ` Greg KH
@ 2011-02-24 20:47               ` Arend van Spriel
  2011-02-25  0:13                 ` [stable] " Greg KH
  0 siblings, 1 reply; 82+ messages in thread
From: Arend van Spriel @ 2011-02-24 20:47 UTC (permalink / raw)
  To: Roland Vossen, Greg KH
  Cc: Ben Hutchings, linux-kernel, stable, Brett Rudley, akpm,
	torvalds, stable-review, alan

On Thu, 24 Feb 2011 19:21:33 +0100, Greg KH <gregkh@suse.de> wrote:

>
> Ok, I'm going to drop this patch now.
>
> Can someone create the needed patches for the .37-stable tree that
> should be included and send them to me and cc: stable@kernel.org so I
> can queue them up for the next .37-stable release after this?
>

Hi Greg,

I sent both patches to you.

>
> thanks,
>
> greg k-h
>

Gr. AvS
-- 
"The most merciful thing in the world, I think, is the inability of the  
human
mind to correlate all its contents." - "The Call of Cthulhu"


^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: [stable] [Stable-review] [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations
  2011-02-24 20:47               ` Arend van Spriel
@ 2011-02-25  0:13                 ` Greg KH
  0 siblings, 0 replies; 82+ messages in thread
From: Greg KH @ 2011-02-25  0:13 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Roland Vossen, Greg KH, Ben Hutchings, linux-kernel,
	stable-review, Brett Rudley, akpm, torvalds, stable, alan

On Thu, Feb 24, 2011 at 09:47:49PM +0100, Arend van Spriel wrote:
> On Thu, 24 Feb 2011 19:21:33 +0100, Greg KH <gregkh@suse.de> wrote:
> 
> >
> >Ok, I'm going to drop this patch now.
> >
> >Can someone create the needed patches for the .37-stable tree that
> >should be included and send them to me and cc: stable@kernel.org so I
> >can queue them up for the next .37-stable release after this?
> >
> 
> Hi Greg,
> 
> I sent both patches to you.

Thanks, I got them, I'll queue them up for the next .37-stable release.

greg k-h

^ permalink raw reply	[flat|nested] 82+ messages in thread

end of thread, other threads:[~2011-02-25  0:21 UTC | newest]

Thread overview: 82+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-22 22:20 [00/70] 2.6.37.2-stable review Greg KH
2011-02-22 22:16 ` [01/70] NFSD: memory corruption due to writing beyond the stat array Greg KH
2011-02-22 22:16 ` [02/70] [SCSI] mptfusion: mptctl_release is required in mptctl.c Greg KH
2011-02-22 22:16 ` [03/70] [SCSI] mptfusion: Fix Incorrect return value in mptscsih_dev_reset Greg KH
2011-02-22 22:16 ` [04/70] drm/i915/sdvo: If we have an EDID confirm it matches the mode of the connection Greg KH
2011-02-22 22:16 ` [05/70] drm/radeon/kms: fix interlaced modes on dce4+ Greg KH
2011-02-22 22:16 ` [06/70] drm/radeon: fix memory debugging since d961db75ce86a84f1f04e91ad1014653ed7d9f46 Greg KH
2011-02-22 22:16 ` [07/70] drm/radeon/kms: add connector table for mac g5 9600 Greg KH
2011-02-22 22:16 ` [08/70] drm/radeon/kms: improve 6xx/7xx CS error output Greg KH
2011-02-22 22:16 ` [09/70] drm/radeon/kms: add bounds checking to avivo pll algo Greg KH
2011-02-22 22:16 ` [10/70] drm/radeon/kms: hopefully fix pll issues for real (v3) Greg KH
2011-02-22 22:16 ` [11/70] drm/nouveau: Only select ACPI_VIDEO if its dependencies are met Greg KH
2011-02-22 22:16 ` [12/70] vt: fix issue when fbcon wants to takeover a second time Greg KH
2011-02-22 22:16 ` [13/70] ARM: 6606/1: sa1100: Fix platform device registration Greg KH
2011-02-22 22:16 ` [14/70] HID: magicmouse: Dont report REL_{X, Y} for Magic Trackpad Greg KH
2011-02-22 22:16 ` [15/70] perf timechart: Adjust perf timechart to the new power events Greg KH
2011-02-23  0:17   ` Thomas Renninger
2011-02-24 18:22     ` Greg KH
2011-02-22 22:16 ` [16/70] x86: Clear irqstack thread_info Greg KH
2011-02-22 22:16 ` [17/70] drm/i915: make DP training try a little harder Greg KH
2011-02-22 22:16 ` [18/70] xen: p2m: correctly initialize partial p2m leaf Greg KH
2011-02-22 22:16 ` [19/70] xen/p2m: Mark INVALID_P2M_ENTRY the mfn_list past max_pfn Greg KH
2011-02-22 22:16 ` [20/70] [media] [v3,media] av7110: check for negative array offset Greg KH
2011-02-22 22:17 ` [21/70] xfs: fix dquot shaker deadlock Greg KH
2011-02-22 22:17 ` [22/70] HID: add Add Cando touch screen 10.1-inch product id Greg KH
2011-02-22 22:17 ` [23/70] HID: Switch turbox/mosart touchscreen to hid-mosart Greg KH
2011-02-22 22:17 ` [24/70] CRED: Fix kernel panic upon security_file_alloc() failure Greg KH
2011-02-22 22:17 ` [25/70] btrfs: prevent heap corruption in btrfs_ioctl_space_info() Greg KH
2011-02-22 22:17 ` [26/70] CRED: Fix BUG() upon security_cred_alloc_blank() failure Greg KH
2011-02-22 22:17 ` [27/70] CRED: Fix memory and refcount leaks upon security_prepare_creds() failure Greg KH
2011-02-22 22:17 ` [28/70] staging: brcm80211: bugfix for softmac crash on multi cpu configurations Greg KH
2011-02-23  2:23   ` [Stable-review] " Ben Hutchings
2011-02-23  7:40     ` Arend van Spriel
2011-02-23 18:06       ` Greg KH
2011-02-23 20:24         ` Arend van Spriel
2011-02-24 13:10           ` Roland Vossen
2011-02-24 18:21             ` Greg KH
2011-02-24 20:47               ` Arend van Spriel
2011-02-25  0:13                 ` [stable] " Greg KH
2011-02-22 22:17 ` [29/70] security: add cred argument to security_capable() Greg KH
2011-02-22 22:17 ` [30/70] pci: use security_capable() when checking capablities during config space read Greg KH
2011-02-22 22:17 ` [31/70] ACPI / Wakeup: Enable button GPEs unconditionally during initialization Greg KH
2011-02-22 22:17 ` [32/70] nfsd: correctly handle return value from nfsd_map_name_to_* Greg KH
2011-02-22 22:17 ` [33/70] x86, hotplug: Fix powersavings with offlined cores on AMD Greg KH
2011-02-22 22:17 ` [34/70] s390: remove task_show_regs Greg KH
2011-02-22 22:17 ` [35/70] x86, mrst: Set correct APB timer IRQ affinity for secondary cpu Greg KH
2011-02-22 22:17 ` [36/70] PM / Hibernate: Return error code when alloc_image_page() fails Greg KH
2011-02-22 22:17 ` [37/70] drm/radeon/kms: add missing frac fb div flag for dce4+ Greg KH
2011-02-22 22:17 ` [38/70] fs/partitions: Validate map_count in Mac partition tables Greg KH
2011-02-22 22:17 ` [39/70] workqueue: wake up a worker when a rescuer is leaving a gcwq Greg KH
2011-02-22 22:17 ` [40/70] workqueue: make sure MAYDAY_INITIAL_TIMEOUT is at least 2 jiffies long Greg KH
2011-02-22 22:17 ` [41/70] net: deinit automatic LIST_HEAD Greg KH
2011-02-22 22:17 ` [42/70] iwl3945: remove plcp check Greg KH
2011-02-22 22:17 ` [43/70] ALSA: HDA: Add position_fix quirk for an Asus device Greg KH
2011-02-22 22:17 ` [44/70] ALSA: caiaq - Fix possible string-buffer overflow Greg KH
2011-02-22 22:17 ` [45/70] ALSA: HDA: Do not announce false surround in Conexant auto Greg KH
2011-02-22 22:17 ` [46/70] hwmon: (lm85) extend to support EMC6D103 chips Greg KH
2011-02-22 22:17 ` [47/70] x86, AMD, PCI: Add AMD northbridge PCI device id for CPU families 12h and 14h Greg KH
2011-02-22 22:17   ` Greg KH
2011-02-22 22:17 ` [48/70] hwmon: (k10temp) add support for AMD Family 12h/14h CPUs Greg KH
2011-02-22 22:17 ` [49/70] hwmon: (jc42) fix type mismatch Greg KH
2011-02-22 22:17 ` [50/70] hwmon: (jc42) more helpful documentation Greg KH
2011-02-22 22:17 ` [51/70] hwmon: (jc42) do not allow writing to locked registers Greg KH
2011-02-22 22:17 ` [52/70] netfilter: fix race in conntrack between dump_table and destroy Greg KH
2011-02-22 22:17 ` [53/70] netfilter: ctnetlink: fix missing refcount increment during dumps Greg KH
2011-02-22 22:17 ` [54/70] [media] radio-aimslab.c needs #include <linux/delay.h> Greg KH
2011-02-22 22:17 ` [55/70] ARM: Ensure predictable endian state on signal handler entry Greg KH
2011-02-22 22:17 ` [56/70] ARM: Keep exit text/data around for SMP_ON_UP Greg KH
2011-02-22 22:17 ` [57/70] cifs: fix handling of scopeid in cifs_convert_address Greg KH
2011-02-22 22:17 ` [58/70] cifs: Fix regression in LANMAN (LM) auth code Greg KH
2011-02-22 22:17 ` [59/70] acer-wmi: Fix capitalisation of GUID Greg KH
2011-02-22 22:17 ` [60/70] pcmcia: re-enable Zoomed Video support Greg KH
2011-02-22 22:17 ` [61/70] eCryptfs: Copy up lower inode attrs in getattr Greg KH
2011-02-22 22:17 ` [62/70] genirq: Prevent access beyond allocated_irqs bitmap Greg KH
2011-02-22 22:17 ` [63/70] genirq: Disable the SHIRQ_DEBUG call in request_threaded_irq for now Greg KH
2011-02-22 22:17 ` [64/70] perf: Fix throttle logic Greg KH
2011-02-22 22:17 ` [65/70] ASoC: WM8903: Fix mic detection enable logic Greg KH
2011-02-22 22:17 ` [66/70] net: can: janz-ican3: world-writable sysfs termination file Greg KH
2011-02-22 22:17 ` [67/70] platform: x86: acer-wmi: world-writable sysfs threeg file Greg KH
2011-02-22 22:17 ` [68/70] platform: x86: asus_acpi: world-writable procfs files Greg KH
2011-02-22 22:17 ` [69/70] platform: x86: tc1100-wmi: world-writable sysfs wireless and jogdial files Greg KH
2011-02-22 22:17 ` [70/70] Revert: tpm_tis: Use timeouts returned from TPM Greg KH

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.