linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [ 00/27] 3.6.10-stable review
@ 2012-12-07  0:58 Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 01/27] Dove: Attempt to fix PMU/RTC interrupts Greg Kroah-Hartman
                   ` (29 more replies)
  0 siblings, 30 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, torvalds, akpm, alan

This is the start of the stable review cycle for the 3.6.10 release.
There are 27 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 me know.

Responses should be made by Sun Dec  9 00:57:22 UTC 2012.
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/v3.0/stable-review/patch-3.6.10-rc1.gz
and the diffstat can be found below.

thanks,

greg k-h

-------------
Pseudo-Shortlog of commits:

Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Linux 3.6.10-rc1

Francois Romieu <romieu@fr.zoreil.com>
    8139cp: revert "set ring address before enabling receiver"

Andre Przywara <andre.przywara@amd.com>
    x86, amd: Disable way access filter on Piledriver CPUs

Chris Wilson <chris@chris-wilson.co.uk>
    drm/i915: Add no-lvds quirk for Supermicro X7SPA-H

Calvin Walton <calvin.walton@kepstin.ca>
    i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard

Alan Cox <alan@linux.intel.com>
    ACPI: missing break

Bjørn Mork <bjorn@mork.no>
    net: qmi_wwan: add Huawei E173

Bjørn Mork <bjorn@mork.no>
    net: qmi_wwan: adding more ZTE devices

Heiko Carstens <heiko.carstens@de.ibm.com>
    s390/mm: have 16 byte aligned struct pages

Prarit Bhargava <prarit@redhat.com>
    i7core_edac: fix panic when accessing sysfs files

Ariel Elior <ariele@broadcom.com>
    bnx2x: remove redundant warning log

Mike Galbraith <efault@gmx.de>
    Revert "sched, autogroup: Stop going ahead if autogroup is disabled"

Jean Delvare <jdelvare@suse.de>
    i7300_edac: Fix error flag testing

NeilBrown <neilb@suse.de>
    md/raid1{,0}: fix deadlock in bitmap_unplug.

Johannes Berg <johannes.berg@intel.com>
    mac80211: fix remain-on-channel (non-)cancelling

Mike Galbraith <mgalbraith@suse.de>
    workqueue: exit rescuer_thread() as TASK_RUNNING

Vincent Palatin <vpalatin@chromium.org>
    x86, fpu: Avoid FPU lazy restore after suspend

Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
    ARM: Kirkwood: Update PCI-E fixup

Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    iwlwifi: fix the basic CCK rates calculation

Roland Dreier <roland@purestorage.com>
    target: Fix handling of aborted commands

Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
    mm: soft offline: split thp at the beginning of soft_offline_page()

Johannes Weiner <hannes@cmpxchg.org>
    mm: vmscan: fix endless loop in kswapd balancing

Jianguo Wu <wujianguo@huawei.com>
    mm/vmemmap: fix wrong use of virt_to_page

Alex Deucher <alexander.deucher@amd.com>
    drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop()

Alex Deucher <alexander.deucher@amd.com>
    drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2)

Alex Deucher <alexander.deucher@amd.com>
    drm/radeon/dce4+: don't use radeon_crtc for vblank callback

Russell King - ARM Linux <linux@arm.linux.org.uk>
    Dove: Fix irq_to_pmu()

Russell King - ARM Linux <linux@arm.linux.org.uk>
    Dove: Attempt to fix PMU/RTC interrupts


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

Diffstat:

 Makefile                                         |   4 +-
 arch/arm/Kconfig                                 |   1 +
 arch/arm/mach-dove/include/mach/pm.h             |   2 +-
 arch/arm/mach-dove/irq.c                         |  14 ++-
 arch/arm/mach-kirkwood/pcie.c                    |  11 ++-
 arch/s390/Kconfig                                |   1 +
 arch/x86/include/asm/fpu-internal.h              |  15 +--
 arch/x86/kernel/cpu/amd.c                        |  14 +++
 arch/x86/kernel/smpboot.c                        |   5 +
 drivers/acpi/processor_driver.c                  |   1 +
 drivers/edac/i7300_edac.c                        |   8 +-
 drivers/edac/i7core_edac.c                       |   6 +-
 drivers/gpu/drm/i915/intel_lvds.c                |  16 ++++
 drivers/gpu/drm/radeon/evergreen.c               | 191 +++++++++++++++++++------------------
 drivers/gpu/drm/radeon/evergreen_reg.h           |   2 +
 drivers/gpu/drm/radeon/evergreend.h              |   7 ++
 drivers/gpu/drm/radeon/radeon_asic.h             |   1 +
 drivers/md/raid1.c                               |   2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |  11 ++-
 drivers/net/ethernet/realtek/8139cp.c            |  22 ++---
 drivers/net/usb/qmi_wwan.c                       |  42 ++++++++
 drivers/net/wireless/iwlwifi/dvm/rxon.c          |  12 +--
 drivers/target/target_core_transport.c           |   6 +-
 kernel/sched/auto_group.c                        |   4 -
 kernel/sched/auto_group.h                        |   5 -
 kernel/workqueue.c                               |   4 +-
 mm/memory-failure.c                              |   8 ++
 mm/sparse.c                                      |  10 +-
 mm/vmscan.c                                      |  27 ++++--
 net/mac80211/offchannel.c                        |   2 -
 30 files changed, 288 insertions(+), 166 deletions(-)



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

* [ 01/27] Dove: Attempt to fix PMU/RTC interrupts
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 02/27] Dove: Fix irq_to_pmu() Greg Kroah-Hartman
                   ` (28 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Russell King, Jason Cooper

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Russell King - ARM Linux <linux@arm.linux.org.uk>

commit 5d3df935426271016b895aecaa247101b4bfa35e upstream.

Fix the acknowledgement of PMU interrupts on Dove: some Dove hardware
has not been sensibly designed so that interrupts can be handled in a
race free manner.  The PMU is one such instance.

The pending (aka 'cause') register is a bunch of RW bits, meaning that
these bits can be both cleared and set by software (confirmed on the
Armada-510 on the cubox.)

Hardware sets the appropriate bit when an interrupt is asserted, and
software is required to clear the bits which are to be processed.  If
we write ~(1 << bit), then we end up asserting every other interrupt
except the one we're processing.  So, we need to do a read-modify-write
cycle to clear the asserted bit.

However, any interrupts which occur in the middle of this cycle will
also be written back as zero, which will also clear the new interrupts.

The upshot of this is: there is _no_ way to safely clear down interrupts
in this register (and other similarly behaving interrupt pending
registers on this device.)  The patch below at least stops us creating
new interrupts.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mach-dove/irq.c |   14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -45,8 +45,20 @@ static void pmu_irq_ack(struct irq_data
 	int pin = irq_to_pmu(d->irq);
 	u32 u;
 
+	/*
+	 * The PMU mask register is not RW0C: it is RW.  This means that
+	 * the bits take whatever value is written to them; if you write
+	 * a '1', you will set the interrupt.
+	 *
+	 * Unfortunately this means there is NO race free way to clear
+	 * these interrupts.
+	 *
+	 * So, let's structure the code so that the window is as small as
+	 * possible.
+	 */
 	u = ~(1 << (pin & 31));
-	writel(u, PMU_INTERRUPT_CAUSE);
+	u &= readl_relaxed(PMU_INTERRUPT_CAUSE);
+	writel_relaxed(u, PMU_INTERRUPT_CAUSE);
 }
 
 static struct irq_chip pmu_irq_chip = {



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

* [ 02/27] Dove: Fix irq_to_pmu()
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 01/27] Dove: Attempt to fix PMU/RTC interrupts Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 03/27] drm/radeon/dce4+: dont use radeon_crtc for vblank callback Greg Kroah-Hartman
                   ` (27 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Russell King, Jason Cooper

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Russell King - ARM Linux <linux@arm.linux.org.uk>

commit d356cf5a74afa32b40decca3c9dd88bc3cd63eb5 upstream.

PMU interrupts start at IRQ_DOVE_PMU_START, not IRQ_DOVE_PMU_START + 1.
Fix the condition.  (It may have been less likely to occur had the code
been written "if (irq >= IRQ_DOVE_PMU_START" which imho is the easier
to understand notation, and matches the normal way of thinking about
these things.)

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/mach-dove/include/mach/pm.h |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/arch/arm/mach-dove/include/mach/pm.h
+++ b/arch/arm/mach-dove/include/mach/pm.h
@@ -45,7 +45,7 @@ static inline int pmu_to_irq(int pin)
 
 static inline int irq_to_pmu(int irq)
 {
-	if (IRQ_DOVE_PMU_START < irq && irq < NR_IRQS)
+	if (IRQ_DOVE_PMU_START <= irq && irq < NR_IRQS)
 		return irq - IRQ_DOVE_PMU_START;
 
 	return -EINVAL;



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

* [ 03/27] drm/radeon/dce4+: dont use radeon_crtc for vblank callback
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 01/27] Dove: Attempt to fix PMU/RTC interrupts Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 02/27] Dove: Fix irq_to_pmu() Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 04/27] drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) Greg Kroah-Hartman
                   ` (26 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Alex Deucher

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Alex Deucher <alexander.deucher@amd.com>

commit 4a15903db02026728d0cf2755c6fabae16b8db6a upstream.

This might be called before we've allocated the radeon_crtcs

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpu/drm/radeon/evergreen.c |   20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -37,6 +37,16 @@
 #define EVERGREEN_PFP_UCODE_SIZE 1120
 #define EVERGREEN_PM4_UCODE_SIZE 1376
 
+static const u32 crtc_offsets[6] =
+{
+	EVERGREEN_CRTC0_REGISTER_OFFSET,
+	EVERGREEN_CRTC1_REGISTER_OFFSET,
+	EVERGREEN_CRTC2_REGISTER_OFFSET,
+	EVERGREEN_CRTC3_REGISTER_OFFSET,
+	EVERGREEN_CRTC4_REGISTER_OFFSET,
+	EVERGREEN_CRTC5_REGISTER_OFFSET
+};
+
 static void evergreen_gpu_init(struct radeon_device *rdev);
 void evergreen_fini(struct radeon_device *rdev);
 void evergreen_pcie_gen2_enable(struct radeon_device *rdev);
@@ -109,17 +119,19 @@ void evergreen_fix_pci_max_read_req_size
  */
 void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc)
 {
-	struct radeon_crtc *radeon_crtc = rdev->mode_info.crtcs[crtc];
 	int i;
 
-	if (RREG32(EVERGREEN_CRTC_CONTROL + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_MASTER_EN) {
+	if (crtc >= rdev->num_crtc)
+		return;
+
+	if (RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[crtc]) & EVERGREEN_CRTC_MASTER_EN) {
 		for (i = 0; i < rdev->usec_timeout; i++) {
-			if (!(RREG32(EVERGREEN_CRTC_STATUS + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_V_BLANK))
+			if (!(RREG32(EVERGREEN_CRTC_STATUS + crtc_offsets[crtc]) & EVERGREEN_CRTC_V_BLANK))
 				break;
 			udelay(1);
 		}
 		for (i = 0; i < rdev->usec_timeout; i++) {
-			if (RREG32(EVERGREEN_CRTC_STATUS + radeon_crtc->crtc_offset) & EVERGREEN_CRTC_V_BLANK)
+			if (RREG32(EVERGREEN_CRTC_STATUS + crtc_offsets[crtc]) & EVERGREEN_CRTC_V_BLANK)
 				break;
 			udelay(1);
 		}



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

* [ 04/27] drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2)
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (2 preceding siblings ...)
  2012-12-07  0:58 ` [ 03/27] drm/radeon/dce4+: dont use radeon_crtc for vblank callback Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 05/27] drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() Greg Kroah-Hartman
                   ` (25 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Alex Deucher

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Alex Deucher <alexander.deucher@amd.com>

commit 62444b7462a2b98bc78d68736c03a7c4e66ba7e2 upstream.

- Stop the displays from accessing the FB
- Block CPU access
- Turn off MC client access

This should fix issues some users have seen, especially
with UEFI, when changing the MC FB location that result
in hangs or display corruption.

v2: fix crtc enabled check noticed by Luca Tettamanti

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/gpu/drm/radeon/evergreen.c     |  173 +++++++++++++++------------------
 drivers/gpu/drm/radeon/evergreen_reg.h |    2 
 drivers/gpu/drm/radeon/evergreend.h    |    7 +
 drivers/gpu/drm/radeon/radeon_asic.h   |    1 
 4 files changed, 90 insertions(+), 93 deletions(-)

--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -1241,116 +1241,103 @@ void evergreen_agp_enable(struct radeon_
 
 void evergreen_mc_stop(struct radeon_device *rdev, struct evergreen_mc_save *save)
 {
+	u32 crtc_enabled, tmp, frame_count, blackout;
+	int i, j;
+
 	save->vga_render_control = RREG32(VGA_RENDER_CONTROL);
 	save->vga_hdp_control = RREG32(VGA_HDP_CONTROL);
 
-	/* Stop all video */
+	/* disable VGA render */
 	WREG32(VGA_RENDER_CONTROL, 0);
-	WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 1);
-	WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 1);
-	if (rdev->num_crtc >= 4) {
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 1);
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 1);
-	}
-	if (rdev->num_crtc >= 6) {
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 1);
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 1);
-	}
-	WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
-	WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
-	if (rdev->num_crtc >= 4) {
-		WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC2_REGISTER_OFFSET, 0);
-		WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC3_REGISTER_OFFSET, 0);
-	}
-	if (rdev->num_crtc >= 6) {
-		WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC4_REGISTER_OFFSET, 0);
-		WREG32(EVERGREEN_CRTC_CONTROL + EVERGREEN_CRTC5_REGISTER_OFFSET, 0);
-	}
-	WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC0_REGISTER_OFFSET, 0);
-	WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC1_REGISTER_OFFSET, 0);
-	if (rdev->num_crtc >= 4) {
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC2_REGISTER_OFFSET, 0);
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC3_REGISTER_OFFSET, 0);
-	}
-	if (rdev->num_crtc >= 6) {
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC4_REGISTER_OFFSET, 0);
-		WREG32(EVERGREEN_CRTC_UPDATE_LOCK + EVERGREEN_CRTC5_REGISTER_OFFSET, 0);
-	}
-
-	WREG32(D1VGA_CONTROL, 0);
-	WREG32(D2VGA_CONTROL, 0);
-	if (rdev->num_crtc >= 4) {
-		WREG32(EVERGREEN_D3VGA_CONTROL, 0);
-		WREG32(EVERGREEN_D4VGA_CONTROL, 0);
-	}
-	if (rdev->num_crtc >= 6) {
-		WREG32(EVERGREEN_D5VGA_CONTROL, 0);
-		WREG32(EVERGREEN_D6VGA_CONTROL, 0);
+	/* blank the display controllers */
+	for (i = 0; i < rdev->num_crtc; i++) {
+		crtc_enabled = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]) & EVERGREEN_CRTC_MASTER_EN;
+		if (crtc_enabled) {
+			save->crtc_enabled[i] = true;
+			if (ASIC_IS_DCE6(rdev)) {
+				tmp = RREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i]);
+				if (!(tmp & EVERGREEN_CRTC_BLANK_DATA_EN)) {
+					radeon_wait_for_vblank(rdev, i);
+					tmp |= EVERGREEN_CRTC_BLANK_DATA_EN;
+					WREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i], tmp);
+				}
+			} else {
+				tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]);
+				if (!(tmp & EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE)) {
+					radeon_wait_for_vblank(rdev, i);
+					tmp |= EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE;
+					WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp);
+				}
+			}
+			/* wait for the next frame */
+			frame_count = radeon_get_vblank_counter(rdev, i);
+			for (j = 0; j < rdev->usec_timeout; j++) {
+				if (radeon_get_vblank_counter(rdev, i) != frame_count)
+					break;
+				udelay(1);
+			}
+		}
+	}
+
+	radeon_mc_wait_for_idle(rdev);
+
+	blackout = RREG32(MC_SHARED_BLACKOUT_CNTL);
+	if ((blackout & BLACKOUT_MODE_MASK) != 1) {
+		/* Block CPU access */
+		WREG32(BIF_FB_EN, 0);
+		/* blackout the MC */
+		blackout &= ~BLACKOUT_MODE_MASK;
+		WREG32(MC_SHARED_BLACKOUT_CNTL, blackout | 1);
 	}
 }
 
 void evergreen_mc_resume(struct radeon_device *rdev, struct evergreen_mc_save *save)
 {
-	WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC0_REGISTER_OFFSET,
-	       upper_32_bits(rdev->mc.vram_start));
-	WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC0_REGISTER_OFFSET,
-	       upper_32_bits(rdev->mc.vram_start));
-	WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC0_REGISTER_OFFSET,
-	       (u32)rdev->mc.vram_start);
-	WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC0_REGISTER_OFFSET,
-	       (u32)rdev->mc.vram_start);
-
-	WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC1_REGISTER_OFFSET,
-	       upper_32_bits(rdev->mc.vram_start));
-	WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC1_REGISTER_OFFSET,
-	       upper_32_bits(rdev->mc.vram_start));
-	WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC1_REGISTER_OFFSET,
-	       (u32)rdev->mc.vram_start);
-	WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC1_REGISTER_OFFSET,
-	       (u32)rdev->mc.vram_start);
-
-	if (rdev->num_crtc >= 4) {
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC2_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC2_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC2_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC2_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
+	u32 tmp, frame_count;
+	int i, j;
 
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC3_REGISTER_OFFSET,
+	/* update crtc base addresses */
+	for (i = 0; i < rdev->num_crtc; i++) {
+		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + crtc_offsets[i],
 		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC3_REGISTER_OFFSET,
+		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + crtc_offsets[i],
 		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC3_REGISTER_OFFSET,
+		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + crtc_offsets[i],
 		       (u32)rdev->mc.vram_start);
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC3_REGISTER_OFFSET,
+		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + crtc_offsets[i],
 		       (u32)rdev->mc.vram_start);
 	}
-	if (rdev->num_crtc >= 6) {
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC4_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC4_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC4_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC4_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
-
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS_HIGH + EVERGREEN_CRTC5_REGISTER_OFFSET,
-		       upper_32_bits(rdev->mc.vram_start));
-		WREG32(EVERGREEN_GRPH_PRIMARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
-		WREG32(EVERGREEN_GRPH_SECONDARY_SURFACE_ADDRESS + EVERGREEN_CRTC5_REGISTER_OFFSET,
-		       (u32)rdev->mc.vram_start);
-	}
-
 	WREG32(EVERGREEN_VGA_MEMORY_BASE_ADDRESS_HIGH, upper_32_bits(rdev->mc.vram_start));
 	WREG32(EVERGREEN_VGA_MEMORY_BASE_ADDRESS, (u32)rdev->mc.vram_start);
-	/* Unlock host access */
+
+	/* unblackout the MC */
+	tmp = RREG32(MC_SHARED_BLACKOUT_CNTL);
+	tmp &= ~BLACKOUT_MODE_MASK;
+	WREG32(MC_SHARED_BLACKOUT_CNTL, tmp);
+	/* allow CPU access */
+	WREG32(BIF_FB_EN, FB_READ_EN | FB_WRITE_EN);
+
+	for (i = 0; i < rdev->num_crtc; i++) {
+		if (save->crtc_enabled) {
+			if (ASIC_IS_DCE6(rdev)) {
+				tmp = RREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i]);
+				tmp |= EVERGREEN_CRTC_BLANK_DATA_EN;
+				WREG32(EVERGREEN_CRTC_BLANK_CONTROL + crtc_offsets[i], tmp);
+			} else {
+				tmp = RREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i]);
+				tmp &= ~EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE;
+				WREG32(EVERGREEN_CRTC_CONTROL + crtc_offsets[i], tmp);
+			}
+			/* wait for the next frame */
+			frame_count = radeon_get_vblank_counter(rdev, i);
+			for (j = 0; j < rdev->usec_timeout; j++) {
+				if (radeon_get_vblank_counter(rdev, i) != frame_count)
+					break;
+				udelay(1);
+			}
+		}
+	}
+	/* Unlock vga access */
 	WREG32(VGA_HDP_CONTROL, save->vga_hdp_control);
 	mdelay(1);
 	WREG32(VGA_RENDER_CONTROL, save->vga_render_control);
--- a/drivers/gpu/drm/radeon/evergreen_reg.h
+++ b/drivers/gpu/drm/radeon/evergreen_reg.h
@@ -218,6 +218,8 @@
 #define EVERGREEN_CRTC_CONTROL                          0x6e70
 #       define EVERGREEN_CRTC_MASTER_EN                 (1 << 0)
 #       define EVERGREEN_CRTC_DISP_READ_REQUEST_DISABLE (1 << 24)
+#define EVERGREEN_CRTC_BLANK_CONTROL                    0x6e74
+#       define EVERGREEN_CRTC_BLANK_DATA_EN             (1 << 8)
 #define EVERGREEN_CRTC_STATUS                           0x6e8c
 #       define EVERGREEN_CRTC_V_BLANK                   (1 << 0)
 #define EVERGREEN_CRTC_STATUS_POSITION                  0x6e90
--- a/drivers/gpu/drm/radeon/evergreend.h
+++ b/drivers/gpu/drm/radeon/evergreend.h
@@ -87,6 +87,10 @@
 
 #define	CONFIG_MEMSIZE					0x5428
 
+#define	BIF_FB_EN						0x5490
+#define		FB_READ_EN					(1 << 0)
+#define		FB_WRITE_EN					(1 << 1)
+
 #define	CP_STRMOUT_CNTL					0x84FC
 
 #define	CP_COHER_CNTL					0x85F0
@@ -434,6 +438,9 @@
 #define		NOOFCHAN_MASK					0x00003000
 #define MC_SHARED_CHREMAP					0x2008
 
+#define MC_SHARED_BLACKOUT_CNTL           		0x20ac
+#define		BLACKOUT_MODE_MASK			0x00000007
+
 #define	MC_ARB_RAMCFG					0x2760
 #define		NOOFBANK_SHIFT					0
 #define		NOOFBANK_MASK					0x00000003
--- a/drivers/gpu/drm/radeon/radeon_asic.h
+++ b/drivers/gpu/drm/radeon/radeon_asic.h
@@ -389,6 +389,7 @@ void r700_cp_fini(struct radeon_device *
 struct evergreen_mc_save {
 	u32 vga_render_control;
 	u32 vga_hdp_control;
+	bool crtc_enabled[RADEON_MAX_CRTCS];
 };
 
 void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev);



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

* [ 05/27] drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop()
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (3 preceding siblings ...)
  2012-12-07  0:58 ` [ 04/27] drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 06/27] mm/vmemmap: fix wrong use of virt_to_page Greg Kroah-Hartman
                   ` (24 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Alex Deucher

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Alex Deucher <alexander.deucher@amd.com>

commit 804cc4a0ad3a896ca295f771a28c6eb36ced7903 upstream.

The save struct is not initialized previously so explicitly
mark the crtcs as not used when they are not in use.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -1276,6 +1276,8 @@ void evergreen_mc_stop(struct radeon_dev
 					break;
 				udelay(1);
 			}
+		} else {
+			save->crtc_enabled[i] = false;
 		}
 	}
 



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

* [ 06/27] mm/vmemmap: fix wrong use of virt_to_page
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (4 preceding siblings ...)
  2012-12-07  0:58 ` [ 05/27] drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 07/27] mm: vmscan: fix endless loop in kswapd balancing Greg Kroah-Hartman
                   ` (23 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Jianguo Wu, Jiang Liu, Johannes Weiner,
	Yasuaki Ishimatsu, Michal Hocko, Andrew Morton, Linus Torvalds

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Jianguo Wu <wujianguo@huawei.com>

commit ae64ffcac35de0db628ba9631edf8ff34c5cd7ac upstream.

I enable CONFIG_DEBUG_VIRTUAL and CONFIG_SPARSEMEM_VMEMMAP, when doing
memory hotremove, there is a kernel BUG at arch/x86/mm/physaddr.c:20.

It is caused by free_section_usemap()->virt_to_page(), virt_to_page() is
only used for kernel direct mapping address, but sparse-vmemmap uses
vmemmap address, so it is going wrong here.

  ------------[ cut here ]------------
  kernel BUG at arch/x86/mm/physaddr.c:20!
  invalid opcode: 0000 [#1] SMP
  Modules linked in: acpihp_drv acpihp_slot edd cpufreq_conservative cpufreq_userspace cpufreq_powersave acpi_cpufreq mperf fuse vfat fat loop dm_mod coretemp kvm crc32c_intel ipv6 ixgbe igb iTCO_wdt i7core_edac edac_core pcspkr iTCO_vendor_support ioatdma microcode joydev sr_mod i2c_i801 dca lpc_ich mfd_core mdio tpm_tis i2c_core hid_generic tpm cdrom sg tpm_bios rtc_cmos button ext3 jbd mbcache usbhid hid uhci_hcd ehci_hcd usbcore usb_common sd_mod crc_t10dif processor thermal_sys hwmon scsi_dh_alua scsi_dh_hp_sw scsi_dh_rdac scsi_dh_emc scsi_dh ata_generic ata_piix libata megaraid_sas scsi_mod
  CPU 39
  Pid: 6454, comm: sh Not tainted 3.7.0-rc1-acpihp-final+ #45 QCI QSSC-S4R/QSSC-S4R
  RIP: 0010:[<ffffffff8103c908>]  [<ffffffff8103c908>] __phys_addr+0x88/0x90
  RSP: 0018:ffff8804440d7c08  EFLAGS: 00010006
  RAX: 0000000000000006 RBX: ffffea0012000000 RCX: 000000000000002c
  ...

Signed-off-by: Jianguo Wu <wujianguo@huawei.com>
Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Reviewd-by: Wen Congyang <wency@cn.fujitsu.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Reviewed-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
Reviewed-by: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/sparse.c |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

--- a/mm/sparse.c
+++ b/mm/sparse.c
@@ -617,7 +617,7 @@ static void __kfree_section_memmap(struc
 {
 	return; /* XXX: Not implemented yet */
 }
-static void free_map_bootmem(struct page *page, unsigned long nr_pages)
+static void free_map_bootmem(struct page *memmap, unsigned long nr_pages)
 {
 }
 #else
@@ -658,10 +658,11 @@ static void __kfree_section_memmap(struc
 			   get_order(sizeof(struct page) * nr_pages));
 }
 
-static void free_map_bootmem(struct page *page, unsigned long nr_pages)
+static void free_map_bootmem(struct page *memmap, unsigned long nr_pages)
 {
 	unsigned long maps_section_nr, removing_section_nr, i;
 	unsigned long magic;
+	struct page *page = virt_to_page(memmap);
 
 	for (i = 0; i < nr_pages; i++, page++) {
 		magic = (unsigned long) page->lru.next;
@@ -710,13 +711,10 @@ static void free_section_usemap(struct p
 	 */
 
 	if (memmap) {
-		struct page *memmap_page;
-		memmap_page = virt_to_page(memmap);
-
 		nr_pages = PAGE_ALIGN(PAGES_PER_SECTION * sizeof(struct page))
 			>> PAGE_SHIFT;
 
-		free_map_bootmem(memmap_page, nr_pages);
+		free_map_bootmem(memmap, nr_pages);
 	}
 }
 



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

* [ 07/27] mm: vmscan: fix endless loop in kswapd balancing
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (5 preceding siblings ...)
  2012-12-07  0:58 ` [ 06/27] mm/vmemmap: fix wrong use of virt_to_page Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 08/27] mm: soft offline: split thp at the beginning of soft_offline_page() Greg Kroah-Hartman
                   ` (22 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Johannes Weiner, George Spelvin,
	Johannes Hirte, Tomas Racek, Rik van Riel, Mel Gorman,
	Andrew Morton, Linus Torvalds

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Johannes Weiner <hannes@cmpxchg.org>

commit 60cefed485a02bd99b6299dad70666fe49245da7 upstream.

Kswapd does not in all places have the same criteria for a balanced
zone.  Zones are only being reclaimed when their high watermark is
breached, but compaction checks loop over the zonelist again when the
zone does not meet the low watermark plus two times the size of the
allocation.  This gets kswapd stuck in an endless loop over a small
zone, like the DMA zone, where the high watermark is smaller than the
compaction requirement.

Add a function, zone_balanced(), that checks the watermark, and, for
higher order allocations, if compaction has enough free memory.  Then
use it uniformly to check for balanced zones.

This makes sure that when the compaction watermark is not met, at least
reclaim happens and progress is made - or the zone is declared
unreclaimable at some point and skipped entirely.

Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Reported-by: George Spelvin <linux@horizon.com>
Reported-by: Johannes Hirte <johannes.hirte@fem.tu-ilmenau.de>
Reported-by: Tomas Racek <tracek@redhat.com>
Tested-by: Johannes Hirte <johannes.hirte@fem.tu-ilmenau.de>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/vmscan.c |   27 ++++++++++++++++++---------
 1 file changed, 18 insertions(+), 9 deletions(-)

--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2383,6 +2383,19 @@ static void age_active_anon(struct zone
 	} while (memcg);
 }
 
+static bool zone_balanced(struct zone *zone, int order,
+			  unsigned long balance_gap, int classzone_idx)
+{
+	if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone) +
+				    balance_gap, classzone_idx, 0))
+		return false;
+
+	if (COMPACTION_BUILD && order && !compaction_suitable(zone, order))
+		return false;
+
+	return true;
+}
+
 /*
  * pgdat_balanced is used when checking if a node is balanced for high-order
  * allocations. Only zones that meet watermarks and are in a zone allowed
@@ -2461,8 +2474,7 @@ static bool prepare_kswapd_sleep(pg_data
 			continue;
 		}
 
-		if (!zone_watermark_ok_safe(zone, order, high_wmark_pages(zone),
-							i, 0))
+		if (!zone_balanced(zone, order, 0, i))
 			all_zones_ok = false;
 		else
 			balanced += zone->present_pages;
@@ -2571,8 +2583,7 @@ loop_again:
 				break;
 			}
 
-			if (!zone_watermark_ok_safe(zone, order,
-					high_wmark_pages(zone), 0, 0)) {
+			if (!zone_balanced(zone, order, 0, 0)) {
 				end_zone = i;
 				break;
 			} else {
@@ -2648,9 +2659,8 @@ loop_again:
 				testorder = 0;
 
 			if ((buffer_heads_over_limit && is_highmem_idx(i)) ||
-				    !zone_watermark_ok_safe(zone, testorder,
-					high_wmark_pages(zone) + balance_gap,
-					end_zone, 0)) {
+			    !zone_balanced(zone, testorder,
+					   balance_gap, end_zone)) {
 				shrink_zone(zone, &sc);
 
 				reclaim_state->reclaimed_slab = 0;
@@ -2677,8 +2687,7 @@ loop_again:
 				continue;
 			}
 
-			if (!zone_watermark_ok_safe(zone, testorder,
-					high_wmark_pages(zone), end_zone, 0)) {
+			if (!zone_balanced(zone, testorder, 0, end_zone)) {
 				all_zones_ok = 0;
 				/*
 				 * We are still under min water mark.  This



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

* [ 08/27] mm: soft offline: split thp at the beginning of soft_offline_page()
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (6 preceding siblings ...)
  2012-12-07  0:58 ` [ 07/27] mm: vmscan: fix endless loop in kswapd balancing Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 09/27] target: Fix handling of aborted commands Greg Kroah-Hartman
                   ` (21 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Naoya Horiguchi, Andi Kleen, Tony Luck,
	Andi Kleen, Wu Fengguang, Andrew Morton, Linus Torvalds

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>

commit 783657a7dc20e5c0efbc9a09a9dd38e238a723da upstream.

When we try to soft-offline a thp tail page, put_page() is called on the
tail page unthinkingly and VM_BUG_ON is triggered in put_compound_page().

This patch splits thp before going into the main body of soft-offlining.

Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Andi Kleen <andi.kleen@intel.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 mm/memory-failure.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1474,9 +1474,17 @@ int soft_offline_page(struct page *page,
 {
 	int ret;
 	unsigned long pfn = page_to_pfn(page);
+	struct page *hpage = compound_trans_head(page);
 
 	if (PageHuge(page))
 		return soft_offline_huge_page(page, flags);
+	if (PageTransHuge(hpage)) {
+		if (PageAnon(hpage) && unlikely(split_huge_page(hpage))) {
+			pr_info("soft offline: %#lx: failed to split THP\n",
+				pfn);
+			return -EBUSY;
+		}
+	}
 
 	ret = get_any_page(page, pfn, flags);
 	if (ret < 0)



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

* [ 09/27] target: Fix handling of aborted commands
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (7 preceding siblings ...)
  2012-12-07  0:58 ` [ 08/27] mm: soft offline: split thp at the beginning of soft_offline_page() Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 10/27] iwlwifi: fix the basic CCK rates calculation Greg Kroah-Hartman
                   ` (20 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Roland Dreier, Nicholas Bellinger

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Roland Dreier <roland@purestorage.com>

commit 3ea160b3e8f0de8161861995d9901f61192fc0b0 upstream.

- If we stop processing an already-aborted command in
  target_execute_cmd(), then we need to complete t_transport_stop_comp
  to wake up the the TMR handling thread, or else it will end up
  waiting forever.

- If we've a already sent an "aborted" status for a command in
  transport_check_aborted_status() then we should bail out of
  transport_send_task_abort() to avoid freeing the command twice.

Signed-off-by: Roland Dreier <roland@purestorage.com>
Signed-off-by: Nicholas Bellinger <nab@risingtidesystems.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/target/target_core_transport.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

--- a/drivers/target/target_core_transport.c
+++ b/drivers/target/target_core_transport.c
@@ -1756,8 +1756,10 @@ void target_execute_cmd(struct se_cmd *c
 	/*
 	 * If the received CDB has aleady been aborted stop processing it here.
 	 */
-	if (transport_check_aborted_status(cmd, 1))
+	if (transport_check_aborted_status(cmd, 1)) {
+		complete(&cmd->t_transport_stop_comp);
 		return;
+	}
 
 	/*
 	 * Determine if IOCTL context caller in requesting the stopping of this
@@ -3029,7 +3031,7 @@ void transport_send_task_abort(struct se
 	unsigned long flags;
 
 	spin_lock_irqsave(&cmd->t_state_lock, flags);
-	if (cmd->se_cmd_flags & SCF_SENT_CHECK_CONDITION) {
+	if (cmd->se_cmd_flags & (SCF_SENT_CHECK_CONDITION | SCF_SENT_DELAYED_TAS)) {
 		spin_unlock_irqrestore(&cmd->t_state_lock, flags);
 		return;
 	}



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

* [ 10/27] iwlwifi: fix the basic CCK rates calculation
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (8 preceding siblings ...)
  2012-12-07  0:58 ` [ 09/27] target: Fix handling of aborted commands Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 11/27] ARM: Kirkwood: Update PCI-E fixup Greg Kroah-Hartman
                   ` (19 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Emmanuel Grumbach, Johannes Berg

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Emmanuel Grumbach <emmanuel.grumbach@intel.com>

commit 5edd0b946a0afeb1d0364a3654328b046fb818a2 upstream.

Fix a copy paste error in iwl_calc_basic_rates which leads
to a wrong calculation of CCK basic rates.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/wireless/iwlwifi/dvm/rxon.c |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

--- a/drivers/net/wireless/iwlwifi/dvm/rxon.c
+++ b/drivers/net/wireless/iwlwifi/dvm/rxon.c
@@ -1012,12 +1012,12 @@ static void iwl_calc_basic_rates(struct
 	 * As a consequence, it's not as complicated as it sounds, just add
 	 * any lower rates to the ACK rate bitmap.
 	 */
-	if (IWL_RATE_11M_INDEX < lowest_present_ofdm)
-		ofdm |= IWL_RATE_11M_MASK >> IWL_FIRST_CCK_RATE;
-	if (IWL_RATE_5M_INDEX < lowest_present_ofdm)
-		ofdm |= IWL_RATE_5M_MASK >> IWL_FIRST_CCK_RATE;
-	if (IWL_RATE_2M_INDEX < lowest_present_ofdm)
-		ofdm |= IWL_RATE_2M_MASK >> IWL_FIRST_CCK_RATE;
+	if (IWL_RATE_11M_INDEX < lowest_present_cck)
+		cck |= IWL_RATE_11M_MASK >> IWL_FIRST_CCK_RATE;
+	if (IWL_RATE_5M_INDEX < lowest_present_cck)
+		cck |= IWL_RATE_5M_MASK >> IWL_FIRST_CCK_RATE;
+	if (IWL_RATE_2M_INDEX < lowest_present_cck)
+		cck |= IWL_RATE_2M_MASK >> IWL_FIRST_CCK_RATE;
 	/* 1M already there or needed so always add */
 	cck |= IWL_RATE_1M_MASK >> IWL_FIRST_CCK_RATE;
 



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

* [ 11/27] ARM: Kirkwood: Update PCI-E fixup
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (9 preceding siblings ...)
  2012-12-07  0:58 ` [ 10/27] iwlwifi: fix the basic CCK rates calculation Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 12/27] x86, fpu: Avoid FPU lazy restore after suspend Greg Kroah-Hartman
                   ` (18 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Jason Gunthorpe, Jason Cooper

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>

commit 1dc831bf53fddcc6443f74a39e72db5bcea4f15d upstream.

- The code relies on rc_pci_fixup being called, which only happens
  when CONFIG_PCI_QUIRKS is enabled, so add that to Kconfig. Omitting
  this causes a booting failure with a non-obvious cause.
- Update rc_pci_fixup to set the class properly, copying the
  more modern style from other places
- Correct the rc_pci_fixup comment

Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Signed-off-by: Jason Cooper <jason@lakedaemon.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/arm/Kconfig              |    1 +
 arch/arm/mach-kirkwood/pcie.c |   11 ++++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -585,6 +585,7 @@ config ARCH_KIRKWOOD
 	bool "Marvell Kirkwood"
 	select CPU_FEROCEON
 	select PCI
+	select PCI_QUIRKS
 	select ARCH_REQUIRE_GPIOLIB
 	select GENERIC_CLOCKEVENTS
 	select NEED_MACH_IO_H
--- a/arch/arm/mach-kirkwood/pcie.c
+++ b/arch/arm/mach-kirkwood/pcie.c
@@ -225,14 +225,19 @@ static int __init kirkwood_pcie_setup(in
 	return 1;
 }
 
+/*
+ * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it
+ * is operating as a root complex this needs to be switched to
+ * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on
+ * the device. Decoding setup is handled by the orion code.
+ */
 static void __devinit rc_pci_fixup(struct pci_dev *dev)
 {
-	/*
-	 * Prevent enumeration of root complex.
-	 */
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
 		int i;
 
+		dev->class &= 0xff;
+		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
 		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
 			dev->resource[i].start = 0;
 			dev->resource[i].end   = 0;



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

* [ 12/27] x86, fpu: Avoid FPU lazy restore after suspend
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (10 preceding siblings ...)
  2012-12-07  0:58 ` [ 11/27] ARM: Kirkwood: Update PCI-E fixup Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 13/27] workqueue: exit rescuer_thread() as TASK_RUNNING Greg Kroah-Hartman
                   ` (17 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Vincent Palatin, Duncan Laurie,
	Olof Johansson, H. Peter Anvin

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Vincent Palatin <vpalatin@chromium.org>

commit 644c154186386bb1fa6446bc5e037b9ed098db46 upstream.

When a cpu enters S3 state, the FPU state is lost.
After resuming for S3, if we try to lazy restore the FPU for a process running
on the same CPU, this will result in a corrupted FPU context.

Ensure that "fpu_owner_task" is properly invalided when (re-)initializing a CPU,
so nobody will try to lazy restore a state which doesn't exist in the hardware.

Tested with a 64-bit kernel on a 4-core Ivybridge CPU with eagerfpu=off,
by doing thousands of suspend/resume cycles with 4 processes doing FPU
operations running. Without the patch, a process is killed after a
few hundreds cycles by a SIGFPE.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Cc: Duncan Laurie <dlaurie@chromium.org>
Cc: Olof Johansson <olofj@chromium.org>
Link: http://lkml.kernel.org/r/1354306532-1014-1-git-send-email-vpalatin@chromium.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/include/asm/fpu-internal.h |   15 +++++++++------
 arch/x86/kernel/smpboot.c           |    5 +++++
 2 files changed, 14 insertions(+), 6 deletions(-)

--- a/arch/x86/include/asm/fpu-internal.h
+++ b/arch/x86/include/asm/fpu-internal.h
@@ -334,14 +334,17 @@ static inline void __thread_fpu_begin(st
 typedef struct { int preload; } fpu_switch_t;
 
 /*
- * FIXME! We could do a totally lazy restore, but we need to
- * add a per-cpu "this was the task that last touched the FPU
- * on this CPU" variable, and the task needs to have a "I last
- * touched the FPU on this CPU" and check them.
+ * Must be run with preemption disabled: this clears the fpu_owner_task,
+ * on this CPU.
  *
- * We don't do that yet, so "fpu_lazy_restore()" always returns
- * false, but some day..
+ * This will disable any lazy FPU state restore of the current FPU state,
+ * but if the current thread owns the FPU, it will still be saved by.
  */
+static inline void __cpu_disable_lazy_restore(unsigned int cpu)
+{
+	per_cpu(fpu_owner_task, cpu) = NULL;
+}
+
 static inline int fpu_lazy_restore(struct task_struct *new, unsigned int cpu)
 {
 	return new == this_cpu_read_stable(fpu_owner_task) &&
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -68,6 +68,8 @@
 #include <asm/mwait.h>
 #include <asm/apic.h>
 #include <asm/io_apic.h>
+#include <asm/i387.h>
+#include <asm/fpu-internal.h>
 #include <asm/setup.h>
 #include <asm/uv/uv.h>
 #include <linux/mc146818rtc.h>
@@ -817,6 +819,9 @@ int __cpuinit native_cpu_up(unsigned int
 
 	per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;
 
+	/* the FPU context is blank, nobody can own it */
+	__cpu_disable_lazy_restore(cpu);
+
 	err = do_boot_cpu(apicid, cpu, tidle);
 	if (err) {
 		pr_debug("do_boot_cpu failed %d\n", err);



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

* [ 13/27] workqueue: exit rescuer_thread() as TASK_RUNNING
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (11 preceding siblings ...)
  2012-12-07  0:58 ` [ 12/27] x86, fpu: Avoid FPU lazy restore after suspend Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 14/27] mac80211: fix remain-on-channel (non-)cancelling Greg Kroah-Hartman
                   ` (16 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Mike Galbraith, Tejun Heo

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Mike Galbraith <mgalbraith@suse.de>

commit 412d32e6c98527078779e5b515823b2810e40324 upstream.

A rescue thread exiting TASK_INTERRUPTIBLE can lead to a task scheduling
off, never to be seen again.  In the case where this occurred, an exiting
thread hit reiserfs homebrew conditional resched while holding a mutex,
bringing the box to its knees.

PID: 18105  TASK: ffff8807fd412180  CPU: 5   COMMAND: "kdmflush"
 #0 [ffff8808157e7670] schedule at ffffffff8143f489
 #1 [ffff8808157e77b8] reiserfs_get_block at ffffffffa038ab2d [reiserfs]
 #2 [ffff8808157e79a8] __block_write_begin at ffffffff8117fb14
 #3 [ffff8808157e7a98] reiserfs_write_begin at ffffffffa0388695 [reiserfs]
 #4 [ffff8808157e7ad8] generic_perform_write at ffffffff810ee9e2
 #5 [ffff8808157e7b58] generic_file_buffered_write at ffffffff810eeb41
 #6 [ffff8808157e7ba8] __generic_file_aio_write at ffffffff810f1a3a
 #7 [ffff8808157e7c58] generic_file_aio_write at ffffffff810f1c88
 #8 [ffff8808157e7cc8] do_sync_write at ffffffff8114f850
 #9 [ffff8808157e7dd8] do_acct_process at ffffffff810a268f
    [exception RIP: kernel_thread_helper]
    RIP: ffffffff8144a5c0  RSP: ffff8808157e7f58  RFLAGS: 00000202
    RAX: 0000000000000000  RBX: 0000000000000000  RCX: 0000000000000000
    RDX: 0000000000000000  RSI: ffffffff8107af60  RDI: ffff8803ee491d18
    RBP: 0000000000000000   R8: 0000000000000000   R9: 0000000000000000
    R10: 0000000000000000  R11: 0000000000000000  R12: 0000000000000000
    R13: 0000000000000000  R14: 0000000000000000  R15: 0000000000000000
    ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018

Signed-off-by: Mike Galbraith <mgalbraith@suse.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -2266,8 +2266,10 @@ static int rescuer_thread(void *__wq)
 repeat:
 	set_current_state(TASK_INTERRUPTIBLE);
 
-	if (kthread_should_stop())
+	if (kthread_should_stop()) {
+		__set_current_state(TASK_RUNNING);
 		return 0;
+	}
 
 	/*
 	 * See whether any cpu is asking for help.  Unbounded



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

* [ 14/27] mac80211: fix remain-on-channel (non-)cancelling
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (12 preceding siblings ...)
  2012-12-07  0:58 ` [ 13/27] workqueue: exit rescuer_thread() as TASK_RUNNING Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:58 ` [ 15/27] md/raid1{,0}: fix deadlock in bitmap_unplug Greg Kroah-Hartman
                   ` (15 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Felix Liao, Johannes Berg, John W. Linville

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Johannes Berg <johannes.berg@intel.com>

commit 6bdd253f635f7b2ef027d116933a6c9ec148b87f upstream.

Felix Liao reported that when an interface is set DOWN
while another interface is executing a ROC, the warning
in ieee80211_start_next_roc() (about the first item on
the list having started already) triggers.

This is because ieee80211_roc_purge() calls it even if
it never actually changed the list of ROC items. To fix
this, simply remove the function call. If it is needed
then it will be done by the ieee80211_sw_roc_work()
function when the ROC item that is being removed while
active is cleaned up.

Reported-by: Felix Liao <Felix.Liao@watchguard.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 net/mac80211/offchannel.c |    2 --
 1 file changed, 2 deletions(-)

--- a/net/mac80211/offchannel.c
+++ b/net/mac80211/offchannel.c
@@ -453,8 +453,6 @@ void ieee80211_roc_purge(struct ieee8021
 		list_move_tail(&roc->list, &tmp_list);
 		roc->abort = true;
 	}
-
-	ieee80211_start_next_roc(local);
 	mutex_unlock(&local->mtx);
 
 	list_for_each_entry_safe(roc, tmp, &tmp_list, list) {



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

* [ 15/27] md/raid1{,0}: fix deadlock in bitmap_unplug.
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (13 preceding siblings ...)
  2012-12-07  0:58 ` [ 14/27] mac80211: fix remain-on-channel (non-)cancelling Greg Kroah-Hartman
@ 2012-12-07  0:58 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 16/27] i7300_edac: Fix error flag testing Greg Kroah-Hartman
                   ` (14 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:58 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Torsten Kaiser, Peter Maloney, NeilBrown

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: NeilBrown <neilb@suse.de>

commit 874807a83139abc094f939e93623c5623573d543 upstream.

If the raid1 or raid10 unplug function gets called
from a make_request function (which is very possible) when
there are bios on the current->bio_list list, then it will not
be able to successfully call bitmap_unplug() and it could
need to submit more bios and wait for them to complete.
But they won't complete while current->bio_list is non-empty.

So detect that case and handle the unplugging off to another thread
just like we already do when called from within the scheduler.

RAID1 version of bug was introduced in 3.6, so that part of fix is
suitable for 3.6.y.  RAID10 part won't apply.

Reported-by: Torsten Kaiser <just.for.lkml@googlemail.com>
Reported-by: Peter Maloney <peter.maloney@brockmann-consult.de>
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

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

--- a/drivers/md/raid1.c
+++ b/drivers/md/raid1.c
@@ -958,7 +958,7 @@ static void raid1_unplug(struct blk_plug
 	struct r1conf *conf = mddev->private;
 	struct bio *bio;
 
-	if (from_schedule) {
+	if (from_schedule || current->bio_list) {
 		spin_lock_irq(&conf->device_lock);
 		bio_list_merge(&conf->pending_bio_list, &plug->pending);
 		conf->pending_count += plug->pending_cnt;



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

* [ 16/27] i7300_edac: Fix error flag testing
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (14 preceding siblings ...)
  2012-12-07  0:58 ` [ 15/27] md/raid1{,0}: fix deadlock in bitmap_unplug Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled" Greg Kroah-Hartman
                   ` (13 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Jean Delvare, Mauro Carvalho Chehab,
	Doug Thompson

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Jean Delvare <jdelvare@suse.de>

commit 7e06b7a3333f5c7a0cec12aff20d39c5c87c0795 upstream.

* Right-shift the values in GET_FBD_FAT_IDX and GET_FBD_NF_IDX, so
  that the callers get the result they expect.
* Fix definition of FERR_FAT_FBD_ERR_MASK.
* Call GET_FBD_NF_IDX, not GET_FBD_FAT_IDX, when operating on
  register FERR_NF_FBD. We were lucky they have the same definition.

This fixes kernel bug #44131:
https://bugzilla.kernel.org/show_bug.cgi?id=44131

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Mauro Carvalho Chehab <mchehab@redhat.com>
Acked-by: Doug Thompson <dougthompson@xmission.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/edac/i7300_edac.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

--- a/drivers/edac/i7300_edac.c
+++ b/drivers/edac/i7300_edac.c
@@ -197,8 +197,8 @@ static const char *ferr_fat_fbd_name[] =
 	[0]  = "Memory Write error on non-redundant retry or "
 	       "FBD configuration Write error on retry",
 };
-#define GET_FBD_FAT_IDX(fbderr)	(fbderr & (3 << 28))
-#define FERR_FAT_FBD_ERR_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 3))
+#define GET_FBD_FAT_IDX(fbderr)	(((fbderr) >> 28) & 3)
+#define FERR_FAT_FBD_ERR_MASK ((1 << 0) | (1 << 1) | (1 << 2) | (1 << 22))
 
 #define FERR_NF_FBD	0xa0
 static const char *ferr_nf_fbd_name[] = {
@@ -225,7 +225,7 @@ static const char *ferr_nf_fbd_name[] =
 	[1]  = "Aliased Uncorrectable Non-Mirrored Demand Data ECC",
 	[0]  = "Uncorrectable Data ECC on Replay",
 };
-#define GET_FBD_NF_IDX(fbderr)	(fbderr & (3 << 28))
+#define GET_FBD_NF_IDX(fbderr)	(((fbderr) >> 28) & 3)
 #define FERR_NF_FBD_ERR_MASK ((1 << 24) | (1 << 23) | (1 << 22) | (1 << 21) |\
 			      (1 << 18) | (1 << 17) | (1 << 16) | (1 << 15) |\
 			      (1 << 14) | (1 << 13) | (1 << 11) | (1 << 10) |\
@@ -464,7 +464,7 @@ static void i7300_process_fbd_error(stru
 		errnum = find_first_bit(&errors,
 					ARRAY_SIZE(ferr_nf_fbd_name));
 		specific = GET_ERR_FROM_TABLE(ferr_nf_fbd_name, errnum);
-		branch = (GET_FBD_FAT_IDX(error_reg) == 2) ? 1 : 0;
+		branch = (GET_FBD_NF_IDX(error_reg) == 2) ? 1 : 0;
 
 		pci_read_config_dword(pvt->pci_dev_16_1_fsb_addr_map,
 			REDMEMA, &syndrome);



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

* [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (15 preceding siblings ...)
  2012-12-07  0:59 ` [ 16/27] i7300_edac: Fix error flag testing Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07 17:22   ` Joseph Salisbury
  2012-12-07  0:59 ` [ 18/27] bnx2x: remove redundant warning log Greg Kroah-Hartman
                   ` (12 subsequent siblings)
  29 siblings, 1 reply; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Mike Galbraith, Ingo Molnar,
	Yong Zhang, Peter Zijlstra, Linus Torvalds

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Mike Galbraith <efault@gmx.de>

commit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.

This reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.

Between commits 8323f26ce342 ("sched: Fix race in task_group()") and
800d4d30c8f2 ("sched, autogroup: Stop going ahead if autogroup is
disabled"), autogroup is a wreck.

With both applied, all you have to do to crash a box is disable
autogroup during boot up, then reboot..  boom, NULL pointer dereference
due to commit 800d4d30c8f2 not allowing autogroup to move things, and
commit 8323f26ce342 making that the only way to switch runqueues:

  BUG: unable to handle kernel NULL pointer dereference at           (null)
  IP: [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
  Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC MS-7502/MS-7502
  RIP: effective_load.isra.43+0x50/0x90
  Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, task ffff88022618b3a0)
  Call Trace:
    select_task_rq_fair+0x255/0x780
    try_to_wake_up+0x156/0x2c0
    wake_up_state+0xb/0x10
    signal_wake_up+0x28/0x40
    complete_signal+0x1d6/0x250
    __send_signal+0x170/0x310
    send_signal+0x40/0x80
    do_send_sig_info+0x47/0x90
    group_send_sig_info+0x4a/0x70
    kill_pid_info+0x3a/0x60
    sys_kill+0x97/0x1a0
    ? vfs_read+0x120/0x160
    ? sys_read+0x45/0x90
    system_call_fastpath+0x16/0x1b
  Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 <48> 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c
  RIP  [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
   RSP <ffff880221ddfbd8>
  CR2: 0000000000000000

Signed-off-by: Mike Galbraith <efault@gmx.de>
Acked-by: Ingo Molnar <mingo@kernel.org>
Cc: Yong Zhang <yong.zhang0@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 kernel/sched/auto_group.c |    4 ----
 kernel/sched/auto_group.h |    5 -----
 2 files changed, 9 deletions(-)

--- a/kernel/sched/auto_group.c
+++ b/kernel/sched/auto_group.c
@@ -143,15 +143,11 @@ autogroup_move_group(struct task_struct
 
 	p->signal->autogroup = autogroup_kref_get(ag);
 
-	if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled))
-		goto out;
-
 	t = p;
 	do {
 		sched_move_task(t);
 	} while_each_thread(p, t);
 
-out:
 	unlock_task_sighand(p, &flags);
 	autogroup_kref_put(prev);
 }
--- a/kernel/sched/auto_group.h
+++ b/kernel/sched/auto_group.h
@@ -4,11 +4,6 @@
 #include <linux/rwsem.h>
 
 struct autogroup {
-	/*
-	 * reference doesn't mean how many thread attach to this
-	 * autogroup now. It just stands for the number of task
-	 * could use this autogroup.
-	 */
 	struct kref		kref;
 	struct task_group	*tg;
 	struct rw_semaphore	lock;



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

* [ 18/27] bnx2x: remove redundant warning log
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (16 preceding siblings ...)
  2012-12-07  0:59 ` [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled" Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 19/27] i7core_edac: fix panic when accessing sysfs files Greg Kroah-Hartman
                   ` (11 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Ariel Elior, Eilon Greenstein,
	David S. Miller, CAI Qian

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Ariel Elior <ariele@broadcom.com>

commit 4a25417c20fac00b3afd58ce27408f964d19e708 upstream.

fix bug where a register which was only meant to be read in 578xx/57712
devices causes a bogus error message to be logged when read from other
devices.

Signed-off-by: Ariel Elior <ariele@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
@@ -9545,10 +9545,13 @@ static int __devinit bnx2x_prev_unload_c
  */
 static void __devinit bnx2x_prev_interrupted_dmae(struct bnx2x *bp)
 {
-	u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS);
-	if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) {
-		BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing");
-		REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR, 1 << BP_FUNC(bp));
+	if (!CHIP_IS_E1x(bp)) {
+		u32 val = REG_RD(bp, PGLUE_B_REG_PGLUE_B_INT_STS);
+		if (val & PGLUE_B_PGLUE_B_INT_STS_REG_WAS_ERROR_ATTN) {
+			BNX2X_ERR("was error bit was found to be set in pglueb upon startup. Clearing");
+			REG_WR(bp, PGLUE_B_REG_WAS_ERROR_PF_7_0_CLR,
+			       1 << BP_FUNC(bp));
+		}
 	}
 }
 



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

* [ 19/27] i7core_edac: fix panic when accessing sysfs files
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (17 preceding siblings ...)
  2012-12-07  0:59 ` [ 18/27] bnx2x: remove redundant warning log Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 20/27] s390/mm: have 16 byte aligned struct pages Greg Kroah-Hartman
                   ` (10 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Prarit Bhargava, Mauro Carvalho Chehab,
	Shuah Khan

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Prarit Bhargava <prarit@redhat.com>

commit 42709efb3a47524c6252e1bdc85e205f7bc356fb upstream.

The i7core_edac addrmatch_dev and chancounts_dev have sysfs files
associated with them.  The sysfs files, however, are coded so that the
parent device is is the mci device.  This is incorrect and the mci struct
should be obtained through the addrmatch_dev and chancounts_dev device's
private data field which is populated in i7core_create_sysfs_devices().

Signed-off-by: Prarit Bhargava <prarit@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Cc: Shuah Khan <shuah.khan@hp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/edac/i7core_edac.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- a/drivers/edac/i7core_edac.c
+++ b/drivers/edac/i7core_edac.c
@@ -816,7 +816,7 @@ static ssize_t i7core_inject_store_##par
 	struct device_attribute *mattr,				\
 	const char *data, size_t count)				\
 {								\
-	struct mem_ctl_info *mci = to_mci(dev);			\
+	struct mem_ctl_info *mci = dev_get_drvdata(dev);	\
 	struct i7core_pvt *pvt;					\
 	long value;						\
 	int rc;							\
@@ -845,7 +845,7 @@ static ssize_t i7core_inject_show_##para
 	struct device_attribute *mattr,				\
 	char *data)						\
 {								\
-	struct mem_ctl_info *mci = to_mci(dev);			\
+	struct mem_ctl_info *mci = dev_get_drvdata(dev);	\
 	struct i7core_pvt *pvt;					\
 								\
 	pvt = mci->pvt_info;					\
@@ -1052,7 +1052,7 @@ static ssize_t i7core_show_counter_##par
 	struct device_attribute *mattr,				\
 	char *data)						\
 {								\
-	struct mem_ctl_info *mci = to_mci(dev);			\
+	struct mem_ctl_info *mci = dev_get_drvdata(dev);	\
 	struct i7core_pvt *pvt = mci->pvt_info;			\
 								\
 	edac_dbg(1, "\n");					\



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

* [ 20/27] s390/mm: have 16 byte aligned struct pages
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (18 preceding siblings ...)
  2012-12-07  0:59 ` [ 19/27] i7core_edac: fix panic when accessing sysfs files Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07 10:00   ` Heiko Carstens
  2012-12-07  0:59 ` [ 21/27] net: qmi_wwan: adding more ZTE devices Greg Kroah-Hartman
                   ` (9 subsequent siblings)
  29 siblings, 1 reply; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Heiko Carstens, Martin Schwidefsky, CAI Qian

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Heiko Carstens <heiko.carstens@de.ibm.com>

commit 4bffbb3455372a26816e364fb4448810f7014452 upstream.

Select HAVE_ALIGNED_STRUCT_PAGE on s390, so that the slub allocator can make
use of compare and swap double for lockless updates. This increases the size
of struct page to 64 bytes (instead of 56 bytes), however the performance gain
justifies the increased size:

- now excactly four struct pages fit into a single cache line; the
  case that accessing a struct page causes two cache line loads
  does not exist anymore.
- calculating the offset of a struct page within the memmap array
  is only a simple shift instead of a more expensive multiplication.

A "hackbench 200 process 200" run on a 32 cpu system did show an 8% runtime
improvement.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/s390/Kconfig |    1 +
 1 file changed, 1 insertion(+)

--- a/arch/s390/Kconfig
+++ b/arch/s390/Kconfig
@@ -89,6 +89,7 @@ config S390
 	select HAVE_MEMBLOCK
 	select HAVE_MEMBLOCK_NODE_MAP
 	select HAVE_CMPXCHG_LOCAL
+	select HAVE_ALIGNED_STRUCT_PAGE if SLUB
 	select ARCH_DISCARD_MEMBLOCK
 	select BUILDTIME_EXTABLE_SORT
 	select ARCH_INLINE_SPIN_TRYLOCK



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

* [ 21/27] net: qmi_wwan: adding more ZTE devices
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (19 preceding siblings ...)
  2012-12-07  0:59 ` [ 20/27] s390/mm: have 16 byte aligned struct pages Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 22/27] net: qmi_wwan: add Huawei E173 Greg Kroah-Hartman
                   ` (8 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Bjørn Mork, David S. Miller, Peter Huewe

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Bjørn Mork <bjorn@mork.no>

commit c6846ee148e07e4cfae4de486532efb02d238938 upstream.

Analyzed a few Windows driver description files, supporting
this long list of devices:

%ztewwan.DeviceDesc0002%    = ztewwan.ndi, USB\VID_19D2&PID_0002&MI_01
%ztewwan.DeviceDesc0012%    = ztewwan.ndi, USB\VID_19D2&PID_0012&MI_01
%ztewwan.DeviceDesc0017%    = ztewwan.ndi, USB\VID_19D2&PID_0017&MI_03
%ztewwan.DeviceDesc0021%    = ztewwan.ndi, USB\VID_19D2&PID_0021&MI_04
%ztewwan.DeviceDesc0025%    = ztewwan.ndi, USB\VID_19D2&PID_0025&MI_01
%ztewwan.DeviceDesc0031%    = ztewwan.ndi, USB\VID_19D2&PID_0031&MI_04
%ztewwan.DeviceDesc0042%    = ztewwan.ndi, USB\VID_19D2&PID_0042&MI_04
%ztewwan.DeviceDesc0049%    = ztewwan.ndi, USB\VID_19D2&PID_0049&MI_05
%ztewwan.DeviceDesc0052%    = ztewwan.ndi, USB\VID_19D2&PID_0052&MI_04
%ztewwan.DeviceDesc0055%    = ztewwan.ndi, USB\VID_19D2&PID_0055&MI_01
%ztewwan.DeviceDesc0058%    = ztewwan.ndi, USB\VID_19D2&PID_0058&MI_04
%ztewwan.DeviceDesc0063%    = ztewwan.ndi, USB\VID_19D2&PID_0063&MI_04
%ztewwan.DeviceDesc2002%    = ztewwan.ndi, USB\VID_19D2&PID_2002&MI_04
%ztewwan.DeviceDesc0104%    = ztewwan.ndi, USB\VID_19D2&PID_0104&MI_04
%ztewwan.DeviceDesc0113%    = ztewwan.ndi, USB\VID_19D2&PID_0113&MI_05
%ztewwan.DeviceDesc0118%    = ztewwan.ndi, USB\VID_19D2&PID_0118&MI_05
%ztewwan.DeviceDesc0121%    = ztewwan.ndi, USB\VID_19D2&PID_0121&MI_05
%ztewwan.DeviceDesc0123%    = ztewwan.ndi, USB\VID_19D2&PID_0123&MI_04
%ztewwan.DeviceDesc0124%    = ztewwan.ndi, USB\VID_19D2&PID_0124&MI_05
%ztewwan.DeviceDesc0125%    = ztewwan.ndi, USB\VID_19D2&PID_0125&MI_06
%ztewwan.DeviceDesc0126%    = ztewwan.ndi, USB\VID_19D2&PID_0126&MI_05
%ztewwan.DeviceDesc1008%    = ztewwan.ndi, USB\VID_19D2&PID_1008&MI_04
%ztewwan.DeviceDesc1010%    = ztewwan.ndi, USB\VID_19D2&PID_1010&MI_04
%ztewwan.DeviceDesc1012%    = ztewwan.ndi, USB\VID_19D2&PID_1012&MI_04
%ztewwan.DeviceDesc1402%    = ztewwan.ndi, USB\VID_19D2&PID_1402&MI_02
%ztewwan.DeviceDesc0157%    = ztewwan.ndi, USB\VID_19D2&PID_0157&MI_05
%ztewwan.DeviceDesc0158%    = ztewwan.ndi, USB\VID_19D2&PID_0158&MI_03
%ztewwan.DeviceDesc1401%    = ztewwan.ndi, USB\VID_19D2&PID_1401&MI_02
%ztewwan.DeviceDesc0130%    = ztewwan.ndi, USB\VID_19D2&PID_0130&MI_01
%ztewwan.DeviceDesc0133%    = ztewwan.ndi, USB\VID_19D2&PID_0133&MI_03
%ztewwan.DeviceDesc0176%    = ztewwan.ndi, USB\VID_19D2&PID_0176&MI_03
%ztewwan.DeviceDesc0178%    = ztewwan.ndi, USB\VID_19D2&PID_0178&MI_03
%ztewwan.DeviceDesc0168%    = ztewwan.ndi, USB\VID_19D2&PID_0168&MI_04
;EuFi890
%ztewwan.DeviceDesc0191%    = ztewwan.ndi, USB\VID_19D2&PID_0191&MI_04
;AL621
%ztewwan.DeviceDesc0167%    = ztewwan.ndi, USB\VID_19D2&PID_0167&MI_04
;MF821
%ztewwan.DeviceDesc0199%    = ztewwan.ndi, USB\VID_19D2&PID_0199&MI_01
%ztewwan.DeviceDesc0200%    = ztewwan.ndi, USB\VID_19D2&PID_0200&MI_01
%ztewwan.DeviceDesc0257%    = ztewwan.ndi, USB\VID_19D2&PID_0257&MI_03
;MF821V
%ztewwan.DeviceDesc1018%    = ztewwan.ndi, USB\VID_19D2&PID_1018&MI_03
;MF91
%ztewwan.DeviceDesc1426%    = ztewwan.ndi, USB\VID_19D2&PID_1426&MI_02
;0141
%ztewwan.DeviceDesc1247%    = ztewwan.ndi, USB\VID_19D2&PID_1247&MI_04
%ztewwan.DeviceDesc1425%    = ztewwan.ndi, USB\VID_19D2&PID_1425&MI_02
%ztewwan.DeviceDesc1424%    = ztewwan.ndi, USB\VID_19D2&PID_1424&MI_02
%ztewwan.DeviceDesc1252%    = ztewwan.ndi, USB\VID_19D2&PID_1252&MI_04
%ztewwan.DeviceDesc1254%    = ztewwan.ndi, USB\VID_19D2&PID_1254&MI_04
%ztewwan.DeviceDesc1255A%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_03
%ztewwan.DeviceDesc1255B%   = ztewwan.ndi, USB\VID_19D2&PID_1255&MI_04
%ztewwan.DeviceDesc1256%    = ztewwan.ndi, USB\VID_19D2&PID_1256&MI_04
%ztewwan.DeviceDesc1245%    = ztewwanCombB.ndi, USB\VID_19D2&PID_1245&MI_04
%ztewwan.DeviceDesc1021%    = ztewwan.ndi, USB\VID_19D2&PID_1021&MI_02

Adding the ones we were missing.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/usb/qmi_wwan.c |   41 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -398,16 +398,57 @@ static const struct usb_device_id produc
 	},
 
 	/* 3. Combined interface devices matching on interface number */
+	{QMI_FIXED_INTF(0x19d2, 0x0002, 1)},
+	{QMI_FIXED_INTF(0x19d2, 0x0012, 1)},
+	{QMI_FIXED_INTF(0x19d2, 0x0017, 3)},
+	{QMI_FIXED_INTF(0x19d2, 0x0021, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x0025, 1)},
+	{QMI_FIXED_INTF(0x19d2, 0x0031, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x0042, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x0049, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0052, 4)},
 	{QMI_FIXED_INTF(0x19d2, 0x0055, 1)},	/* ZTE (Vodafone) K3520-Z */
+	{QMI_FIXED_INTF(0x19d2, 0x0058, 4)},
 	{QMI_FIXED_INTF(0x19d2, 0x0063, 4)},	/* ZTE (Vodafone) K3565-Z */
 	{QMI_FIXED_INTF(0x19d2, 0x0104, 4)},	/* ZTE (Vodafone) K4505-Z */
+	{QMI_FIXED_INTF(0x19d2, 0x0113, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0118, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0121, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0123, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x0124, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0125, 6)},
+	{QMI_FIXED_INTF(0x19d2, 0x0126, 5)},
+	{QMI_FIXED_INTF(0x19d2, 0x0130, 1)},
+	{QMI_FIXED_INTF(0x19d2, 0x0133, 3)},
+	{QMI_FIXED_INTF(0x19d2, 0x0141, 5)},
 	{QMI_FIXED_INTF(0x19d2, 0x0157, 5)},	/* ZTE MF683 */
+	{QMI_FIXED_INTF(0x19d2, 0x0158, 3)},
 	{QMI_FIXED_INTF(0x19d2, 0x0167, 4)},	/* ZTE MF820D */
+	{QMI_FIXED_INTF(0x19d2, 0x0168, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x0176, 3)},
+	{QMI_FIXED_INTF(0x19d2, 0x0178, 3)},
+	{QMI_FIXED_INTF(0x19d2, 0x0191, 4)},	/* ZTE EuFi890 */
+	{QMI_FIXED_INTF(0x19d2, 0x0199, 1)},	/* ZTE MF820S */
+	{QMI_FIXED_INTF(0x19d2, 0x0200, 1)},
+	{QMI_FIXED_INTF(0x19d2, 0x0257, 3)},	/* ZTE MF821 */
 	{QMI_FIXED_INTF(0x19d2, 0x0326, 4)},	/* ZTE MF821D */
 	{QMI_FIXED_INTF(0x19d2, 0x1008, 4)},	/* ZTE (Vodafone) K3570-Z */
 	{QMI_FIXED_INTF(0x19d2, 0x1010, 4)},	/* ZTE (Vodafone) K3571-Z */
+	{QMI_FIXED_INTF(0x19d2, 0x1012, 4)},
 	{QMI_FIXED_INTF(0x19d2, 0x1018, 3)},	/* ZTE (Vodafone) K5006-Z */
+	{QMI_FIXED_INTF(0x19d2, 0x1021, 2)},
+	{QMI_FIXED_INTF(0x19d2, 0x1245, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1247, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1252, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1254, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1255, 3)},
+	{QMI_FIXED_INTF(0x19d2, 0x1255, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1256, 4)},
+	{QMI_FIXED_INTF(0x19d2, 0x1401, 2)},
 	{QMI_FIXED_INTF(0x19d2, 0x1402, 2)},	/* ZTE MF60 */
+	{QMI_FIXED_INTF(0x19d2, 0x1424, 2)},
+	{QMI_FIXED_INTF(0x19d2, 0x1425, 2)},
+	{QMI_FIXED_INTF(0x19d2, 0x1426, 2)},	/* ZTE MF91 */
 	{QMI_FIXED_INTF(0x19d2, 0x2002, 4)},	/* ZTE (Vodafone) K3765-Z */
 	{QMI_FIXED_INTF(0x0f3d, 0x68a2, 8)},    /* Sierra Wireless MC7700 */
 	{QMI_FIXED_INTF(0x114f, 0x68a2, 8)},    /* Sierra Wireless MC7750 */



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

* [ 22/27] net: qmi_wwan: add Huawei E173
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (20 preceding siblings ...)
  2012-12-07  0:59 ` [ 21/27] net: qmi_wwan: adding more ZTE devices Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 23/27] ACPI: missing break Greg Kroah-Hartman
                   ` (7 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Thomas Schäfer, Bjørn Mork,
	David S. Miller, Peter Huewe

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Bjørn Mork <bjorn@mork.no>

commit ba695af067f9cadfec84457ac06b44e3fa849b15 upstream.

The Huawei E173 is a QMI/wwan device which normally appear
as 12d1:1436 in Linux. The descriptors displayed in that
mode will be picked up by cdc_ether.  But the modem has
another mode with a different device ID and a slightly
different set of descriptors. This is the mode used by
Windows like this:

3Modem:      USB\VID_12D1&PID_140C&MI_00\6&3A1D2012&0&0000
Networkcard: USB\VID_12D1&PID_140C&MI_01\6&3A1D2012&0&0001
Appli.Inter: USB\VID_12D1&PID_140C&MI_02\6&3A1D2012&0&0002
PC UI Inter: USB\VID_12D1&PID_140C&MI_03\6&3A1D2012&0&0003

Reported-by: Thomas Schäfer <tschaefer@t-online.de>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/usb/qmi_wwan.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -398,6 +398,7 @@ static const struct usb_device_id produc
 	},
 
 	/* 3. Combined interface devices matching on interface number */
+	{QMI_FIXED_INTF(0x12d1, 0x140c, 1)},	/* Huawei E173 */
 	{QMI_FIXED_INTF(0x19d2, 0x0002, 1)},
 	{QMI_FIXED_INTF(0x19d2, 0x0012, 1)},
 	{QMI_FIXED_INTF(0x19d2, 0x0017, 3)},



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

* [ 23/27] ACPI: missing break
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (21 preceding siblings ...)
  2012-12-07  0:59 ` [ 22/27] net: qmi_wwan: add Huawei E173 Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard Greg Kroah-Hartman
                   ` (6 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Alan Cox, Rafael J. Wysocki, Peter Huewe

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Alan Cox <alan@linux.intel.com>

commit 879dca019dc43a1622edca3e7dde644b14b5acc5 upstream.

We handle NOTIFY_THROTTLING so don't then fall through to unsupported event.

Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>


---
 drivers/acpi/processor_driver.c |    1 +
 1 file changed, 1 insertion(+)

--- a/drivers/acpi/processor_driver.c
+++ b/drivers/acpi/processor_driver.c
@@ -409,6 +409,7 @@ static void acpi_processor_notify(struct
 		acpi_bus_generate_proc_event(device, event, 0);
 		acpi_bus_generate_netlink_event(device->pnp.device_class,
 						  dev_name(&device->dev), event, 0);
+		break;
 	default:
 		ACPI_DEBUG_PRINT((ACPI_DB_INFO,
 				  "Unsupported event [0x%x]\n", event));



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

* [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (22 preceding siblings ...)
  2012-12-07  0:59 ` [ 23/27] ACPI: missing break Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  4:36   ` Calvin Walton
  2012-12-07  0:59 ` [ 25/27] drm/i915: Add no-lvds quirk for Supermicro X7SPA-H Greg Kroah-Hartman
                   ` (5 subsequent siblings)
  29 siblings, 1 reply; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable; +Cc: Greg Kroah-Hartman, alan, Calvin Walton, Peter Huewe

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Calvin Walton <calvin.walton@kepstin.ca>

commit a51d4ed01e5bb39d2cf36a12f9976ab08872c192 upstream.

This board is incorrectly detected as having an LVDS connector,
resulting in the VGA output (the only available output on the board)
showing the console only in the top-left 1024x768 pixels, and an extra
LVDS connector appearing in X.

It's a desktop Mini-ITX board using an Atom D525 CPU with an NM10
chipset.

I've had this board for about a year, but this is the first time I
noticed the issue because I've been running it headless for most of its
life.

Signed-off-by: Calvin Walton <calvin.walton@kepstin.ca>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpu/drm/i915/intel_lvds.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -788,6 +788,14 @@ static const struct dmi_system_id intel_
 			DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
 		},
 	},
+	{
+		.callback = intel_no_lvds_dmi_callback,
+		.ident = "Gigabyte GA-D525TUD",
+		.matches = {
+			DMI_MATCH(DMI_BOARD_VENDOR, "Gigabyte Technology Co., Ltd."),
+			DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
+		},
+	},
 
 	{ }	/* terminating entry */
 };



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

* [ 25/27] drm/i915: Add no-lvds quirk for Supermicro X7SPA-H
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (23 preceding siblings ...)
  2012-12-07  0:59 ` [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 26/27] x86, amd: Disable way access filter on Piledriver CPUs Greg Kroah-Hartman
                   ` (4 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Chris Wilson, Daniel Vetter, Peter Huewe

3.6-stable review patch.  If anyone has any objections, please let me know.

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

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

commit c31407a3672aaebb4acddf90944a114fa5c8af7b upstream.

Reported-and-tested-by: Francois Tigeot <ftigeot@wolfpond.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=55375
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Peter Huewe <peterhuewe@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/gpu/drm/i915/intel_lvds.c |    8 ++++++++
 1 file changed, 8 insertions(+)

--- a/drivers/gpu/drm/i915/intel_lvds.c
+++ b/drivers/gpu/drm/i915/intel_lvds.c
@@ -796,6 +796,14 @@ static const struct dmi_system_id intel_
 			DMI_MATCH(DMI_BOARD_NAME, "D525TUD"),
 		},
 	},
+	{
+		.callback = intel_no_lvds_dmi_callback,
+		.ident = "Supermicro X7SPA-H",
+		.matches = {
+			DMI_MATCH(DMI_SYS_VENDOR, "Supermicro"),
+			DMI_MATCH(DMI_PRODUCT_NAME, "X7SPA-H"),
+		},
+	},
 
 	{ }	/* terminating entry */
 };



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

* [ 26/27] x86, amd: Disable way access filter on Piledriver CPUs
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (24 preceding siblings ...)
  2012-12-07  0:59 ` [ 25/27] drm/i915: Add no-lvds quirk for Supermicro X7SPA-H Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07  0:59 ` [ 27/27] 8139cp: revert "set ring address before enabling receiver" Greg Kroah-Hartman
                   ` (3 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Andre Przywara, H. Peter Anvin, CAI Qian

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Andre Przywara <andre.przywara@amd.com>

commit 2bbf0a1427c377350f001fbc6260995334739ad7 upstream.

The Way Access Filter in recent AMD CPUs may hurt the performance of
some workloads, caused by aliasing issues in the L1 cache.
This patch disables it on the affected CPUs.

The issue is similar to that one of last year:
http://lkml.indiana.edu/hypermail/linux/kernel/1107.3/00041.html
This new patch does not replace the old one, we just need another
quirk for newer CPUs.

The performance penalty without the patch depends on the
circumstances, but is a bit less than the last year's 3%.

The workloads affected would be those that access code from the same
physical page under different virtual addresses, so different
processes using the same libraries with ASLR or multiple instances of
PIE-binaries. The code needs to be accessed simultaneously from both
cores of the same compute unit.

More details can be found here:
http://developer.amd.com/Assets/SharedL1InstructionCacheonAMD15hCPU.pdf

CPUs affected are anything with the core known as Piledriver.
That includes the new parts of the AMD A-Series (aka Trinity) and the
just released new CPUs of the FX-Series (aka Vishera).
The model numbering is a bit odd here: FX CPUs have model 2,
A-Series has model 10h, with possible extensions to 1Fh. Hence the
range of model ids.

Signed-off-by: Andre Przywara <osp@andrep.de>
Link: http://lkml.kernel.org/r/1351700450-9277-1-git-send-email-osp@andrep.de
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Signed-off-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 arch/x86/kernel/cpu/amd.c |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -631,6 +631,20 @@ static void __cpuinit init_amd(struct cp
 		}
 	}
 
+	/*
+	 * The way access filter has a performance penalty on some workloads.
+	 * Disable it on the affected CPUs.
+	 */
+	if ((c->x86 == 0x15) &&
+	    (c->x86_model >= 0x02) && (c->x86_model < 0x20)) {
+		u64 val;
+
+		if (!rdmsrl_safe(0xc0011021, &val) && !(val & 0x1E)) {
+			val |= 0x1E;
+			wrmsrl_safe(0xc0011021, val);
+		}
+	}
+
 	cpu_detect_cache_sizes(c);
 
 	/* Multi core CPU? */



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

* [ 27/27] 8139cp: revert "set ring address before enabling receiver"
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (25 preceding siblings ...)
  2012-12-07  0:59 ` [ 26/27] x86, amd: Disable way access filter on Piledriver CPUs Greg Kroah-Hartman
@ 2012-12-07  0:59 ` Greg Kroah-Hartman
  2012-12-07 13:36 ` [ 00/27] 3.6.10-stable review Holger Hoffstaette
                   ` (2 subsequent siblings)
  29 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07  0:59 UTC (permalink / raw)
  To: linux-kernel, stable
  Cc: Greg Kroah-Hartman, alan, Francois Romieu, Jeff Garzik,
	David S. Miller, CAI Qian

3.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Francois Romieu <romieu@fr.zoreil.com>

commit b26623dab7eeb1e9f5898c7a49458789dd492f20 upstream.

This patch reverts b01af4579ec41f48e9b9c774e70bd6474ad210db.

The original patch was tested with emulated hardware. Real
hardware chokes.

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

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/net/ethernet/realtek/8139cp.c |   22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -979,17 +979,6 @@ static void cp_init_hw (struct cp_privat
 	cpw32_f (MAC0 + 0, le32_to_cpu (*(__le32 *) (dev->dev_addr + 0)));
 	cpw32_f (MAC0 + 4, le32_to_cpu (*(__le32 *) (dev->dev_addr + 4)));
 
-	cpw32_f(HiTxRingAddr, 0);
-	cpw32_f(HiTxRingAddr + 4, 0);
-
-	ring_dma = cp->ring_dma;
-	cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
-	cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
-
-	ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
-	cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
-	cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
-
 	cp_start_hw(cp);
 	cpw8(TxThresh, 0x06); /* XXX convert magic num to a constant */
 
@@ -1003,6 +992,17 @@ static void cp_init_hw (struct cp_privat
 
 	cpw8(Config5, cpr8(Config5) & PMEStatus);
 
+	cpw32_f(HiTxRingAddr, 0);
+	cpw32_f(HiTxRingAddr + 4, 0);
+
+	ring_dma = cp->ring_dma;
+	cpw32_f(RxRingAddr, ring_dma & 0xffffffff);
+	cpw32_f(RxRingAddr + 4, (ring_dma >> 16) >> 16);
+
+	ring_dma += sizeof(struct cp_desc) * CP_RX_RING_SIZE;
+	cpw32_f(TxRingAddr, ring_dma & 0xffffffff);
+	cpw32_f(TxRingAddr + 4, (ring_dma >> 16) >> 16);
+
 	cpw16(MultiIntr, 0);
 
 	cpw8_f(Cfg9346, Cfg9346_Lock);



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

* Re: [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard
  2012-12-07  0:59 ` [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard Greg Kroah-Hartman
@ 2012-12-07  4:36   ` Calvin Walton
  2012-12-07 16:37     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 41+ messages in thread
From: Calvin Walton @ 2012-12-07  4:36 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, alan, Peter Huewe

Sorry, dropped the CCs when I replied... I don't normally use the
Gmail web interface :)

On Thu, Dec 6, 2012 at 7:59 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> 3.6-stable review patch.  If anyone has any objections, please let me know.
>
> ------------------
>
> From: Calvin Walton <calvin.walton@kepstin.ca>
>
> commit a51d4ed01e5bb39d2cf36a12f9976ab08872c192 upstream.
>
> This board is incorrectly detected as having an LVDS connector,

$ git describe --contains a51d4ed01e5bb39d2cf36a12f9976ab08872c192
v3.6-rc4~5^2~3^2

This patch was already included in Linus's 3.6 upstream release, so it
doesn't need to be (re-)applied to the 3.6.x stable tree. I'm
surprised it applied at all, it must need some fuzz to add the
duplicate entry...?

Anyways, it should only be applied to the 3.0 and 3.4 trees.

Calvin.

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

* Re: [ 20/27] s390/mm: have 16 byte aligned struct pages
  2012-12-07  0:59 ` [ 20/27] s390/mm: have 16 byte aligned struct pages Greg Kroah-Hartman
@ 2012-12-07 10:00   ` Heiko Carstens
  2012-12-07 15:07     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 41+ messages in thread
From: Heiko Carstens @ 2012-12-07 10:00 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-kernel, stable, alan, Martin Schwidefsky, CAI Qian

On Thu, Dec 06, 2012 at 04:59:04PM -0800, Greg Kroah-Hartman wrote:
> 3.6-stable review patch.  If anyone has any objections, please let me know.
> 
> ------------------
> 
> From: Heiko Carstens <heiko.carstens@de.ibm.com>
> 
> commit 4bffbb3455372a26816e364fb4448810f7014452 upstream.
> 
> Select HAVE_ALIGNED_STRUCT_PAGE on s390, so that the slub allocator can make
> use of compare and swap double for lockless updates. This increases the size
> of struct page to 64 bytes (instead of 56 bytes), however the performance gain
> justifies the increased size:
> 
> - now excactly four struct pages fit into a single cache line; the
>   case that accessing a struct page causes two cache line loads
>   does not exist anymore.
> - calculating the offset of a struct page within the memmap array
>   is only a simple shift instead of a more expensive multiplication.
> 
> A "hackbench 200 process 200" run on a 32 cpu system did show an 8% runtime
> improvement.
> 
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> Signed-off-by: CAI Qian <caiqian@redhat.com>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Same as for 3.4: compare and swap double is not available for 3.6 on s390.


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

* Re: [ 00/27] 3.6.10-stable review
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (26 preceding siblings ...)
  2012-12-07  0:59 ` [ 27/27] 8139cp: revert "set ring address before enabling receiver" Greg Kroah-Hartman
@ 2012-12-07 13:36 ` Holger Hoffstaette
  2012-12-08  0:46 ` Shuah Khan
  2012-12-08  5:40 ` satoru takeuchi
  29 siblings, 0 replies; 41+ messages in thread
From: Holger Hoffstaette @ 2012-12-07 13:36 UTC (permalink / raw)
  To: linux-kernel; +Cc: stable

On Thu, 06 Dec 2012 16:58:44 -0800, Greg Kroah-Hartman wrote:

> This is the start of the stable review cycle for the 3.6.10 release.

Patched against 3.6.9/builds/works fine on 3 Gentoo ~x86 machines, two
generic i5/i7 boxes (one ATI with Evergreen chip) and an old T60 Thinkpad.
No borkage detected so far.

-h



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

* Re: [ 20/27] s390/mm: have 16 byte aligned struct pages
  2012-12-07 10:00   ` Heiko Carstens
@ 2012-12-07 15:07     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07 15:07 UTC (permalink / raw)
  To: Heiko Carstens, CAI Qian; +Cc: linux-kernel, stable, alan, Martin Schwidefsky

On Fri, Dec 07, 2012 at 11:00:07AM +0100, Heiko Carstens wrote:
> On Thu, Dec 06, 2012 at 04:59:04PM -0800, Greg Kroah-Hartman wrote:
> > 3.6-stable review patch.  If anyone has any objections, please let me know.
> > 
> > ------------------
> > 
> > From: Heiko Carstens <heiko.carstens@de.ibm.com>
> > 
> > commit 4bffbb3455372a26816e364fb4448810f7014452 upstream.
> > 
> > Select HAVE_ALIGNED_STRUCT_PAGE on s390, so that the slub allocator can make
> > use of compare and swap double for lockless updates. This increases the size
> > of struct page to 64 bytes (instead of 56 bytes), however the performance gain
> > justifies the increased size:
> > 
> > - now excactly four struct pages fit into a single cache line; the
> >   case that accessing a struct page causes two cache line loads
> >   does not exist anymore.
> > - calculating the offset of a struct page within the memmap array
> >   is only a simple shift instead of a more expensive multiplication.
> > 
> > A "hackbench 200 process 200" run on a 32 cpu system did show an 8% runtime
> > improvement.
> > 
> > Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> > Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
> > Signed-off-by: CAI Qian <caiqian@redhat.com>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> 
> Same as for 3.4: compare and swap double is not available for 3.6 on s390.

Thanks for letting me know, and the review, much appreciated, I'll drop
these from 3.4 and 3.6 now.

CAI, your track record here isn't very good, I'm going to now require
you to get an ACK from the maintainer of all patches you are suggesting
for the stable kernels, before I will take them.  Please do that in the
future, as this has wasted a lot of developer time, myself especially.

thanks,

greg k-h

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

* Re: [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard
  2012-12-07  4:36   ` Calvin Walton
@ 2012-12-07 16:37     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07 16:37 UTC (permalink / raw)
  To: Calvin Walton; +Cc: linux-kernel, stable, alan, Peter Huewe

On Thu, Dec 06, 2012 at 11:36:16PM -0500, Calvin Walton wrote:
> Sorry, dropped the CCs when I replied... I don't normally use the
> Gmail web interface :)
> 
> On Thu, Dec 6, 2012 at 7:59 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
> > 3.6-stable review patch.  If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Calvin Walton <calvin.walton@kepstin.ca>
> >
> > commit a51d4ed01e5bb39d2cf36a12f9976ab08872c192 upstream.
> >
> > This board is incorrectly detected as having an LVDS connector,
> 
> $ git describe --contains a51d4ed01e5bb39d2cf36a12f9976ab08872c192
> v3.6-rc4~5^2~3^2
> 
> This patch was already included in Linus's 3.6 upstream release, so it
> doesn't need to be (re-)applied to the 3.6.x stable tree. I'm
> surprised it applied at all, it must need some fuzz to add the
> duplicate entry...?

Ah, yes, it did, thanks for catching that, I've now dropped this from
the 3.6-stable tree.

greg k-h

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

* Re: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07  0:59 ` [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled" Greg Kroah-Hartman
@ 2012-12-07 17:22   ` Joseph Salisbury
  2012-12-07 17:30     ` Joseph Salisbury
  2012-12-07 17:31     ` Greg Kroah-Hartman
  0 siblings, 2 replies; 41+ messages in thread
From: Joseph Salisbury @ 2012-12-07 17:22 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: Greg Kroah-Hartman, linux-kernel, stable, alan, Mike Galbraith,
	Ingo Molnar, Yong Zhang, Peter Zijlstra, Linus Torvalds

On 12/06/2012 07:59 PM, Greg Kroah-Hartman wrote:
> 3.6-stable review patch.  If anyone has any objections, please let me know.
>
> ------------------
>
> From: Mike Galbraith <efault@gmx.de>
>
> commit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.
>
> This reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.
>
> Between commits 8323f26ce342 ("sched: Fix race in task_group()") and
> 800d4d30c8f2 ("sched, autogroup: Stop going ahead if autogroup is
> disabled"), autogroup is a wreck.
>
> With both applied, all you have to do to crash a box is disable
> autogroup during boot up, then reboot..  boom, NULL pointer dereference
> due to commit 800d4d30c8f2 not allowing autogroup to move things, and
> commit 8323f26ce342 making that the only way to switch runqueues:
>
>    BUG: unable to handle kernel NULL pointer dereference at           (null)
>    IP: [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
>    Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC MS-7502/MS-7502
>    RIP: effective_load.isra.43+0x50/0x90
>    Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, task ffff88022618b3a0)
>    Call Trace:
>      select_task_rq_fair+0x255/0x780
>      try_to_wake_up+0x156/0x2c0
>      wake_up_state+0xb/0x10
>      signal_wake_up+0x28/0x40
>      complete_signal+0x1d6/0x250
>      __send_signal+0x170/0x310
>      send_signal+0x40/0x80
>      do_send_sig_info+0x47/0x90
>      group_send_sig_info+0x4a/0x70
>      kill_pid_info+0x3a/0x60
>      sys_kill+0x97/0x1a0
>      ? vfs_read+0x120/0x160
>      ? sys_read+0x45/0x90
>      system_call_fastpath+0x16/0x1b
>    Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 <48> 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c
>    RIP  [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
>     RSP <ffff880221ddfbd8>
>    CR2: 0000000000000000
>
> Signed-off-by: Mike Galbraith <efault@gmx.de>
> Acked-by: Ingo Molnar <mingo@kernel.org>
> Cc: Yong Zhang <yong.zhang0@gmail.com>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>
> ---
>   kernel/sched/auto_group.c |    4 ----
>   kernel/sched/auto_group.h |    5 -----
>   2 files changed, 9 deletions(-)
>
> --- a/kernel/sched/auto_group.c
> +++ b/kernel/sched/auto_group.c
> @@ -143,15 +143,11 @@ autogroup_move_group(struct task_struct
>   
>   	p->signal->autogroup = autogroup_kref_get(ag);
>   
> -	if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled))
> -		goto out;
> -
>   	t = p;
>   	do {
>   		sched_move_task(t);
>   	} while_each_thread(p, t);
>   
> -out:
>   	unlock_task_sighand(p, &flags);
>   	autogroup_kref_put(prev);
>   }
> --- a/kernel/sched/auto_group.h
> +++ b/kernel/sched/auto_group.h
> @@ -4,11 +4,6 @@
>   #include <linux/rwsem.h>
>   
>   struct autogroup {
> -	/*
> -	 * reference doesn't mean how many thread attach to this
> -	 * autogroup now. It just stands for the number of task
> -	 * could use this autogroup.
> -	 */
>   	struct kref		kref;
>   	struct task_group	*tg;
>   	struct rw_semaphore	lock;
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
Hi Ben,

Will you also be including this patch in v3.5 stable?  It has been 
tested and confirmed
to resolve http://bugs.launchpad.net/bugs/1034099

Sincerely,

Joe Salisbury

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

* Re: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07 17:22   ` Joseph Salisbury
@ 2012-12-07 17:30     ` Joseph Salisbury
  2012-12-09 23:41       ` Ben Hutchings
  2012-12-07 17:31     ` Greg Kroah-Hartman
  1 sibling, 1 reply; 41+ messages in thread
From: Joseph Salisbury @ 2012-12-07 17:30 UTC (permalink / raw)
  To: Ben Hutchings
  Cc: Greg Kroah-Hartman, linux-kernel, stable, alan, Mike Galbraith,
	Ingo Molnar, Yong Zhang, Peter Zijlstra, Linus Torvalds

On 12/07/2012 12:22 PM, Joseph Salisbury wrote:
> On 12/06/2012 07:59 PM, Greg Kroah-Hartman wrote:
>> 3.6-stable review patch.  If anyone has any objections, please let me 
>> know.
>>
>> ------------------
>>
>> From: Mike Galbraith <efault@gmx.de>
>>
>> commit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.
>>
>> This reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.
>>
>> Between commits 8323f26ce342 ("sched: Fix race in task_group()") and
>> 800d4d30c8f2 ("sched, autogroup: Stop going ahead if autogroup is
>> disabled"), autogroup is a wreck.
>>
>> With both applied, all you have to do to crash a box is disable
>> autogroup during boot up, then reboot..  boom, NULL pointer dereference
>> due to commit 800d4d30c8f2 not allowing autogroup to move things, and
>> commit 8323f26ce342 making that the only way to switch runqueues:
>>
>>    BUG: unable to handle kernel NULL pointer dereference at           
>> (null)
>>    IP: [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
>>    Pid: 7047, comm: systemd-user-se Not tainted 3.6.8-smp #7 MEDIONPC 
>> MS-7502/MS-7502
>>    RIP: effective_load.isra.43+0x50/0x90
>>    Process systemd-user-se (pid: 7047, threadinfo ffff880221dde000, 
>> task ffff88022618b3a0)
>>    Call Trace:
>>      select_task_rq_fair+0x255/0x780
>>      try_to_wake_up+0x156/0x2c0
>>      wake_up_state+0xb/0x10
>>      signal_wake_up+0x28/0x40
>>      complete_signal+0x1d6/0x250
>>      __send_signal+0x170/0x310
>>      send_signal+0x40/0x80
>>      do_send_sig_info+0x47/0x90
>>      group_send_sig_info+0x4a/0x70
>>      kill_pid_info+0x3a/0x60
>>      sys_kill+0x97/0x1a0
>>      ? vfs_read+0x120/0x160
>>      ? sys_read+0x45/0x90
>>      system_call_fastpath+0x16/0x1b
>>    Code: 49 0f af 41 50 31 d2 49 f7 f0 48 83 f8 01 48 0f 46 c6 48 2b 
>> 07 48 8b bf 40 01 00 00 48 85 ff 74 3a 45 31 c0 48 8b 8f 50 01 00 00 
>> <48> 8b 11 4c 8b 89 80 00 00 00 49 89 d2 48 01 d0 45 8b 59 58 4c
>>    RIP  [<ffffffff81063ac0>] effective_load.isra.43+0x50/0x90
>>     RSP <ffff880221ddfbd8>
>>    CR2: 0000000000000000
>>
>> Signed-off-by: Mike Galbraith <efault@gmx.de>
>> Acked-by: Ingo Molnar <mingo@kernel.org>
>> Cc: Yong Zhang <yong.zhang0@gmail.com>
>> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
>> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>>
>> ---
>>   kernel/sched/auto_group.c |    4 ----
>>   kernel/sched/auto_group.h |    5 -----
>>   2 files changed, 9 deletions(-)
>>
>> --- a/kernel/sched/auto_group.c
>> +++ b/kernel/sched/auto_group.c
>> @@ -143,15 +143,11 @@ autogroup_move_group(struct task_struct
>>         p->signal->autogroup = autogroup_kref_get(ag);
>>   -    if (!ACCESS_ONCE(sysctl_sched_autogroup_enabled))
>> -        goto out;
>> -
>>       t = p;
>>       do {
>>           sched_move_task(t);
>>       } while_each_thread(p, t);
>>   -out:
>>       unlock_task_sighand(p, &flags);
>>       autogroup_kref_put(prev);
>>   }
>> --- a/kernel/sched/auto_group.h
>> +++ b/kernel/sched/auto_group.h
>> @@ -4,11 +4,6 @@
>>   #include <linux/rwsem.h>
>>     struct autogroup {
>> -    /*
>> -     * reference doesn't mean how many thread attach to this
>> -     * autogroup now. It just stands for the number of task
>> -     * could use this autogroup.
>> -     */
>>       struct kref        kref;
>>       struct task_group    *tg;
>>       struct rw_semaphore    lock;
>>
>>
>> -- 
>> To unsubscribe from this list: send the line "unsubscribe 
>> linux-kernel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>> Please read the FAQ at  http://www.tux.org/lkml/
> Hi Ben,
>
> Will you also be including this patch in v3.5 stable?  It has been 
> tested and confirmed
> to resolve http://bugs.launchpad.net/bugs/1034099
>
> Sincerely,
>
> Joe Salisbury

Make that v3.2 stable.  Sorry.

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

* Re: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07 17:22   ` Joseph Salisbury
  2012-12-07 17:30     ` Joseph Salisbury
@ 2012-12-07 17:31     ` Greg Kroah-Hartman
  2012-12-07 17:43       ` Joseph Salisbury
  1 sibling, 1 reply; 41+ messages in thread
From: Greg Kroah-Hartman @ 2012-12-07 17:31 UTC (permalink / raw)
  To: Joseph Salisbury
  Cc: Ben Hutchings, linux-kernel, stable, alan, Mike Galbraith,
	Ingo Molnar, Yong Zhang, Peter Zijlstra, Linus Torvalds

On Fri, Dec 07, 2012 at 12:22:24PM -0500, Joseph Salisbury wrote:
> Will you also be including this patch in v3.5 stable?

There is no v3.5-stable kernel tree anymore, it has been end-of-life for a while.

There is a 3.5-stable tree that Canonical is doing, but no one on the
 Cc: you sent this to is in control of that one.

Sorry,

greg k-h

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

* Re: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07 17:31     ` Greg Kroah-Hartman
@ 2012-12-07 17:43       ` Joseph Salisbury
  0 siblings, 0 replies; 41+ messages in thread
From: Joseph Salisbury @ 2012-12-07 17:43 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Ben Hutchings
  Cc: linux-kernel, stable, alan, Mike Galbraith, Ingo Molnar,
	Yong Zhang, Peter Zijlstra, Linus Torvalds

On 12/07/2012 12:31 PM, Greg Kroah-Hartman wrote:
> On Fri, Dec 07, 2012 at 12:22:24PM -0500, Joseph Salisbury wrote:
>> Will you also be including this patch in v3.5 stable?
> There is no v3.5-stable kernel tree anymore, it has been end-of-life for a while.
>
> There is a 3.5-stable tree that Canonical is doing, but no one on the
>   Cc: you sent this to is in control of that one.
>
> Sorry,
>
> greg k-h

Sorry about the typo, I meant to request v3.2-stable.

Thanks,

Joe

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

* Re: [ 00/27] 3.6.10-stable review
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (27 preceding siblings ...)
  2012-12-07 13:36 ` [ 00/27] 3.6.10-stable review Holger Hoffstaette
@ 2012-12-08  0:46 ` Shuah Khan
  2012-12-08  0:58   ` Shuah Khan
  2012-12-08  5:40 ` satoru takeuchi
  29 siblings, 1 reply; 41+ messages in thread
From: Shuah Khan @ 2012-12-08  0:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, torvalds, akpm, alan

On Thu, Dec 6, 2012 at 5:58 PM, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
> This is the start of the stable review cycle for the 3.6.10 release.
> There are 27 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 me know.
>
> Responses should be made by Sun Dec  9 00:57:22 UTC 2012.
> 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/v3.0/stable-review/patch-3.6.10-rc1.gz
> and the diffstat can be found below.
>
> thanks,

Patch applied cleanly and compiled and booted on the following systems:

HP EliteBook 6930p Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz
HP ProBook 6475b AMD A10-4600M APU with Radeon(tm) HD Graphics

Cross-compile tests
alpha: defconfig passed
arm: defconfig passed
c6x: not applicable
mips: defconfig passed
mipsel: defconfig passed
powerpc: wii_defconfig failed on 3.0.56 - fixed it and sending a patch.
sh: defconfig passed on all
sparc: defconfig passed on all
tile: tilegx_defconfig passed on all

-- Shuah

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

* Re: [ 00/27] 3.6.10-stable review
  2012-12-08  0:46 ` Shuah Khan
@ 2012-12-08  0:58   ` Shuah Khan
  0 siblings, 0 replies; 41+ messages in thread
From: Shuah Khan @ 2012-12-08  0:58 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, torvalds, akpm, alan

On Fri, Dec 7, 2012 at 5:46 PM, Shuah Khan <shuahkhan@gmail.com> wrote:
> On Thu, Dec 6, 2012 at 5:58 PM, Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> wrote:
>> This is the start of the stable review cycle for the 3.6.10 release.
>> There are 27 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 me know.
>>
>> Responses should be made by Sun Dec  9 00:57:22 UTC 2012.
>> 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/v3.0/stable-review/patch-3.6.10-rc1.gz
>> and the diffstat can be found below.
>>
>> thanks,
>
> Patch applied cleanly and compiled and booted on the following systems:
>
> HP EliteBook 6930p Intel(R) Core(TM)2 Duo CPU     T9400  @ 2.53GHz
> HP ProBook 6475b AMD A10-4600M APU with Radeon(tm) HD Graphics
>
> Cross-compile tests
> alpha: defconfig passed
> arm: defconfig passed
> c6x: not applicable
> mips: defconfig passed
> mipsel: defconfig passed
> powerpc: wii_defconfig failed on 3.0.56 - fixed it and sending a patch.
> sh: defconfig passed on all
> sparc: defconfig passed on all
> tile: tilegx_defconfig passed on all

Correction: c6x passed.

-- Shuah

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

* Re: [ 00/27] 3.6.10-stable review
  2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
                   ` (28 preceding siblings ...)
  2012-12-08  0:46 ` Shuah Khan
@ 2012-12-08  5:40 ` satoru takeuchi
  29 siblings, 0 replies; 41+ messages in thread
From: satoru takeuchi @ 2012-12-08  5:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-kernel, stable, torvalds, akpm, alan

Hi Greg,

2012/12/7 Greg Kroah-Hartman <gregkh@linuxfoundation.org>:
> This is the start of the stable review cycle for the 3.6.10 release.
> There are 27 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 me know.

This kernel can be built and boot without any problem.
Building a kernel with this kernel also works fine.

 - Build Machine: debian wheezy x86_64
   CPU: Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz x 4
   memory: 8GB

 - Test machine: debian wheezy x86_64(KVM guest on the Build Machine)
   vCPU: x2
   memory: 2GB

I reviewed the following patches and it looks good to me.

> Alan Cox <alan@linux.intel.com>
>     ACPI: missing break
>
> Mike Galbraith <efault@gmx.de>
>     Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
>
> Mike Galbraith <mgalbraith@suse.de>
>     workqueue: exit rescuer_thread() as TASK_RUNNING
>
> Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
>     mm: soft offline: split thp at the beginning of soft_offline_page()
>
> Jianguo Wu <wujianguo@huawei.com>
>     mm/vmemmap: fix wrong use of virt_to_page

Thanks,
Satoru

>
> -------------
>
> Diffstat:
>
>  Makefile                                         |   4 +-
>  arch/arm/Kconfig                                 |   1 +
>  arch/arm/mach-dove/include/mach/pm.h             |   2 +-
>  arch/arm/mach-dove/irq.c                         |  14 ++-
>  arch/arm/mach-kirkwood/pcie.c                    |  11 ++-
>  arch/s390/Kconfig                                |   1 +
>  arch/x86/include/asm/fpu-internal.h              |  15 +--
>  arch/x86/kernel/cpu/amd.c                        |  14 +++
>  arch/x86/kernel/smpboot.c                        |   5 +
>  drivers/acpi/processor_driver.c                  |   1 +
>  drivers/edac/i7300_edac.c                        |   8 +-
>  drivers/edac/i7core_edac.c                       |   6 +-
>  drivers/gpu/drm/i915/intel_lvds.c                |  16 ++++
>  drivers/gpu/drm/radeon/evergreen.c               | 191 +++++++++++++++++++------------------
>  drivers/gpu/drm/radeon/evergreen_reg.h           |   2 +
>  drivers/gpu/drm/radeon/evergreend.h              |   7 ++
>  drivers/gpu/drm/radeon/radeon_asic.h             |   1 +
>  drivers/md/raid1.c                               |   2 +-
>  drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c |  11 ++-
>  drivers/net/ethernet/realtek/8139cp.c            |  22 ++---
>  drivers/net/usb/qmi_wwan.c                       |  42 ++++++++
>  drivers/net/wireless/iwlwifi/dvm/rxon.c          |  12 +--
>  drivers/target/target_core_transport.c           |   6 +-
>  kernel/sched/auto_group.c                        |   4 -
>  kernel/sched/auto_group.h                        |   5 -
>  kernel/workqueue.c                               |   4 +-
>  mm/memory-failure.c                              |   8 ++
>  mm/sparse.c                                      |  10 +-
>  mm/vmscan.c                                      |  27 ++++--
>  net/mac80211/offchannel.c                        |   2 -
>  30 files changed, 288 insertions(+), 166 deletions(-)
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* Re: [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled"
  2012-12-07 17:30     ` Joseph Salisbury
@ 2012-12-09 23:41       ` Ben Hutchings
  0 siblings, 0 replies; 41+ messages in thread
From: Ben Hutchings @ 2012-12-09 23:41 UTC (permalink / raw)
  To: Joseph Salisbury
  Cc: Greg Kroah-Hartman, linux-kernel, stable, alan, Mike Galbraith,
	Ingo Molnar, Yong Zhang, Peter Zijlstra, Linus Torvalds

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

On Fri, 2012-12-07 at 12:30 -0500, Joseph Salisbury wrote:
> On 12/07/2012 12:22 PM, Joseph Salisbury wrote:
> > On 12/06/2012 07:59 PM, Greg Kroah-Hartman wrote:
> >> 3.6-stable review patch.  If anyone has any objections, please let me 
> >> know.
> >>
> >> ------------------
> >>
> >> From: Mike Galbraith <efault@gmx.de>
> >>
> >> commit fd8ef11730f1d03d5d6555aa53126e9e34f52f12 upstream.
> >>
> >> This reverts commit 800d4d30c8f20bd728e5741a3b77c4859a613f7c.
> >>
> >> Between commits 8323f26ce342 ("sched: Fix race in task_group()") and
> >> 800d4d30c8f2 ("sched, autogroup: Stop going ahead if autogroup is
> >> disabled"), autogroup is a wreck.
[...]
> > Hi Ben,
> >
> > Will you also be including this patch in v3.5 stable?  It has been 
> > tested and confirmed
> > to resolve http://bugs.launchpad.net/bugs/1034099
> >
> > Sincerely,
> >
> > Joe Salisbury
> 
> Make that v3.2 stable.  Sorry.

Yes, if there's no objection to it.

Ben.

-- 
Ben Hutchings
It is impossible to make anything foolproof because fools are so ingenious.

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

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

end of thread, other threads:[~2012-12-09 23:41 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-07  0:58 [ 00/27] 3.6.10-stable review Greg Kroah-Hartman
2012-12-07  0:58 ` [ 01/27] Dove: Attempt to fix PMU/RTC interrupts Greg Kroah-Hartman
2012-12-07  0:58 ` [ 02/27] Dove: Fix irq_to_pmu() Greg Kroah-Hartman
2012-12-07  0:58 ` [ 03/27] drm/radeon/dce4+: dont use radeon_crtc for vblank callback Greg Kroah-Hartman
2012-12-07  0:58 ` [ 04/27] drm/radeon: properly handle mc_stop/mc_resume on evergreen+ (v2) Greg Kroah-Hartman
2012-12-07  0:58 ` [ 05/27] drm/radeon: properly track the crtc not_enabled case evergreen_mc_stop() Greg Kroah-Hartman
2012-12-07  0:58 ` [ 06/27] mm/vmemmap: fix wrong use of virt_to_page Greg Kroah-Hartman
2012-12-07  0:58 ` [ 07/27] mm: vmscan: fix endless loop in kswapd balancing Greg Kroah-Hartman
2012-12-07  0:58 ` [ 08/27] mm: soft offline: split thp at the beginning of soft_offline_page() Greg Kroah-Hartman
2012-12-07  0:58 ` [ 09/27] target: Fix handling of aborted commands Greg Kroah-Hartman
2012-12-07  0:58 ` [ 10/27] iwlwifi: fix the basic CCK rates calculation Greg Kroah-Hartman
2012-12-07  0:58 ` [ 11/27] ARM: Kirkwood: Update PCI-E fixup Greg Kroah-Hartman
2012-12-07  0:58 ` [ 12/27] x86, fpu: Avoid FPU lazy restore after suspend Greg Kroah-Hartman
2012-12-07  0:58 ` [ 13/27] workqueue: exit rescuer_thread() as TASK_RUNNING Greg Kroah-Hartman
2012-12-07  0:58 ` [ 14/27] mac80211: fix remain-on-channel (non-)cancelling Greg Kroah-Hartman
2012-12-07  0:58 ` [ 15/27] md/raid1{,0}: fix deadlock in bitmap_unplug Greg Kroah-Hartman
2012-12-07  0:59 ` [ 16/27] i7300_edac: Fix error flag testing Greg Kroah-Hartman
2012-12-07  0:59 ` [ 17/27] Revert "sched, autogroup: Stop going ahead if autogroup is disabled" Greg Kroah-Hartman
2012-12-07 17:22   ` Joseph Salisbury
2012-12-07 17:30     ` Joseph Salisbury
2012-12-09 23:41       ` Ben Hutchings
2012-12-07 17:31     ` Greg Kroah-Hartman
2012-12-07 17:43       ` Joseph Salisbury
2012-12-07  0:59 ` [ 18/27] bnx2x: remove redundant warning log Greg Kroah-Hartman
2012-12-07  0:59 ` [ 19/27] i7core_edac: fix panic when accessing sysfs files Greg Kroah-Hartman
2012-12-07  0:59 ` [ 20/27] s390/mm: have 16 byte aligned struct pages Greg Kroah-Hartman
2012-12-07 10:00   ` Heiko Carstens
2012-12-07 15:07     ` Greg Kroah-Hartman
2012-12-07  0:59 ` [ 21/27] net: qmi_wwan: adding more ZTE devices Greg Kroah-Hartman
2012-12-07  0:59 ` [ 22/27] net: qmi_wwan: add Huawei E173 Greg Kroah-Hartman
2012-12-07  0:59 ` [ 23/27] ACPI: missing break Greg Kroah-Hartman
2012-12-07  0:59 ` [ 24/27] i915: Quirk no_lvds on Gigabyte GA-D525TUD ITX motherboard Greg Kroah-Hartman
2012-12-07  4:36   ` Calvin Walton
2012-12-07 16:37     ` Greg Kroah-Hartman
2012-12-07  0:59 ` [ 25/27] drm/i915: Add no-lvds quirk for Supermicro X7SPA-H Greg Kroah-Hartman
2012-12-07  0:59 ` [ 26/27] x86, amd: Disable way access filter on Piledriver CPUs Greg Kroah-Hartman
2012-12-07  0:59 ` [ 27/27] 8139cp: revert "set ring address before enabling receiver" Greg Kroah-Hartman
2012-12-07 13:36 ` [ 00/27] 3.6.10-stable review Holger Hoffstaette
2012-12-08  0:46 ` Shuah Khan
2012-12-08  0:58   ` Shuah Khan
2012-12-08  5:40 ` satoru takeuchi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).