Skip to contentSkip to conversation

3.0.54-stable review

PATCH In review Greg Kroah-Hartman 8 participants 50 messages Nov 30, 2012 – Dec 6, 2012

Subsystems (31)
lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

cover 3.0.54-stable review

This is the start of the stable review cycle for the 3.0.54 release. There are 37 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 2 18:36:43 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.0.54-rc1.gz

and the diffstat can be found below.

thanks,

greg k-h

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

Greg Kroah-Hartman <[email protected]>

    Linux 3.0.54-rc1

Jaehoon Chung <[email protected]>
mmc: sdhci-s3c: fix the wrong number of max bus clocks

Jussi Pakkanen <[email protected]>
Input: bcm5974 - set BUTTONPAD property

Fenghua Yu <[email protected]>
x86, mce, therm_throt: Don't report power limit and package level thermal throttle events in mcelog

Merlin Schumacher <[email protected]>
acer-wmi: support for P key on TM8372

Chuansheng Liu <[email protected]>
watchdog: using u64 in get_sample_period()

Johan Hovold <[email protected]>
USB: mct_u232: fix broken close

Mauro Carvalho Chehab <[email protected]>
get_dvb_firmware: fix download site for tda10046 firmware

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device id

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device

David Milburn <[email protected]>
sata_svw: check DMA start bit before reset

[email protected] <[email protected]>
ixgbe: add support for X540-AT1

Tilman Schmidt <[email protected]>
bas_gigaset: fix pre_reset handling

David Henningsson <[email protected]>
ALSA: hda - Add support for Realtek ALC292

Duncan Roe <[email protected]>
ALSA: hda - Fix missing beep on ASUS X43U notebook

Kailang Yang <[email protected]>
ALSA: hda - Add new codec ALC283 ALC290 support

Al Viro <[email protected]>
sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

Jan Kara <[email protected]>
jbd: Fix lock ordering bug in journal_unmap_buffer()

Oliver Hartkopp <[email protected]>
can: bcm: initialize ifindex for timeouts without previous frame reception

Paul Bolle <[email protected]>
radeon: add AGPMode 1 quirk for RV250

Simon Wunderlich <[email protected]>
mac80211: deinitialize ibss-internals after emptiness check

Darren Hart <[email protected]>
futex: avoid wake_futex() for a PI futex_q

Jens Axboe <[email protected]>
dm: fix deadlock with request based dm and queue request_fn recursion

Jiri Engelthaler <[email protected]>
mtd: slram: invalid checking of absolute end address

Al Viro <[email protected]>
PARISC: fix user-triggerable panic on parisc

James Bottomley <[email protected]>
PARISC: fix virtual aliasing issue in get_shared_area()

David Henningsson <[email protected]>
ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

Clemens Ladisch <[email protected]>
ALSA: ua101, usx2y: fix broken MIDI output

Maciej Patelczyk <[email protected]>

    SCSI: isci: copy fis 0x34 response into proper buffer

Bing Zhao <[email protected]>
mwifiex: report error to MMC core if we cannot suspend

Albert Pool <[email protected]>
rtlwifi: rtl8192cu: Add new USB ID

Boris Ostrovsky <[email protected]>
x86, microcode, AMD: Add support for family 16h processors

Robert Richter <[email protected]>
x86-32: Fix invalid stack address while in softirq

David S. Miller <[email protected]>
ifenslave: Fix unused variable warnings.

Danny Kukawka <[email protected]>
riva/fbdev: fix several -Wuninitialized

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix -Wuninitialized warning

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning

Takashi Iwai <[email protected]>
ALSA: pcmcia - Use pcmcia_request_irq()

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

Diffstat:

 Documentation/dvb/get_dvb_firmware          |  2 +-
 Documentation/networking/ifenslave.c        |  2 ++
 Makefile                                    |  4 ++--
 arch/parisc/kernel/signal32.c               |  6 ++++--
 arch/parisc/kernel/sys_parisc.c             |  2 ++
 arch/sparc/kernel/signal_64.c               |  4 +---
 arch/x86/include/asm/ptrace.h               | 15 ++++-----------
 arch/x86/kernel/cpu/mcheck/therm_throt.c    | 29 +++++++----------------------
 arch/x86/kernel/microcode_amd.c             |  4 ++++
 arch/x86/kernel/ptrace.c                    | 28 ++++++++++++++++++++++++++++
 drivers/ata/sata_svw.c                      | 35 +++++++++++++++++++++++++++++++++++
 drivers/block/DAC960.c                      | 18 ++++++++++--------
 drivers/gpu/drm/radeon/radeon_agp.c         |  5 ++++-
 drivers/input/mouse/bcm5974.c               |  3 +++
 drivers/isdn/gigaset/bas-gigaset.c          | 19 ++++++++++++++++---
 drivers/md/dm.c                             |  8 +++++++-
 drivers/mmc/host/sdhci-s3c.c                |  2 +-
 drivers/mtd/devices/slram.c                 |  2 +-
 drivers/net/ixgbe/ixgbe_82599.c             |  2 ++
 drivers/net/ixgbe/ixgbe_common.c            |  1 +
 drivers/net/ixgbe/ixgbe_main.c              |  6 ++++++
 drivers/net/ixgbe/ixgbe_type.h              |  3 +++
 drivers/net/wireless/mwifiex/sdio.c         | 11 ++++++-----
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |  1 +
 drivers/platform/x86/acer-wmi.c             |  1 +
 drivers/scsi/isci/request.c                 |  2 +-
 drivers/usb/serial/mct_u232.c               | 14 ++++++++------
 drivers/video/riva/fbdev.c                  |  5 ++---
 fs/jbd/transaction.c                        |  2 ++
 kernel/futex.c                              | 18 +++++++++++++++++-
 kernel/watchdog.c                           |  4 ++--
 net/can/bcm.c                               |  3 +++
 net/mac80211/ibss.c                         |  8 ++++----
 sound/pci/hda/patch_cirrus.c                |  1 +
 sound/pci/hda/patch_realtek.c               |  4 ++++
 sound/pcmcia/pdaudiocf/pdaudiocf.c          |  2 +-
 sound/pcmcia/vx/vxpocket.c                  |  2 +-
 sound/usb/midi.c                            |  8 ++++++--
 38 files changed, 204 insertions(+), 82 deletions(-)
author maintainer
#1 lore raw

PATCH 1/37 ALSA: pcmcia - Use pcmcia_request_irq()

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

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

From: Takashi Iwai <[email protected]>

commit 08ef79490dad6b88010e94795cf9f89b018ed504 upstream.

The drivers don't require the exclusive irqs. Let's fix the deprecated warnings.

---
 sound/pcmcia/pdaudiocf/pdaudiocf.c |    2 +-
 sound/pcmcia/vx/vxpocket.c         |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
sound/pcmcia/pdaudiocf/pdaudiocf.c +1 -1
@@ -223,7 +223,7 @@ static int pdacf_config(struct pcmcia_de
 	if (ret)
 		goto failed;
 
-	ret = pcmcia_request_exclusive_irq(link, pdacf_interrupt);
+	ret = pcmcia_request_irq(link, pdacf_interrupt);
 	if (ret)
 		goto failed;
 
sound/pcmcia/vx/vxpocket.c +1 -1
@@ -229,7 +229,7 @@ static int vxpocket_config(struct pcmcia
 	if (ret)
 		goto failed;
 
-	ret = pcmcia_request_exclusive_irq(link, snd_vx_irq_handler);
+	ret = pcmcia_request_irq(link, snd_vx_irq_handler);
 	if (ret)
 		goto failed;
 
author maintainer
#2 lore raw

PATCH 2/37 drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning

In reply to Greg Kroah-Hartman

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

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

From: Danny Kukawka <[email protected]>

commit bca505f1097c725708ddc055cf8055e922b0904b upstream.

Fixed compiler warning:

comparison between ‘DAC960_V2_IOCTL_Opcode_T’ and ‘enum <anonymous>’

Renamed enum, added a new enum for SCSI_10.CommandOpcode in DAC960_V2_ProcessCompletedCommand().

---
 drivers/block/DAC960.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)
drivers/block/DAC960.c +8 -7
@@ -4627,7 +4627,8 @@ static void DAC960_V2_ProcessCompletedCo
   DAC960_Controller_T *Controller = Command->Controller;
   DAC960_CommandType_T CommandType = Command->CommandType;
   DAC960_V2_CommandMailbox_T *CommandMailbox = &Command->V2.CommandMailbox;
-  DAC960_V2_IOCTL_Opcode_T CommandOpcode = CommandMailbox->Common.IOCTL_Opcode;
+  DAC960_V2_IOCTL_Opcode_T IOCTLOpcode = CommandMailbox->Common.IOCTL_Opcode;
+  DAC960_V2_CommandOpcode_T CommandOpcode = CommandMailbox->SCSI_10.CommandOpcode;
   DAC960_V2_CommandStatus_T CommandStatus = Command->V2.CommandStatus;
 
   if (CommandType == DAC960_ReadCommand ||
@@ -4699,7 +4700,7 @@ static void DAC960_V2_ProcessCompletedCo
     {
       if (Controller->ShutdownMonitoringTimer)
 	      return;
-      if (CommandOpcode == DAC960_V2_GetControllerInfo)
+      if (IOCTLOpcode == DAC960_V2_GetControllerInfo)
 	{
 	  DAC960_V2_ControllerInfo_T *NewControllerInfo =
 	    Controller->V2.NewControllerInformation;
@@ -4719,14 +4720,14 @@ static void DAC960_V2_ProcessCompletedCo
 	  memcpy(ControllerInfo, NewControllerInfo,
 		 sizeof(DAC960_V2_ControllerInfo_T));
 	}
-      else if (CommandOpcode == DAC960_V2_GetEvent)
+      else if (IOCTLOpcode == DAC960_V2_GetEvent)
 	{
 	  if (CommandStatus == DAC960_V2_NormalCompletion) {
 	    DAC960_V2_ReportEvent(Controller, Controller->V2.Event);
 	  }
 	  Controller->V2.NextEventSequenceNumber++;
 	}
-      else if (CommandOpcode == DAC960_V2_GetPhysicalDeviceInfoValid &&
+      else if (IOCTLOpcode == DAC960_V2_GetPhysicalDeviceInfoValid &&
 	       CommandStatus == DAC960_V2_NormalCompletion)
 	{
 	  DAC960_V2_PhysicalDeviceInfo_T *NewPhysicalDeviceInfo =
@@ -4915,7 +4916,7 @@ static void DAC960_V2_ProcessCompletedCo
 	  NewPhysicalDeviceInfo->LogicalUnit++;
 	  Controller->V2.PhysicalDeviceIndex++;
 	}
-      else if (CommandOpcode == DAC960_V2_GetPhysicalDeviceInfoValid)
+      else if (IOCTLOpcode == DAC960_V2_GetPhysicalDeviceInfoValid)
 	{
 	  unsigned int DeviceIndex;
 	  for (DeviceIndex = Controller->V2.PhysicalDeviceIndex;
@@ -4938,7 +4939,7 @@ static void DAC960_V2_ProcessCompletedCo
 	    }
 	  Controller->V2.NeedPhysicalDeviceInformation = false;
 	}
-      else if (CommandOpcode == DAC960_V2_GetLogicalDeviceInfoValid &&
+      else if (IOCTLOpcode == DAC960_V2_GetLogicalDeviceInfoValid &&
 	       CommandStatus == DAC960_V2_NormalCompletion)
 	{
 	  DAC960_V2_LogicalDeviceInfo_T *NewLogicalDeviceInfo =
@@ -5065,7 +5066,7 @@ static void DAC960_V2_ProcessCompletedCo
 			 [LogicalDeviceNumber] = true;
 	  NewLogicalDeviceInfo->LogicalDeviceNumber++;
 	}
-      else if (CommandOpcode == DAC960_V2_GetLogicalDeviceInfoValid)
+      else if (IOCTLOpcode == DAC960_V2_GetLogicalDeviceInfoValid)
 	{
 	  int LogicalDriveNumber;
 	  for (LogicalDriveNumber = 0;
author maintainer
#3 lore raw

PATCH 3/37 drivers/block/DAC960: fix -Wuninitialized warning

In reply to Greg Kroah-Hartman

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

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

From: Danny Kukawka <[email protected]>

commit cecd353a02fb1405c8a72a324b26b5acf97e7411 upstream.

Set CommandMailbox with memset before use it. Fix for:

drivers/block/DAC960.c: In function ‘DAC960_V1_EnableMemoryMailboxInterface’:
arch/x86/include/asm/io.h:61:1: warning: ‘CommandMailbox.Bytes[12]’
may be used uninitialized in this function [-Wuninitialized]
drivers/block/DAC960.c:1175:30: note: ‘CommandMailbox.Bytes[12]’
was declared here

---
 drivers/block/DAC960.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/block/DAC960.c +2 -1
@@ -1177,7 +1177,8 @@ static bool DAC960_V1_EnableMemoryMailbo
   int TimeoutCounter;
   int i;
 
-  
+  memset(&CommandMailbox, 0, sizeof(DAC960_V1_CommandMailbox_T));
+
   if (pci_set_dma_mask(Controller->PCIDevice, DMA_BIT_MASK(32)))
 	return DAC960_Failure(Controller, "DMA mask out of range");
   Controller->BounceBufferLimit = DMA_BIT_MASK(32);
author maintainer
#4 lore raw

PATCH 4/37 riva/fbdev: fix several -Wuninitialized

In reply to Greg Kroah-Hartman

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

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

From: Danny Kukawka <[email protected]>

commit c718a54649475cc397484f96e70f6d0fdd267165 upstream.

Fix several -Wuninitialized compiler warnings by changing the order of getting modedb in riva_update_default_var() to set first the fallback and then the prefered timing.

---
 drivers/video/riva/fbdev.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/video/riva/fbdev.c +2 -3
@@ -1816,6 +1816,8 @@ static void __devinit riva_update_defaul
 			     specs->modedb, specs->modedb_len,
 			     NULL, 8);
 	} else if (specs->modedb != NULL) {
+		/* get first mode in database as fallback */
+		modedb = specs->modedb[0];
 		/* get preferred timing */
 		if (info->monspecs.misc & FB_MISC_1ST_DETAIL) {
 			int i;
@@ -1826,9 +1828,6 @@ static void __devinit riva_update_defaul
 					break;
 				}
 			}
-		} else {
-			/* otherwise, get first mode in database */
-			modedb = specs->modedb[0];
 		}
 		var->bits_per_pixel = 8;
 		riva_update_var(var, &modedb);
author maintainer
#5 lore raw

PATCH 5/37 ifenslave: Fix unused variable warnings.

In reply to Greg Kroah-Hartman

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

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

From: "David S. Miller" <[email protected]>

commit 450faacc621dbe0a4945ed8292afd45f4602d263 upstream.

Documentation/networking/ifenslave.c: In function ‘if_getconfig’:
Documentation/networking/ifenslave.c:508:14: warning: variable ‘mtu’ set but not used [-Wunused-but-set-variable] Documentation/networking/ifenslave.c:508:6: warning: variable ‘metric’ set but not used [-Wunused-but-set-variable]

The purpose of this function is to simply print out the values it probes, so...

---
 Documentation/networking/ifenslave.c |    2 ++
 1 file changed, 2 insertions(+)
Documentation/networking/ifenslave.c +2 -0
@@ -539,12 +539,14 @@ static int if_getconfig(char *ifname)
 		metric = 0;
 	} else
 		metric = ifr.ifr_metric;
+	printf("The result of SIOCGIFMETRIC is %d\n", metric);
 
 	strcpy(ifr.ifr_name, ifname);
 	if (ioctl(skfd, SIOCGIFMTU, &ifr) < 0)
 		mtu = 0;
 	else
 		mtu = ifr.ifr_mtu;
+	printf("The result of SIOCGIFMTU is %d\n", mtu);
 
 	strcpy(ifr.ifr_name, ifname);
 	if (ioctl(skfd, SIOCGIFDSTADDR, &ifr) < 0) {
author maintainer
#6 lore raw

PATCH 6/37 x86-32: Fix invalid stack address while in softirq

In reply to Greg Kroah-Hartman

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

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

From: Robert Richter <[email protected]>

commit 1022623842cb72ee4d0dbf02f6937f38c92c3f41 upstream.

In 32 bit the stack address provided by kernel_stack_pointer() may point to an invalid range causing NULL pointer access or page faults while in NMI (see trace below). This happens if called in softirq context and if the stack is empty. The address at &regs->sp is then out of range.

Fixing this by checking if regs and &regs->sp are in the same stack context. Otherwise return the previous stack pointer stored in struct thread_info. If that address is invalid too, return address of regs.

 BUG: unable to handle kernel NULL pointer dereference at 0000000a
 IP: [<c1004237>] print_context_stack+0x6e/0x8d
 *pde = 00000000
 Oops: 0000 [#1] SMP
 Modules linked in:
 Pid: 4434, comm: perl Not tainted 3.6.0-rc3-oprofile-i386-standard-g4411a05 #4 Hewlett-Packard HP xw9400 Workstation/0A1Ch
 EIP: 0060:[<c1004237>] EFLAGS: 00010093 CPU: 0
 EIP is at print_context_stack+0x6e/0x8d
 EAX: ffffe000 EBX: 0000000a ECX: f4435f94 EDX: 0000000a
 ESI: f4435f94 EDI: f4435f94 EBP: f5409ec0 ESP: f5409ea0
  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
 CR0: 8005003b CR2: 0000000a CR3: 34ac9000 CR4: 000007d0
 DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
 DR6: ffff0ff0 DR7: 00000400
 Process perl (pid: 4434, ti=f5408000 task=f5637850 task.ti=f4434000)
 Stack:
  000003e8 ffffe000 00001ffc f4e39b00 00000000 0000000a f4435f94 c155198c
  f5409ef0 c1003723 c155198c f5409f04 00000000 f5409edc 00000000 00000000
  f5409ee8 f4435f94 f5409fc4 00000001 f5409f1c c12dce1c 00000000 c155198c
 Call Trace:
  [<c1003723>] dump_trace+0x7b/0xa1
  [<c12dce1c>] x86_backtrace+0x40/0x88
  [<c12db712>] ? oprofile_add_sample+0x56/0x84
  [<c12db731>] oprofile_add_sample+0x75/0x84
  [<c12ddb5b>] op_amd_check_ctrs+0x46/0x260
  [<c12dd40d>] profile_exceptions_notify+0x23/0x4c
  [<c1395034>] nmi_handle+0x31/0x4a
  [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45
  [<c13950ed>] do_nmi+0xa0/0x2ff
  [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45
  [<c13949e5>] nmi_stack_correct+0x28/0x2d
  [<c1029dc5>] ? ftrace_define_fields_irq_handler_entry+0x45/0x45
  [<c1003603>] ? do_softirq+0x4b/0x7f
  <IRQ>
  [<c102a06f>] irq_exit+0x35/0x5b
  [<c1018f56>] smp_apic_timer_interrupt+0x6c/0x7a
  [<c1394746>] apic_timer_interrupt+0x2a/0x30
 Code: 89 fe eb 08 31 c9 8b 45 0c ff 55 ec 83 c3 04 83 7d 10 00 74 0c 3b 5d 10 73 26 3b 5d e4 73 0c eb 1f 3b 5d f0 76 1a 3b 5d e8 73 15 <8b> 13 89 d0 89 55 e0 e8 ad 42 03 00 85 c0 8b 55 e0 75 a6 eb cc
 EIP: [<c1004237>] print_context_stack+0x6e/0x8d SS:ESP 0068:f5409ea0
 CR2: 000000000000000a
 ---[ end trace 62afee3481b00012 ]---
 Kernel panic - not syncing: Fatal exception in interrupt

V2:
* add comments to kernel_stack_pointer()
* always return a valid stack address by falling back to the address of regs

---
 arch/x86/include/asm/ptrace.h |   15 ++++-----------
 arch/x86/kernel/ptrace.c      |   28 ++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 11 deletions(-)
arch/x86/include/asm/ptrace.h +4 -11
@@ -187,21 +187,14 @@ static inline int v8086_mode(struct pt_r
 #endif
 }
 
-/*
- * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
- * when it traps.  The previous stack will be directly underneath the saved
- * registers, and 'sp/ss' won't even have been saved. Thus the '&regs->sp'.
- *
- * This is valid only for kernel mode traps.
- */
-static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
-{
 #ifdef CONFIG_X86_32
-	return (unsigned long)(&regs->sp);
+extern unsigned long kernel_stack_pointer(struct pt_regs *regs);
 #else
+static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
+{
 	return regs->sp;
-#endif
 }
+#endif
 
 #define GET_IP(regs) ((regs)->ip)
 #define GET_FP(regs) ((regs)->bp)
arch/x86/kernel/ptrace.c +28 -0
@@ -164,6 +164,34 @@ static inline bool invalid_selector(u16
 
 #define FLAG_MASK		FLAG_MASK_32
 
+/*
+ * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
+ * when it traps.  The previous stack will be directly underneath the saved
+ * registers, and 'sp/ss' won't even have been saved. Thus the '&regs->sp'.
+ *
+ * Now, if the stack is empty, '&regs->sp' is out of range. In this
+ * case we try to take the previous stack. To always return a non-null
+ * stack pointer we fall back to regs as stack if no previous stack
+ * exists.
+ *
+ * This is valid only for kernel mode traps.
+ */
+unsigned long kernel_stack_pointer(struct pt_regs *regs)
+{
+	unsigned long context = (unsigned long)regs & ~(THREAD_SIZE - 1);
+	unsigned long sp = (unsigned long)&regs->sp;
+	struct thread_info *tinfo;
+
+	if (context == (sp & ~(THREAD_SIZE - 1)))
+		return sp;
+
+	tinfo = (struct thread_info *)context;
+	if (tinfo->previous_esp)
+		return tinfo->previous_esp;
+
+	return (unsigned long)regs;
+}
+
 static unsigned long *pt_regs_access(struct pt_regs *regs, unsigned long regno)
 {
 	BUILD_BUG_ON(offsetof(struct pt_regs, bx) != 0);
#7 lore raw

Re: [ 06/37] x86-32: Fix invalid stack address while in softirq

Quoted 14 lines · Greg Kroah-Hartman

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

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

From: Robert Richter <[email protected]>

commit 1022623842cb72ee4d0dbf02f6937f38c92c3f41 upstream.

In 32 bit the stack address provided by kernel_stack_pointer() may point to an invalid range causing NULL pointer access or page faults while in NMI (see trace below). This happens if called in softirq context and if the stack is empty. The address at &regs->sp is then out of range.

Quoted 4 lines

Fixing this by checking if regs and &regs->sp are in the same stack context. Otherwise return the previous stack pointer stored in struct thread_info. If that address is invalid too, return address of regs.

[...]

Hi, this makes build fail with oprofile on i386 on 3.0.54:
ERROR: "kernel_stack_pointer" [arch/x86/oprofile/oprofile.ko] undefined!

The following commit should address this failure:

commit cb57a2b4cff7edf2a4e32c0163200e9434807e0a

Author: H. Peter Anvin <[email protected]>
Date:   Tue Nov 20 22:21:02 2012 -0800

x86-32: Export kernel_stack_pointer() for modules

Modules, in particular oprofile (and possibly other similar tools) need kernel_stack_pointer(), so export it using EXPORT_SYMBOL_GPL().

Quoted 67 lines
arch/x86/include/asm/ptrace.h +4 -11
@@ -187,21 +187,14 @@ static inline int v8086_mode(struct pt_r
 #endif
 }
 
-/*
- * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
- * when it traps.  The previous stack will be directly underneath the saved
- * registers, and 'sp/ss' won't even have been saved. Thus the '&regs->sp'.
- *
- * This is valid only for kernel mode traps.
- */
-static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
-{
 #ifdef CONFIG_X86_32
-	return (unsigned long)(&regs->sp);
+extern unsigned long kernel_stack_pointer(struct pt_regs *regs);
 #else
+static inline unsigned long kernel_stack_pointer(struct pt_regs *regs)
+{
 	return regs->sp;
-#endif
 }
+#endif
 
 #define GET_IP(regs) ((regs)->ip)
 #define GET_FP(regs) ((regs)->bp)
arch/x86/kernel/ptrace.c +28 -0
@@ -164,6 +164,34 @@ static inline bool invalid_selector(u16
 
 #define FLAG_MASK		FLAG_MASK_32
 
+/*
+ * X86_32 CPUs don't save ss and esp if the CPU is already in kernel mode
+ * when it traps.  The previous stack will be directly underneath the saved
+ * registers, and 'sp/ss' won't even have been saved. Thus the '&regs->sp'.
+ *
+ * Now, if the stack is empty, '&regs->sp' is out of range. In this
+ * case we try to take the previous stack. To always return a non-null
+ * stack pointer we fall back to regs as stack if no previous stack
+ * exists.
+ *
+ * This is valid only for kernel mode traps.
+ */
+unsigned long kernel_stack_pointer(struct pt_regs *regs)
+{
+	unsigned long context = (unsigned long)regs & ~(THREAD_SIZE - 1);
+	unsigned long sp = (unsigned long)&regs->sp;
+	struct thread_info *tinfo;
+
+	if (context == (sp & ~(THREAD_SIZE - 1)))
+		return sp;
+
+	tinfo = (struct thread_info *)context;
+	if (tinfo->previous_esp)
+		return tinfo->previous_esp;
+
+	return (unsigned long)regs;
+}
+
 static unsigned long *pt_regs_access(struct pt_regs *regs, unsigned long regno)
 {
 	BUILD_BUG_ON(offsetof(struct pt_regs, bx) != 0);
Signature · 2 lines
[]'s
Herton
#8 lore raw

Re: [ 06/37] x86-32: Fix invalid stack address while in softirq

Quoted 10 lines · Herton Ronaldo Krzesinski

Hi, this makes build fail with oprofile on i386 on 3.0.54:
ERROR: "kernel_stack_pointer" [arch/x86/oprofile/oprofile.ko] undefined!

The following commit should address this failure:

commit cb57a2b4cff7edf2a4e32c0163200e9434807e0a

Author: H. Peter Anvin <[email protected]>
Date:   Tue Nov 20 22:21:02 2012 -0800

x86-32: Export kernel_stack_pointer() for modules

Correct. I checked the stable Git trees and it is not in 3.0 and 3.4. My former statement was wrong, got a bit confused about which patch was added to which tree, sorry.

-Robert

author maintainer
#9 lore raw

Re: [ 06/37] x86-32: Fix invalid stack address while in softirq

In reply to Herton Ronaldo Krzesinski
Quoted 15 lines · Herton Ronaldo Krzesinski
Quoted 14 lines · Greg Kroah-Hartman

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

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

From: Robert Richter <[email protected]>

commit 1022623842cb72ee4d0dbf02f6937f38c92c3f41 upstream.

In 32 bit the stack address provided by kernel_stack_pointer() may point to an invalid range causing NULL pointer access or page faults while in NMI (see trace below). This happens if called in softirq context and if the stack is empty. The address at &regs->sp is then out of range.

Quoted 8 lines
Quoted 4 lines

Fixing this by checking if regs and &regs->sp are in the same stack context. Otherwise return the previous stack pointer stored in struct thread_info. If that address is invalid too, return address of regs.

[...]

Hi, this makes build fail with oprofile on i386 on 3.0.54:
ERROR: "kernel_stack_pointer" [arch/x86/oprofile/oprofile.ko] undefined!

Now fixed with 3.0.55.

thanks,

greg k-h

author maintainer
#10 lore raw

PATCH 7/37 x86, microcode, AMD: Add support for family 16h processors

In reply to Greg Kroah-Hartman

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

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

From: Boris Ostrovsky <[email protected]>

commit 36c46ca4f322a7bf89aad5462a3a1f61713edce7 upstream.

Add valid patch size for family 16h processors.

[ hpa: promoting to urgent/stable since it is hw enabling and trivial ]

---
 arch/x86/kernel/microcode_amd.c |    4 ++++
 1 file changed, 4 insertions(+)
arch/x86/kernel/microcode_amd.c +4 -0
@@ -162,6 +162,7 @@ static unsigned int verify_ucode_size(in
 #define F1XH_MPB_MAX_SIZE 2048
 #define F14H_MPB_MAX_SIZE 1824
 #define F15H_MPB_MAX_SIZE 4096
+#define F16H_MPB_MAX_SIZE 3458
 
 	switch (c->x86) {
 	case 0x14:
@@ -170,6 +171,9 @@ static unsigned int verify_ucode_size(in
 	case 0x15:
 		max_size = F15H_MPB_MAX_SIZE;
 		break;
+	case 0x16:
+		max_size = F16H_MPB_MAX_SIZE;
+		break;
 	default:
 		max_size = F1XH_MPB_MAX_SIZE;
 		break;
author maintainer
#11 lore raw

PATCH 8/37 rtlwifi: rtl8192cu: Add new USB ID

In reply to Greg Kroah-Hartman

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

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

From: Albert Pool <[email protected]>

commit a485e827f07bfdd0762059386e6e787bed6e81ee upstream.

This is an ISY IWL 2000. Probably a clone of Belkin F7D1102 050d:1102. Its FCC ID is the same.

---
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |    1 +
 1 file changed, 1 insertion(+)
drivers/net/wireless/rtlwifi/rtl8192cu/sw.c +1 -0
@@ -295,6 +295,7 @@ static struct usb_device_id rtl8192c_usb
 	/*=== Customer ID ===*/
 	/****** 8188CU ********/
 	{RTL_USB_DEVICE(0x050d, 0x1102, rtl92cu_hal_cfg)}, /*Belkin - Edimax*/
+	{RTL_USB_DEVICE(0x050d, 0x11f2, rtl92cu_hal_cfg)}, /*Belkin - ISY*/
 	{RTL_USB_DEVICE(0x06f8, 0xe033, rtl92cu_hal_cfg)}, /*Hercules - Edimax*/
 	{RTL_USB_DEVICE(0x07b8, 0x8188, rtl92cu_hal_cfg)}, /*Abocom - Abocom*/
 	{RTL_USB_DEVICE(0x07b8, 0x8189, rtl92cu_hal_cfg)}, /*Funai - Abocom*/
author maintainer
#12 lore raw

PATCH 9/37 mwifiex: report error to MMC core if we cannot suspend

In reply to Greg Kroah-Hartman

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

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

From: Bing Zhao <[email protected]>

commit dd321acddc3be1371263b8c9e6c6f2af89f63d57 upstream.

When host_sleep_config command fails we should return error to MMC core to indicate the failure for our device.

The misspelled variable is also removed as it's redundant.

---
 drivers/net/wireless/mwifiex/sdio.c |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
drivers/net/wireless/mwifiex/sdio.c +6 -5
@@ -122,7 +122,6 @@ static int mwifiex_sdio_suspend(struct d
 	struct sdio_mmc_card *card;
 	struct mwifiex_adapter *adapter;
 	mmc_pm_flag_t pm_flag = 0;
-	int hs_actived = 0;
 	int i;
 	int ret = 0;
 
@@ -149,12 +148,14 @@ static int mwifiex_sdio_suspend(struct d
 	adapter = card->adapter;
 
 	/* Enable the Host Sleep */
-	hs_actived = mwifiex_enable_hs(adapter);
-	if (hs_actived) {
-		pr_debug("cmd: suspend with MMC_PM_KEEP_POWER\n");
-		ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
+	if (!mwifiex_enable_hs(adapter)) {
+		dev_err(adapter->dev, "cmd: failed to suspend\n");
+		return -EFAULT;
 	}
 
+	dev_dbg(adapter->dev, "cmd: suspend with MMC_PM_KEEP_POWER\n");
+	ret = sdio_set_host_pm_flags(func, MMC_PM_KEEP_POWER);
+
 	/* Indicate device suspended */
 	adapter->is_suspended = true;
 
author maintainer
#13 lore raw

PATCH 10/37 SCSI: isci: copy fis 0x34 response into proper buffer

In reply to Greg Kroah-Hartman

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

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

From: Maciej Patelczyk <[email protected]>

commit 49bd665c5407a453736d3232ee58f2906b42e83c upstream.

SATA MICROCODE DOWNALOAD fails on isci driver. After receiving Register Device to Host (FIS 0x34) frame Initiator resets phy.
In the frame handler routine response (FIS 0x34) was copied into wrong buffer and upper layer did not receive any answer which resulted in timeout and reset.
This patch corrects this bug.

---
 drivers/scsi/isci/request.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/isci/request.c +1 -1
@@ -1693,7 +1693,7 @@ sci_io_request_frame_handler(struct isci
 								      frame_index,
 								      (void **)&frame_buffer);
 
-			sci_controller_copy_sata_response(&ireq->stp.req,
+			sci_controller_copy_sata_response(&ireq->stp.rsp,
 							       frame_header,
 							       frame_buffer);
 
author maintainer
#14 lore raw

PATCH 11/37 ALSA: ua101, usx2y: fix broken MIDI output

In reply to Greg Kroah-Hartman

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

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

From: Clemens Ladisch <[email protected]>

commit e99ddfde6ae0dd2662bb40435696002b590e4057 upstream.

Commit 88a8516a2128 (ALSA: usbaudio: implement USB autosuspend) added autosuspend code to all files making up the snd-usb-audio driver. However, midi.c is part of snd-usb-lib and is also used by other drivers, not all of which support autosuspend. Thus, calls to usb_autopm_get_interface() could fail, and this unexpected error would result in the MIDI output being completely unusable.

Make it work by ignoring the error that is expected with drivers that do not support autosuspend.

---
 sound/usb/midi.c |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
sound/usb/midi.c +6 -2
@@ -147,6 +147,7 @@ struct snd_usb_midi_out_endpoint {
 		struct snd_usb_midi_out_endpoint* ep;
 		struct snd_rawmidi_substream *substream;
 		int active;
+		bool autopm_reference;
 		uint8_t cable;		/* cable number << 4 */
 		uint8_t state;
 #define STATE_UNKNOWN	0
@@ -1059,7 +1060,8 @@ static int snd_usbmidi_output_open(struc
 		return -ENXIO;
 	}
 	err = usb_autopm_get_interface(umidi->iface);
-	if (err < 0)
+	port->autopm_reference = err >= 0;
+	if (err < 0 && err != -EACCES)
 		return -EIO;
 	substream->runtime->private_data = port;
 	port->state = STATE_UNKNOWN;
@@ -1070,9 +1072,11 @@ static int snd_usbmidi_output_open(struc
 static int snd_usbmidi_output_close(struct snd_rawmidi_substream *substream)
 {
 	struct snd_usb_midi* umidi = substream->rmidi->private_data;
+	struct usbmidi_out_port *port = substream->runtime->private_data;
 
 	substream_open(substream, 0);
-	usb_autopm_put_interface(umidi->iface);
+	if (port->autopm_reference)
+		usb_autopm_put_interface(umidi->iface);
 	return 0;
 }
 
author maintainer
#15 lore raw

PATCH 12/37 ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

In reply to Greg Kroah-Hartman

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

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

From: David Henningsson <[email protected]>

commit 34c3d1926bdaf45d3a891dd577482abcdd9faa34 upstream.

If this array is not cleared, the jack related code later might fail to create "Internal Speaker Phantom Jack" on Dell Inspiron 3420 and Dell Vostro 2420.

---
 sound/pci/hda/patch_cirrus.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/patch_cirrus.c +1 -0
@@ -413,6 +413,7 @@ static int parse_output(struct hda_codec
 		memcpy(cfg->speaker_pins, cfg->line_out_pins,
 		       sizeof(cfg->speaker_pins));
 		cfg->line_outs = 0;
+		memset(cfg->line_out_pins, 0, sizeof(cfg->line_out_pins));
 	}
 
 	return 0;
#16 lore raw

Re: [ 12/37] ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

Quoted 26 lines · Greg Kroah-Hartman

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

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

From: David Henningsson <[email protected]>

commit 34c3d1926bdaf45d3a891dd577482abcdd9faa34 upstream.

If this array is not cleared, the jack related code later might fail to create "Internal Speaker Phantom Jack" on Dell Inspiron 3420 and Dell Vostro 2420.

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

sound/pci/hda/patch_cirrus.c static int parse_output(struct hda_codec · line 419

Quoted 7 lines
sound/pci/hda/patch_cirrus.c +1 -0
@@ -413,6 +413,7 @@ static int parse_output(struct hda_codec
  		memcpy(cfg->speaker_pins, cfg->line_out_pins,
  		       sizeof(cfg->speaker_pins));
  		cfg->line_outs = 0;
+		memset(cfg->line_out_pins, 0, sizeof(cfg->line_out_pins));
  	}
 
  	return 0;

This one was originally targeted for 3.6+ (as mentioned in my original patch), for earlier kernels I don't anticipate it having any effect, neither positive nor negative. Your call.

Signature · 2 lines
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic
author maintainer
#17 lore raw

Re: [ 12/37] ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

Quoted 31 lines · David Henningsson
Quoted 30 lines · Greg Kroah-Hartman

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

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

From: David Henningsson <[email protected]>

commit 34c3d1926bdaf45d3a891dd577482abcdd9faa34 upstream.

If this array is not cleared, the jack related code later might fail to create "Internal Speaker Phantom Jack" on Dell Inspiron 3420 and Dell Vostro 2420.

---
 sound/pci/hda/patch_cirrus.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/patch_cirrus.c +1 -0
@@ -413,6 +413,7 @@ static int parse_output(struct hda_codec
 		memcpy(cfg->speaker_pins, cfg->line_out_pins,
 		       sizeof(cfg->speaker_pins));
 		cfg->line_outs = 0;
+		memset(cfg->line_out_pins, 0, sizeof(cfg->line_out_pins));
 	}
 
Quoted 7 lines

sound/pci/hda/patch_cirrus.c static int parse_output(struct hda_codec · line 419

Quoted 3 lines
sound/pci/hda/patch_cirrus.c +0 -0
 	return 0;

This one was originally targeted for 3.6+ (as mentioned in my original patch), for earlier kernels I don't anticipate it having any effect, neither positive nor negative. Your call.

Ah, I messed up on that, sorry, I've dropped it from the 3.0-stable queue now.

greg k-h

author maintainer
#18 lore raw

PATCH 13/37 PARISC: fix virtual aliasing issue in get_shared_area()

In reply to Greg Kroah-Hartman

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

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

From: James Bottomley <[email protected]>

commit 949a05d03490e39e773e8652ccab9157e6f595b4 upstream.

Quoted 10 lines · Michel Lespinasse

Looking at the arch/parisc/kernel/sys_parisc.c implementation of get_shared_area(), I do have a concern though. The function basically ignores the pgoff argument, so that if one creates a shared mapping of pages 0-N of a file, and then a separate shared mapping of pages 1-N of that same file, both will have the same cache offset for their starting address.

This looks like this would create obvious aliasing issues. Am I misreading this ? I can't understand how this could work good enough to be undetected, so there must be something I'm missing here ???

This turns out to be correct and we need to pay attention to the pgoff as well as the address when creating the virtual address for the area. Fortunately, the bug is rarely triggered as most applications which use pgoff tend to use large values (git being the primary one, and it uses pgoff in multiples of 16MB) which are larger than our cache coherency modulus, so the problem isn't often seen in practise.

---
 arch/parisc/kernel/sys_parisc.c |    2 ++
 1 file changed, 2 insertions(+)
arch/parisc/kernel/sys_parisc.c +2 -0
@@ -73,6 +73,8 @@ static unsigned long get_shared_area(str
 	struct vm_area_struct *vma;
 	int offset = mapping ? get_offset(mapping) : 0;
 
+	offset = (offset + (pgoff << PAGE_SHIFT)) & 0x3FF000;
+
 	addr = DCACHE_ALIGN(addr - offset) + offset;
 
 	for (vma = find_vma(current->mm, addr); ; vma = vma->vm_next) {
author maintainer
#19 lore raw

PATCH 14/37 PARISC: fix user-triggerable panic on parisc

In reply to Greg Kroah-Hartman

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

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

From: Al Viro <[email protected]>

commit 441a179dafc0f99fc8b3a8268eef66958621082e upstream.

int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, compat_sigset_t __user *oset,
unsigned int sigsetsize)

{
        sigset_t old_set, new_set;
        int ret;

        if (set && get_sigset32(set, &new_set, sigsetsize))

...
static int
get_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz)

{
        compat_sigset_t s;
        int r;

        if (sz != sizeof *set) panic("put_sigset32()");

In other words, rt_sigprocmask(69, (void *)69, 69) done by 32bit process will promptly panic the box.

---
 arch/parisc/kernel/signal32.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
arch/parisc/kernel/signal32.c +4 -2
@@ -67,7 +67,8 @@ put_sigset32(compat_sigset_t __user *up,
 {
 	compat_sigset_t s;
 
-	if (sz != sizeof *set) panic("put_sigset32()");
+	if (sz != sizeof *set)
+		return -EINVAL;
 	sigset_64to32(&s, set);
 
 	return copy_to_user(up, &s, sizeof s);
@@ -79,7 +80,8 @@ get_sigset32(compat_sigset_t __user *up,
 	compat_sigset_t s;
 	int r;
 
-	if (sz != sizeof *set) panic("put_sigset32()");
+	if (sz != sizeof *set)
+		return -EINVAL;
 
 	if ((r = copy_from_user(&s, up, sz)) == 0) {
 		sigset_32to64(set, &s);
author maintainer
#20 lore raw

PATCH 15/37 mtd: slram: invalid checking of absolute end address

In reply to Greg Kroah-Hartman

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

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

From: Jiri Engelthaler <[email protected]>

commit c36a7ff4578ab6294885aef5ef241aeec4cdb1f0 upstream.

Fixed parsing end absolute address.

---
 drivers/mtd/devices/slram.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/mtd/devices/slram.c +1 -1
@@ -266,7 +266,7 @@ static int parse_cmdline(char *devname,
 
 	if (*(szlength) != '+') {
 		devlength = simple_strtoul(szlength, &buffer, 0);
-		devlength = handle_unit(devlength, buffer) - devstart;
+		devlength = handle_unit(devlength, buffer);
 		if (devlength < devstart)
 			goto err_out;
 
author maintainer
#21 lore raw

PATCH 16/37 dm: fix deadlock with request based dm and queue request_fn recursion

In reply to Greg Kroah-Hartman

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

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

From: Jens Axboe <[email protected]>

commit a8c32a5c98943d370ea606a2e7dc04717eb92206 upstream.

Request based dm attempts to re-run the request queue off the request completion path. If used with a driver that potentially does end_io from its request_fn, we could deadlock trying to recurse back into request dispatch. Fix this by punting the request queue run to kblockd.

Tested to fix a quickly reproducible deadlock in such a scenario.

---
 drivers/md/dm.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
drivers/md/dm.c +7 -1
@@ -745,8 +745,14 @@ static void rq_completed(struct mapped_d
 	if (!md_in_flight(md))
 		wake_up(&md->wait);
 
+	/*
+	 * Run this off this callpath, as drivers could invoke end_io while
+	 * inside their request_fn (and holding the queue lock). Calling
+	 * back into ->request_fn() could deadlock attempting to grab the
+	 * queue lock again.
+	 */
 	if (run_queue)
-		blk_run_queue(md->queue);
+		blk_run_queue_async(md->queue);
 
 	/*
 	 * dm_put() must be at the end of this function. See the comment above
author maintainer
#22 lore raw

PATCH 17/37 futex: avoid wake_futex() for a PI futex_q

In reply to Greg Kroah-Hartman

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

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

From: Darren Hart <[email protected]>

commit aa10990e028cac3d5e255711fb9fb47e00700e35 upstream.

Dave Jones reported a bug with futex_lock_pi() that his trinity test exposed. Sometime between queue_me() and taking the q.lock_ptr, the lock_ptr became NULL, resulting in a crash.

While futex_wake() is careful to not call wake_futex() on futex_q's with a pi_state or an rt_waiter (which are either waiting for a futex_unlock_pi() or a PI futex_requeue()), futex_wake_op() and futex_requeue() do not perform the same test.

Update futex_wake_op() and futex_requeue() to test for q.pi_state and q.rt_waiter and abort with -EINVAL if detected. To ensure any future breakage is caught, add a WARN() to wake_futex() if the same condition is true.

This fix has seen 3 hours of testing with "trinity -c futex" on an x86_64 VM with 4 CPUS.

---
 kernel/futex.c |   18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)
kernel/futex.c +17 -1
@@ -843,6 +843,9 @@ static void wake_futex(struct futex_q *q
 {
 	struct task_struct *p = q->task;
 
+	if (WARN(q->pi_state || q->rt_waiter, "refusing to wake PI futex\n"))
+		return;
+
 	/*
 	 * We set q->lock_ptr = NULL _before_ we wake up the task. If
 	 * a non-futex wake up happens on another CPU then the task
@@ -1078,6 +1081,10 @@ retry_private:
 
 	plist_for_each_entry_safe(this, next, head, list) {
 		if (match_futex (&this->key, &key1)) {
+			if (this->pi_state || this->rt_waiter) {
+				ret = -EINVAL;
+				goto out_unlock;
+			}
 			wake_futex(this);
 			if (++ret >= nr_wake)
 				break;
@@ -1090,6 +1097,10 @@ retry_private:
 		op_ret = 0;
 		plist_for_each_entry_safe(this, next, head, list) {
 			if (match_futex (&this->key, &key2)) {
+				if (this->pi_state || this->rt_waiter) {
+					ret = -EINVAL;
+					goto out_unlock;
+				}
 				wake_futex(this);
 				if (++op_ret >= nr_wake2)
 					break;
@@ -1098,6 +1109,7 @@ retry_private:
 		ret += op_ret;
 	}
 
+out_unlock:
 	double_unlock_hb(hb1, hb2);
 out_put_keys:
 	put_futex_key(&key2);
@@ -1387,9 +1399,13 @@ retry_private:
 		/*
 		 * FUTEX_WAIT_REQEUE_PI and FUTEX_CMP_REQUEUE_PI should always
 		 * be paired with each other and no other futex ops.
+		 *
+		 * We should never be requeueing a futex_q with a pi_state,
+		 * which is awaiting a futex_unlock_pi().
 		 */
 		if ((requeue_pi && !this->rt_waiter) ||
-		    (!requeue_pi && this->rt_waiter)) {
+		    (!requeue_pi && this->rt_waiter) ||
+		    this->pi_state) {
 			ret = -EINVAL;
 			break;
 		}
author maintainer
#23 lore raw

PATCH 18/37 mac80211: deinitialize ibss-internals after emptiness check

In reply to Greg Kroah-Hartman

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

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

From: Simon Wunderlich <[email protected]>

commit b78a4932f5fb11fadf41e69c606a33fa6787574c upstream.

The check whether the IBSS is active and can be removed should be performed before deinitializing the fields used for the check/search. Otherwise, the configured BSS will not be found and removed properly.

To make it more clear for the future, rename sdata->u.ibss to the local pointer ifibss which is used within the checks.

This behaviour was introduced by
f3209bea110cade12e2b133da8b8499689cb0e2e
("mac80211: fix IBSS teardown race")

---
 net/mac80211/ibss.c |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
net/mac80211/ibss.c +4 -4
@@ -965,10 +965,6 @@ int ieee80211_ibss_leave(struct ieee8021
 
 	mutex_lock(&sdata->u.ibss.mtx);
 
-	sdata->u.ibss.state = IEEE80211_IBSS_MLME_SEARCH;
-	memset(sdata->u.ibss.bssid, 0, ETH_ALEN);
-	sdata->u.ibss.ssid_len = 0;
-
 	active_ibss = ieee80211_sta_active_ibss(sdata);
 
 	if (!active_ibss && !is_zero_ether_addr(ifibss->bssid)) {
@@ -989,6 +985,10 @@ int ieee80211_ibss_leave(struct ieee8021
 		}
 	}
 
+	ifibss->state = IEEE80211_IBSS_MLME_SEARCH;
+	memset(ifibss->bssid, 0, ETH_ALEN);
+	ifibss->ssid_len = 0;
+
 	sta_info_flush(sdata->local, sdata);
 
 	/* remove beacon */
author maintainer
#24 lore raw

PATCH 19/37 radeon: add AGPMode 1 quirk for RV250

In reply to Greg Kroah-Hartman

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

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

From: Paul Bolle <[email protected]>

commit 45171002b01b2e2ec4f991eca81ffd8430fd0aec upstream.

The Intel 82855PM host bridge / Mobility FireGL 9000 RV250 combination in an (outdated) ThinkPad T41 needs AGPMode 1 for suspend/resume (under KMS, that is). So add a quirk for it.

(Change R250 to RV250 in comment for preceding quirk too.)

---
 drivers/gpu/drm/radeon/radeon_agp.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/gpu/drm/radeon/radeon_agp.c +4 -1
@@ -70,9 +70,12 @@ static struct radeon_agpmode_quirk radeo
 	/* Intel 82830 830 Chipset Host Bridge / Mobility M6 LY Needs AGPMode 2 (fdo #17360)*/
 	{ PCI_VENDOR_ID_INTEL, 0x3575, PCI_VENDOR_ID_ATI, 0x4c59,
 		PCI_VENDOR_ID_DELL, 0x00e3, 2},
-	/* Intel 82852/82855 host bridge / Mobility FireGL 9000 R250 Needs AGPMode 1 (lp #296617) */
+	/* Intel 82852/82855 host bridge / Mobility FireGL 9000 RV250 Needs AGPMode 1 (lp #296617) */
 	{ PCI_VENDOR_ID_INTEL, 0x3580, PCI_VENDOR_ID_ATI, 0x4c66,
 		PCI_VENDOR_ID_DELL, 0x0149, 1},
+	/* Intel 82855PM host bridge / Mobility FireGL 9000 RV250 Needs AGPMode 1 for suspend/resume */
+	{ PCI_VENDOR_ID_INTEL, 0x3340, PCI_VENDOR_ID_ATI, 0x4c66,
+		PCI_VENDOR_ID_IBM, 0x0531, 1},
 	/* Intel 82852/82855 host bridge / Mobility 9600 M10 RV350 Needs AGPMode 1 (deb #467460) */
 	{ PCI_VENDOR_ID_INTEL, 0x3580, PCI_VENDOR_ID_ATI, 0x4e50,
 		0x1025, 0x0061, 1},
author maintainer
#25 lore raw

PATCH 20/37 can: bcm: initialize ifindex for timeouts without previous frame reception

In reply to Greg Kroah-Hartman

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

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

From: Oliver Hartkopp <[email protected]>

commit 81b401100c01d2357031e874689f89bd788d13cd upstream.

Set in the rx_ifindex to pass the correct interface index in the case of a message timeout detection. Usually the rx_ifindex value is set at receive time. But when no CAN frame has been received the RX_TIMEOUT notification did not contain a valid value.

---
 net/can/bcm.c |    3 +++
 1 file changed, 3 insertions(+)
net/can/bcm.c +3 -0
@@ -1085,6 +1085,9 @@ static int bcm_rx_setup(struct bcm_msg_h
 		op->sk = sk;
 		op->ifindex = ifindex;
 
+		/* ifindex for timeout events w/o previous frame reception */
+		op->rx_ifindex = ifindex;
+
 		/* initialize uninitialized (kzalloc) structure */
 		hrtimer_init(&op->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
 		op->timer.function = bcm_rx_timeout_handler;
author maintainer
#26 lore raw

PATCH 21/37 jbd: Fix lock ordering bug in journal_unmap_buffer()

In reply to Greg Kroah-Hartman

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

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

From: Jan Kara <[email protected]>

commit 25389bb207987b5774182f763b9fb65ff08761c8 upstream.

Commit 09e05d48 introduced a wait for transaction commit into journal_unmap_buffer() in the case we are truncating a buffer undergoing commit in the page stradding i_size on a filesystem with blocksize < pagesize. Sadly we forgot to drop buffer lock before waiting for transaction commit and thus deadlock is possible when kjournald wants to lock the buffer.

Fix the problem by dropping the buffer lock before waiting for transaction commit. Since we are still holding page lock (and that is OK), buffer cannot disappear under us.

---
 fs/jbd/transaction.c |    2 ++
 1 file changed, 2 insertions(+)
fs/jbd/transaction.c +2 -0
@@ -1955,7 +1955,9 @@ retry:
 			spin_unlock(&journal->j_list_lock);
 			jbd_unlock_bh_state(bh);
 			spin_unlock(&journal->j_state_lock);
+			unlock_buffer(bh);
 			log_wait_commit(journal, tid);
+			lock_buffer(bh);
 			goto retry;
 		}
 		/*
author maintainer
#27 lore raw

PATCH 22/37 sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

In reply to Greg Kroah-Hartman

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

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

From: Al Viro <[email protected]>

commit fae2ae2a900a5c7bb385fe4075f343e7e2d5daa2 upstream.

If a signal handler is executed on altstack and another signal comes, we will end up with rt_sigreturn() on return from the second handler getting -EPERM from do_sigaltstack(). It's perfectly OK, since we are not asking to change the settings; in fact, they couldn't have been changed during the second handler execution exactly because we'd been on altstack all along. 64bit sigreturn on sparc treats any error from do_sigaltstack() as "SIGSEGV now"; we need to switch to the same semantics we are using on other architectures.

---
 arch/sparc/kernel/signal_64.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
arch/sparc/kernel/signal_64.c +1 -3
@@ -309,9 +309,7 @@ void do_rt_sigreturn(struct pt_regs *reg
 		err |= restore_fpu_state(regs, fpu_save);
 
 	err |= __copy_from_user(&set, &sf->mask, sizeof(sigset_t));
-	err |= do_sigaltstack(&sf->stack, NULL, (unsigned long)sf);
-
-	if (err)
+	if (err || do_sigaltstack(&sf->stack, NULL, (unsigned long)sf) == -EFAULT)
 		goto segv;
 
 	err |= __get_user(rwin_save, &sf->rwin_save);
author maintainer
#28 lore raw

PATCH 23/37 ALSA: hda - Add new codec ALC283 ALC290 support

In reply to Greg Kroah-Hartman

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

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

From: Kailang Yang <[email protected]>

commit 7ff34ad80b7080fafaac8efa9ef0061708eddd51 upstream.

These are compatible with standard ALC269 parser.

---
 sound/pci/hda/patch_realtek.c |    2 ++
 1 file changed, 2 insertions(+)
sound/pci/hda/patch_realtek.c +2 -0
@@ -20134,6 +20134,8 @@ static const struct hda_codec_preset snd
 	{ .id = 0x10ec0276, .name = "ALC276", .patch = patch_alc269 },
 	{ .id = 0x10ec0280, .name = "ALC280", .patch = patch_alc269 },
 	{ .id = 0x10ec0282, .name = "ALC282", .patch = patch_alc269 },
+	{ .id = 0x10ec0283, .name = "ALC283", .patch = patch_alc269 },
+	{ .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 },
 	{ .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
 	  .patch = patch_alc861 },
 	{ .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd },
author maintainer
#29 lore raw

PATCH 24/37 ALSA: hda - Fix missing beep on ASUS X43U notebook

In reply to Greg Kroah-Hartman

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

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

From: Duncan Roe <[email protected]>

commit 7110005e8d5c3cd418fc4b64f9f124f004422a9a upstream.

---
 sound/pci/hda/patch_realtek.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/patch_realtek.c +1 -0
@@ -5967,6 +5967,7 @@ static void fillup_priv_adc_nids(struct
 	((spec)->beep_amp = HDA_COMPOSE_AMP_VAL(nid, 3, idx, dir))
 
 static const struct snd_pci_quirk beep_white_list[] = {
+	SND_PCI_QUIRK(0x1043, 0x103c, "ASUS", 1),
 	SND_PCI_QUIRK(0x1043, 0x829f, "ASUS", 1),
 	SND_PCI_QUIRK(0x1043, 0x83ce, "EeePC", 1),
 	SND_PCI_QUIRK(0x1043, 0x831a, "EeePC", 1),
author maintainer
#30 lore raw

PATCH 25/37 ALSA: hda - Add support for Realtek ALC292

In reply to Greg Kroah-Hartman

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

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

From: David Henningsson <[email protected]>

commit af02dde8a609d8d071c4b31a82df811a55690a4a upstream.

We found a new codec ID 292, and that just a simple quirk would enable sound output/input on this ALC292 chip.

---
 sound/pci/hda/patch_realtek.c |    1 +
 1 file changed, 1 insertion(+)
sound/pci/hda/patch_realtek.c +1 -0
@@ -20137,6 +20137,7 @@ static const struct hda_codec_preset snd
 	{ .id = 0x10ec0282, .name = "ALC282", .patch = patch_alc269 },
 	{ .id = 0x10ec0283, .name = "ALC283", .patch = patch_alc269 },
 	{ .id = 0x10ec0290, .name = "ALC290", .patch = patch_alc269 },
+	{ .id = 0x10ec0292, .name = "ALC292", .patch = patch_alc269 },
 	{ .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
 	  .patch = patch_alc861 },
 	{ .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd },
author maintainer
#31 lore raw

PATCH 26/37 bas_gigaset: fix pre_reset handling

In reply to Greg Kroah-Hartman

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

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

From: Tilman Schmidt <[email protected]>

commit c6fdd8e5d0c65bb8821dc6da26ee1a2ddd58b3cc upstream.

The delayed work function int_in_work() may call usb_reset_device() and thus, indirectly, the driver's pre_reset method. Trying to cancel the work synchronously in that situation would deadlock. Fix by avoiding cancel_work_sync() in the pre_reset method.

If the reset was NOT initiated by int_in_work() this might cause int_in_work() to run after the post_reset method, with urb_int_in already resubmitted, so handle that case gracefully.

---
 drivers/isdn/gigaset/bas-gigaset.c |   19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)
drivers/isdn/gigaset/bas-gigaset.c +16 -3
@@ -616,7 +616,13 @@ static void int_in_work(struct work_stru
 	if (rc == 0)
 		/* success, resubmit interrupt read URB */
 		rc = usb_submit_urb(urb, GFP_ATOMIC);
-	if (rc != 0 && rc != -ENODEV) {
+
+	switch (rc) {
+	case 0:		/* success */
+	case -ENODEV:	/* device gone */
+	case -EINVAL:	/* URB already resubmitted, or terminal badness */
+		break;
+	default:	/* failure: try to recover by resetting the device */
 		dev_err(cs->dev, "clear halt failed: %s\n", get_usb_rcmsg(rc));
 		rc = usb_lock_device_for_reset(ucs->udev, ucs->interface);
 		if (rc == 0) {
@@ -2437,7 +2443,9 @@ static void gigaset_disconnect(struct us
 }
 
 /* gigaset_suspend
- * This function is called before the USB connection is suspended.
+ * This function is called before the USB connection is suspended
+ * or before the USB device is reset.
+ * In the latter case, message == PMSG_ON.
  */
 static int gigaset_suspend(struct usb_interface *intf, pm_message_t message)
 {
@@ -2493,7 +2501,12 @@ static int gigaset_suspend(struct usb_in
 	del_timer_sync(&ucs->timer_atrdy);
 	del_timer_sync(&ucs->timer_cmd_in);
 	del_timer_sync(&ucs->timer_int_in);
-	cancel_work_sync(&ucs->int_in_wq);
+
+	/* don't try to cancel int_in_wq from within reset as it
+	 * might be the one requesting the reset
+	 */
+	if (message.event != PM_EVENT_ON)
+		cancel_work_sync(&ucs->int_in_wq);
 
 	gig_dbg(DEBUG_SUSPEND, "suspend complete");
 	return 0;
author maintainer
#32 lore raw

PATCH 27/37 ixgbe: add support for X540-AT1

In reply to Greg Kroah-Hartman

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

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

From: "[email protected]" <[email protected]>

commit df376f0de167754da9b3ece4afdb5bb8bf3fbf3e upstream.

This patch adds device support for Ethernet Controller X540-AT1.

---
 drivers/net/ixgbe/ixgbe_common.c |    1 +
 drivers/net/ixgbe/ixgbe_main.c   |    2 ++
 drivers/net/ixgbe/ixgbe_type.h   |    1 +
 3 files changed, 4 insertions(+)
drivers/net/ixgbe/ixgbe_common.c +1 -0
@@ -3181,6 +3181,7 @@ static s32 ixgbe_device_supports_autoneg
 
 	switch (hw->device_id) {
 	case IXGBE_DEV_ID_X540T:
+	case IXGBE_DEV_ID_X540T1:
 		return 0;
 	case IXGBE_DEV_ID_82599_T3_LOM:
 		return 0;
drivers/net/ixgbe/ixgbe_main.c +2 -0
@@ -129,6 +129,8 @@ static DEFINE_PCI_DEVICE_TABLE(ixgbe_pci
 	 board_82599 },
 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS),
 	 board_82599 },
+	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1),
+	 board_X540 },
 
 	/* required last entry */
 	{0, }
drivers/net/ixgbe/ixgbe_type.h +1 -0
@@ -64,6 +64,7 @@
 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ  0x000C
 #define IXGBE_DEV_ID_82599_LS            0x154F
 #define IXGBE_DEV_ID_X540T               0x1528
+#define IXGBE_DEV_ID_X540T1              0x1560
 
 /* General Registers */
 #define IXGBE_CTRL      0x00000
author maintainer
#33 lore raw

PATCH 28/37 sata_svw: check DMA start bit before reset

In reply to Greg Kroah-Hartman

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

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

From: David Milburn <[email protected]>

commit b03e66a6be91f8389fcd902ab6c1563db1c9c06b upstream.

If kdump is triggered with pending IO, controller may not respond causing kdump to fail.

http://marc.info/?l=linux-ide&m=133032255424658&w=2

During error recovery ata_do_dev_read_id never completes due hang in mmio_insw.

ata_do_dev_read_id
ata_sff_data_xfer
ioread16_rep
mmio_insw

if DMA start bit is cleared before reset, PIO command is successful and kdump succeeds.

---
 drivers/ata/sata_svw.c |   35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
drivers/ata/sata_svw.c +35 -0
@@ -142,6 +142,39 @@ static int k2_sata_scr_write(struct ata_
 	return 0;
 }
 
+static int k2_sata_softreset(struct ata_link *link,
+			     unsigned int *class, unsigned long deadline)
+{
+	u8 dmactl;
+	void __iomem *mmio = link->ap->ioaddr.bmdma_addr;
+
+	dmactl = readb(mmio + ATA_DMA_CMD);
+
+	/* Clear the start bit */
+	if (dmactl & ATA_DMA_START) {
+		dmactl &= ~ATA_DMA_START;
+		writeb(dmactl, mmio + ATA_DMA_CMD);
+	}
+
+	return ata_sff_softreset(link, class, deadline);
+}
+
+static int k2_sata_hardreset(struct ata_link *link,
+			     unsigned int *class, unsigned long deadline)
+{
+	u8 dmactl;
+	void __iomem *mmio = link->ap->ioaddr.bmdma_addr;
+
+	dmactl = readb(mmio + ATA_DMA_CMD);
+
+	/* Clear the start bit */
+	if (dmactl & ATA_DMA_START) {
+		dmactl &= ~ATA_DMA_START;
+		writeb(dmactl, mmio + ATA_DMA_CMD);
+	}
+
+	return sata_sff_hardreset(link, class, deadline);
+}
 
 static void k2_sata_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
 {
@@ -346,6 +379,8 @@ static struct scsi_host_template k2_sata
 
 static struct ata_port_operations k2_sata_ops = {
 	.inherits		= &ata_bmdma_port_ops,
+	.softreset              = k2_sata_softreset,
+	.hardreset              = k2_sata_hardreset,
 	.sff_tf_load		= k2_sata_tf_load,
 	.sff_tf_read		= k2_sata_tf_read,
 	.sff_check_status	= k2_stat_check_status,
author maintainer
#34 lore raw

PATCH 29/37 ixgbe: add support for new 82599 device

In reply to Greg Kroah-Hartman

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

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

From: Emil Tantilov <[email protected]>

commit 7d145282da8d1ae4ba5f7ead8a4f51183496803c upstream.

This patch adds support for new device ID.

---
 drivers/net/ixgbe/ixgbe_82599.c |    1 +
 drivers/net/ixgbe/ixgbe_main.c  |    2 ++
 drivers/net/ixgbe/ixgbe_type.h  |    1 +
 3 files changed, 4 insertions(+)
drivers/net/ixgbe/ixgbe_82599.c +1 -0
@@ -360,6 +360,7 @@ static enum ixgbe_media_type ixgbe_get_m
 	case IXGBE_DEV_ID_82599_SFP_FCOE:
 	case IXGBE_DEV_ID_82599_SFP_EM:
 	case IXGBE_DEV_ID_82599_SFP_SF2:
+	case IXGBE_DEV_ID_82599EN_SFP:
 		media_type = ixgbe_media_type_fiber;
 		break;
 	case IXGBE_DEV_ID_82599_CX4:
drivers/net/ixgbe/ixgbe_main.c +2 -0
@@ -129,6 +129,8 @@ static DEFINE_PCI_DEVICE_TABLE(ixgbe_pci
 	 board_82599 },
 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_LS),
 	 board_82599 },
+	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP),
+	 board_82599 },
 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1),
 	 board_X540 },
 
drivers/net/ixgbe/ixgbe_type.h +1 -0
@@ -59,6 +59,7 @@
 #define IXGBE_SUBDEV_ID_82599_SFP        0x11A9
 #define IXGBE_DEV_ID_82599_SFP_EM        0x1507
 #define IXGBE_DEV_ID_82599_SFP_SF2       0x154D
+#define IXGBE_DEV_ID_82599EN_SFP         0x1557
 #define IXGBE_DEV_ID_82599_XAUI_LOM      0x10FC
 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8
 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ  0x000C
author maintainer
#35 lore raw

PATCH 30/37 ixgbe: add support for new 82599 device id

In reply to Greg Kroah-Hartman

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

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

From: Emil Tantilov <[email protected]>

commit 9e791e4a04c08868f02cd579a428a7268492e1b4 upstream.

Support for new 82599 based quad port adapter.

---
 drivers/net/ixgbe/ixgbe_82599.c |    1 +
 drivers/net/ixgbe/ixgbe_main.c  |    2 ++
 drivers/net/ixgbe/ixgbe_type.h  |    1 +
 3 files changed, 4 insertions(+)
drivers/net/ixgbe/ixgbe_82599.c +1 -0
@@ -361,6 +361,7 @@ static enum ixgbe_media_type ixgbe_get_m
 	case IXGBE_DEV_ID_82599_SFP_EM:
 	case IXGBE_DEV_ID_82599_SFP_SF2:
 	case IXGBE_DEV_ID_82599EN_SFP:
+	case IXGBE_DEV_ID_82599_SFP_SF_QP:
 		media_type = ixgbe_media_type_fiber;
 		break;
 	case IXGBE_DEV_ID_82599_CX4:
drivers/net/ixgbe/ixgbe_main.c +2 -0
@@ -131,6 +131,8 @@ static DEFINE_PCI_DEVICE_TABLE(ixgbe_pci
 	 board_82599 },
 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599EN_SFP),
 	 board_82599 },
+	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_SFP_SF_QP),
+	 board_82599 },
 	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540T1),
 	 board_X540 },
 
drivers/net/ixgbe/ixgbe_type.h +1 -0
@@ -64,6 +64,7 @@
 #define IXGBE_DEV_ID_82599_COMBO_BACKPLANE 0x10F8
 #define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ  0x000C
 #define IXGBE_DEV_ID_82599_LS            0x154F
+#define IXGBE_DEV_ID_82599_SFP_SF_QP     0x154A
 #define IXGBE_DEV_ID_X540T               0x1528
 #define IXGBE_DEV_ID_X540T1              0x1560
 
author maintainer
#36 lore raw

PATCH 31/37 get_dvb_firmware: fix download site for tda10046 firmware

In reply to Greg Kroah-Hartman

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

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

From: Mauro Carvalho Chehab <[email protected]>

commit 25ec43d3e6306978cf66060ed18c4160ce8fc302 upstream.

The previous website doesn't exist anymore. Update it to one site that actually exists.

---
 Documentation/dvb/get_dvb_firmware |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Documentation/dvb/get_dvb_firmware +1 -1
@@ -114,7 +114,7 @@ sub tda10045 {
 
 sub tda10046 {
 	my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip";
-	my $url = "http://www.tt-download.com/download/updates/219/$sourcefile";
+	my $url = "http://technotrend.com.ua/download/software/219/$sourcefile";
 	my $hash = "6a7e1e2f2644b162ff0502367553c72d";
 	my $outfile = "dvb-fe-tda10046.fw";
 	my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
author maintainer
#37 lore raw

PATCH 32/37 USB: mct_u232: fix broken close

In reply to Greg Kroah-Hartman

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

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

From: Johan Hovold <[email protected]>

commit 5260e458f5eff269a43e4f1e9c47186c57b88ddb upstream.

Make sure generic close is called at close.

The driver relies on the generic write implementation but did not call generic close.

Note that the call to kill the read urb is not redundant, as mct_u232 uses an interrupt urb from the second port as the read urb and that generic close therefore fails to kill it.

Compile-only tested.

[bwh: Backported to 3.2: adjust context]
---
 drivers/usb/serial/mct_u232.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
drivers/usb/serial/mct_u232.c +8 -6
@@ -577,12 +577,14 @@ static void mct_u232_close(struct usb_se
 {
 	dbg("%s port %d", __func__, port->number);
 
-	if (port->serial->dev) {
-		/* shutdown our urbs */
-		usb_kill_urb(port->write_urb);
-		usb_kill_urb(port->read_urb);
-		usb_kill_urb(port->interrupt_in_urb);
-	}
+	/*
+	 * Must kill the read urb as it is actually an interrupt urb, which
+	 * generic close thus fails to kill.
+	 */
+	usb_kill_urb(port->read_urb);
+	usb_kill_urb(port->interrupt_in_urb);
+
+	usb_serial_generic_close(port);
 } /* mct_u232_close */
 
 
author maintainer
#38 lore raw

PATCH 33/37 watchdog: using u64 in get_sample_period()

In reply to Greg Kroah-Hartman

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

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

From: Chuansheng Liu <[email protected]>

commit 8ffeb9b0e6369135bf03a073514f571ef10606b9 upstream.

In get_sample_period(), unsigned long is not enough:

watchdog_thresh * 2 * (NSEC_PER_SEC / 5)

case1:
watchdog_thresh is 10 by default, the sample value will be: 0xEE6B2800

case2:
set watchdog_thresh is 20, the sample value will be: 0x1 DCD6 5000

In case2, we need use u64 to express the sample period. Otherwise, changing the threshold thru proc often can not be successful.

---
 kernel/watchdog.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
kernel/watchdog.c +2 -2
@@ -113,7 +113,7 @@ static unsigned long get_timestamp(int t
 	return cpu_clock(this_cpu) >> 30LL;  /* 2^30 ~= 10^9 */
 }
 
-static unsigned long get_sample_period(void)
+static u64 get_sample_period(void)
 {
 	/*
 	 * convert watchdog_thresh from seconds to ns
@@ -121,7 +121,7 @@ static unsigned long get_sample_period(v
 	 * increment before the hardlockup detector generates
 	 * a warning
 	 */
-	return get_softlockup_thresh() * (NSEC_PER_SEC / 5);
+	return get_softlockup_thresh() * ((u64)NSEC_PER_SEC / 5);
 }
 
 /* Commands for resetting the watchdog */
author maintainer
#39 lore raw

PATCH 34/37 acer-wmi: support for P key on TM8372

In reply to Greg Kroah-Hartman

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

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

From: Merlin Schumacher <[email protected]>

commit 67e1d34cd54cbf33f093f1dd53e7bda1124eb972 upstream.

There is no entry for P key on TM8372, so when P key is pressed, only "acer_wmi: Unknown key number - 0x29" in dmesg.

---
 drivers/platform/x86/acer-wmi.c |    1 +
 1 file changed, 1 insertion(+)
drivers/platform/x86/acer-wmi.c +1 -0
@@ -104,6 +104,7 @@ static const struct key_entry acer_wmi_k
 	{KE_KEY, 0x22, {KEY_PROG2} },    /* Arcade */
 	{KE_KEY, 0x23, {KEY_PROG3} },    /* P_Key */
 	{KE_KEY, 0x24, {KEY_PROG4} },    /* Social networking_Key */
+	{KE_KEY, 0x29, {KEY_PROG3} },    /* P_Key for TM8372 */
 	{KE_IGNORE, 0x41, {KEY_MUTE} },
 	{KE_IGNORE, 0x42, {KEY_PREVIOUSSONG} },
 	{KE_IGNORE, 0x43, {KEY_NEXTSONG} },
author maintainer
#40 lore raw

PATCH 35/37 x86, mce, therm_throt: Dont report power limit and package level thermal throttle events in mcelog

In reply to Greg Kroah-Hartman

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

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

From: Fenghua Yu <[email protected]>

commit 29e9bf1841e4f9df13b4992a716fece7087dd237 upstream.

Thermal throttle and power limit events are not defined as MCE errors in x86 architecture and should not generate MCE errors in mcelog.

Current kernel generates fake software defined MCE errors for these events. This may confuse users because they may think the machine has real MCE errors while actually only thermal throttle or power limit events happen.

To make it worse, buggy firmware on some platforms may falsely generate the events. Therefore, kernel reports MCE errors which users think as real hardware errors. Although the firmware bugs should be fixed, on the other hand, kernel should not report MCE errors either.

So mcelog is not a good mechanism to report these events. To report the events, we count them in respective counters (core_power_limit_count, package_power_limit_count, core_throttle_count, and package_throttle_count) in /sys/devices/system/cpu/cpu#/thermal_throttle/. Users can check the counters
for each event on each CPU. Please note that all CPU's on one package report
duplicate counters. It's user application's responsibity to retrieve a package
level counter for one package.

This patch doesn't report package level power limit, core level power limit, and package level thermal throttle events in mcelog. When the events happen, only report them in respective counters in sysfs.

Since core level thermal throttle has been legacy code in kernel for a while and users accepted it as MCE error in mcelog, core level thermal throttle is still reported in mcelog. In the mean time, the event is counted in a counter in sysfs as well.

---
 arch/x86/kernel/cpu/mcheck/therm_throt.c |   29 +++++++----------------------
 1 file changed, 7 insertions(+), 22 deletions(-)
arch/x86/kernel/cpu/mcheck/therm_throt.c +7 -22
@@ -322,17 +322,6 @@ device_initcall(thermal_throttle_init_de
 
 #endif /* CONFIG_SYSFS */
 
-/*
- * Set up the most two significant bit to notify mce log that this thermal
- * event type.
- * This is a temp solution. May be changed in the future with mce log
- * infrasture.
- */
-#define CORE_THROTTLED		(0)
-#define CORE_POWER_LIMIT	((__u64)1 << 62)
-#define PACKAGE_THROTTLED	((__u64)2 << 62)
-#define PACKAGE_POWER_LIMIT	((__u64)3 << 62)
-
 static void notify_thresholds(__u64 msr_val)
 {
 	/* check whether the interrupt handler is defined;
@@ -362,27 +351,23 @@ static void intel_thermal_interrupt(void
 	if (therm_throt_process(msr_val & THERM_STATUS_PROCHOT,
 				THERMAL_THROTTLING_EVENT,
 				CORE_LEVEL) != 0)
-		mce_log_therm_throt_event(CORE_THROTTLED | msr_val);
+		mce_log_therm_throt_event(msr_val);
 
 	if (this_cpu_has(X86_FEATURE_PLN))
-		if (therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
+		therm_throt_process(msr_val & THERM_STATUS_POWER_LIMIT,
 					POWER_LIMIT_EVENT,
-					CORE_LEVEL) != 0)
-			mce_log_therm_throt_event(CORE_POWER_LIMIT | msr_val);
+					CORE_LEVEL);
 
 	if (this_cpu_has(X86_FEATURE_PTS)) {
 		rdmsrl(MSR_IA32_PACKAGE_THERM_STATUS, msr_val);
-		if (therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
+		therm_throt_process(msr_val & PACKAGE_THERM_STATUS_PROCHOT,
 					THERMAL_THROTTLING_EVENT,
-					PACKAGE_LEVEL) != 0)
-			mce_log_therm_throt_event(PACKAGE_THROTTLED | msr_val);
+					PACKAGE_LEVEL);
 		if (this_cpu_has(X86_FEATURE_PLN))
-			if (therm_throt_process(msr_val &
+			therm_throt_process(msr_val &
 					PACKAGE_THERM_STATUS_POWER_LIMIT,
 					POWER_LIMIT_EVENT,
-					PACKAGE_LEVEL) != 0)
-				mce_log_therm_throt_event(PACKAGE_POWER_LIMIT
-							  | msr_val);
+					PACKAGE_LEVEL);
 	}
 }
 
author maintainer
#41 lore raw

PATCH 36/37 Input: bcm5974 - set BUTTONPAD property

In reply to Greg Kroah-Hartman

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

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

From: Jussi Pakkanen <[email protected]>

commit 52965cc012f7a3cf35f06485ec275ebf3b3fddae upstream.

Some bcm5974 trackpads have a physical button beneath the physical surface. This patch sets the property bit so user space applications can detect the trackpad type and act accordingly.

---
 drivers/input/mouse/bcm5974.c |    3 +++
 1 file changed, 3 insertions(+)
drivers/input/mouse/bcm5974.c +3 -0
@@ -373,6 +373,9 @@ static void setup_events_to_report(struc
 	__set_bit(BTN_TOOL_QUADTAP, input_dev->keybit);
 	__set_bit(BTN_LEFT, input_dev->keybit);
 
+	if (cfg->caps & HAS_INTEGRATED_BUTTON)
+		__set_bit(INPUT_PROP_BUTTONPAD, input_dev->propbit);
+
 	input_set_events_per_packet(input_dev, 60);
 }
 
author maintainer
#42 lore raw

PATCH 37/37 mmc: sdhci-s3c: fix the wrong number of max bus clocks

In reply to Greg Kroah-Hartman

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

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

From: Jaehoon Chung <[email protected]>

commit 5feb54a1ab91a237e247c013b8c4fb100ea347b1 upstream.

We can use up to four bus-clocks; but on module remove, we didn't disable the fourth bus clock.

---
 drivers/mmc/host/sdhci-s3c.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/mmc/host/sdhci-s3c.c +1 -1
@@ -589,7 +589,7 @@ static int __devexit sdhci_s3c_remove(st
 
 	sdhci_remove_host(host, 1);
 
-	for (ptr = 0; ptr < 3; ptr++) {
+	for (ptr = 0; ptr < MAX_BUS_CLK; ptr++) {
 		if (sc->clk_bus[ptr]) {
 			clk_disable(sc->clk_bus[ptr]);
 			clk_put(sc->clk_bus[ptr]);
#43 lore raw
In reply to Greg Kroah-Hartman

At Fri, 30 Nov 2012 10:45:47 -0800,

Quoted 6 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 3.0.54 release. There are 37 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.

Quoted 6 lines

Responses should be made by Sun Dec 2 18:36:43 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.0.54-rc1.gz

and the diffstat can be found below.

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

Thanks,
Satoru

Quoted 172 lines

thanks,

greg k-h

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

Greg Kroah-Hartman <[email protected]>

    Linux 3.0.54-rc1

Jaehoon Chung <[email protected]>
mmc: sdhci-s3c: fix the wrong number of max bus clocks

Jussi Pakkanen <[email protected]>
Input: bcm5974 - set BUTTONPAD property

Fenghua Yu <[email protected]>
x86, mce, therm_throt: Don't report power limit and package level thermal throttle events in mcelog

Merlin Schumacher <[email protected]>
acer-wmi: support for P key on TM8372

Chuansheng Liu <[email protected]>
watchdog: using u64 in get_sample_period()

Johan Hovold <[email protected]>
USB: mct_u232: fix broken close

Mauro Carvalho Chehab <[email protected]>
get_dvb_firmware: fix download site for tda10046 firmware

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device id

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device

David Milburn <[email protected]>
sata_svw: check DMA start bit before reset

[email protected] <[email protected]>
ixgbe: add support for X540-AT1

Tilman Schmidt <[email protected]>
bas_gigaset: fix pre_reset handling

David Henningsson <[email protected]>
ALSA: hda - Add support for Realtek ALC292

Duncan Roe <[email protected]>
ALSA: hda - Fix missing beep on ASUS X43U notebook

Kailang Yang <[email protected]>
ALSA: hda - Add new codec ALC283 ALC290 support

Al Viro <[email protected]>
sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

Jan Kara <[email protected]>
jbd: Fix lock ordering bug in journal_unmap_buffer()

Oliver Hartkopp <[email protected]>
can: bcm: initialize ifindex for timeouts without previous frame reception

Paul Bolle <[email protected]>
radeon: add AGPMode 1 quirk for RV250

Simon Wunderlich <[email protected]>
mac80211: deinitialize ibss-internals after emptiness check

Darren Hart <[email protected]>
futex: avoid wake_futex() for a PI futex_q

Jens Axboe <[email protected]>
dm: fix deadlock with request based dm and queue request_fn recursion

Jiri Engelthaler <[email protected]>
mtd: slram: invalid checking of absolute end address

Al Viro <[email protected]>
PARISC: fix user-triggerable panic on parisc

James Bottomley <[email protected]>
PARISC: fix virtual aliasing issue in get_shared_area()

David Henningsson <[email protected]>
ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

Clemens Ladisch <[email protected]>
ALSA: ua101, usx2y: fix broken MIDI output

Maciej Patelczyk <[email protected]>

    SCSI: isci: copy fis 0x34 response into proper buffer

Bing Zhao <[email protected]>
mwifiex: report error to MMC core if we cannot suspend

Albert Pool <[email protected]>
rtlwifi: rtl8192cu: Add new USB ID

Boris Ostrovsky <[email protected]>
x86, microcode, AMD: Add support for family 16h processors

Robert Richter <[email protected]>
x86-32: Fix invalid stack address while in softirq

David S. Miller <[email protected]>
ifenslave: Fix unused variable warnings.

Danny Kukawka <[email protected]>
riva/fbdev: fix several -Wuninitialized

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix -Wuninitialized warning

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning

Takashi Iwai <[email protected]>
ALSA: pcmcia - Use pcmcia_request_irq()

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

Diffstat:

 Documentation/dvb/get_dvb_firmware          |  2 +-
 Documentation/networking/ifenslave.c        |  2 ++
 Makefile                                    |  4 ++--
 arch/parisc/kernel/signal32.c               |  6 ++++--
 arch/parisc/kernel/sys_parisc.c             |  2 ++
 arch/sparc/kernel/signal_64.c               |  4 +---
 arch/x86/include/asm/ptrace.h               | 15 ++++-----------
 arch/x86/kernel/cpu/mcheck/therm_throt.c    | 29 +++++++----------------------
 arch/x86/kernel/microcode_amd.c             |  4 ++++
 arch/x86/kernel/ptrace.c                    | 28 ++++++++++++++++++++++++++++
 drivers/ata/sata_svw.c                      | 35 +++++++++++++++++++++++++++++++++++
 drivers/block/DAC960.c                      | 18 ++++++++++--------
 drivers/gpu/drm/radeon/radeon_agp.c         |  5 ++++-
 drivers/input/mouse/bcm5974.c               |  3 +++
 drivers/isdn/gigaset/bas-gigaset.c          | 19 ++++++++++++++++---
 drivers/md/dm.c                             |  8 +++++++-
 drivers/mmc/host/sdhci-s3c.c                |  2 +-
 drivers/mtd/devices/slram.c                 |  2 +-
 drivers/net/ixgbe/ixgbe_82599.c             |  2 ++
 drivers/net/ixgbe/ixgbe_common.c            |  1 +
 drivers/net/ixgbe/ixgbe_main.c              |  6 ++++++
 drivers/net/ixgbe/ixgbe_type.h              |  3 +++
 drivers/net/wireless/mwifiex/sdio.c         | 11 ++++++-----
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |  1 +
 drivers/platform/x86/acer-wmi.c             |  1 +
 drivers/scsi/isci/request.c                 |  2 +-
 drivers/usb/serial/mct_u232.c               | 14 ++++++++------
 drivers/video/riva/fbdev.c                  |  5 ++---
 fs/jbd/transaction.c                        |  2 ++
 kernel/futex.c                              | 18 +++++++++++++++++-
 kernel/watchdog.c                           |  4 ++--
 net/can/bcm.c                               |  3 +++
 net/mac80211/ibss.c                         |  8 ++++----
 sound/pci/hda/patch_cirrus.c                |  1 +
 sound/pci/hda/patch_realtek.c               |  4 ++++
 sound/pcmcia/pdaudiocf/pdaudiocf.c          |  2 +-
 sound/pcmcia/vx/vxpocket.c                  |  2 +-
 sound/usb/midi.c                            |  8 ++++++--
 38 files changed, 204 insertions(+), 82 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

maintainer
#44 lore raw

Satoru, I just want to let you know that, because you encode your emails using ISO-2022-JP-2, nearly half of the subscribers to the vger.kernel.org mailing lists bounce your postings.

I know it's stupid, and it's mostly a Microsoft Exchange issue, but it does mean that people that you may wish to see your emails are not. This includes developers at major sites such as cisco.com and intel.com

I even saw toshiba.co.jp bounce your postings because of this encoding issue.

Anyways, just FYI...

#45 lore raw
Quoted 10 lines · David Miller

Satoru, I just want to let you know that, because you encode your emails using ISO-2022-JP-2, nearly half of the subscribers to the vger.kernel.org mailing lists bounce your postings.

I know it's stupid, and it's mostly a Microsoft Exchange issue, but it does mean that people that you may wish to see your emails are not. This includes developers at major sites such as cisco.com and intel.com

Quoted 4 lines

I even saw toshiba.co.jp bounce your postings because of this encoding issue.

Anyways, just FYI...

Satoru,

hp.com addresses have the same issue and I keep cc'ing all my emails from hp.com to my gmail address so I don't miss any responses. Again just FYI.

-- Shuah

#46 lore raw

Dave, Shuah,

At Sat, 1 Dec 2012 10:15:21 -0700,

Quoted 15 lines · Shuah Khan
Quoted 13 lines · David Miller

Satoru, I just want to let you know that, because you encode your emails using ISO-2022-JP-2, nearly half of the subscribers to the vger.kernel.org mailing lists bounce your postings.

I know it's stupid, and it's mostly a Microsoft Exchange issue, but it does mean that people that you may wish to see your emails are not. This includes developers at major sites such as cisco.com and intel.com

I even saw toshiba.co.jp bounce your postings because of this encoding issue.

Quoted 7 lines
Quoted 1 line

Anyways, just FYI...

Satoru,

hp.com addresses have the same issue and I keep cc'ing all my emails from hp.com to my gmail address so I don't miss any responses. Again just FYI.

Thank you for let me know about it. Probably it's because "User-Agent" header in my mail contains a non-ascii character. I fixed this header and this problem would be fixed now.

Thanks,
Satoru

#47 lore raw
In reply to Greg Kroah-Hartman
Quoted 8 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 3.0.54 release. There are 37 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 2 18:36:43 UTC 2012. Anything received after that time might be too late.

Patch applied cleanly, 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

-- Shuah

author maintainer
#48 lore raw
Quoted 7 lines · Shuah Khan
Quoted 5 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 3.0.54 release. There are 37 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.

Quoted 8 lines
Quoted 3 lines

Responses should be made by Sun Dec 2 18:36:43 UTC 2012. Anything received after that time might be too late.

Patch applied cleanly, 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

Thanks for letting us know.

greg k-h

#49 lore raw
In reply to Greg Kroah-Hartman

Hi,

checked this release using linux test project. I don't see any new failures compared to previous release. I still have some tests failed, which I want to figure out why (some seem to be missing tools, etc) and fix. I'd like to check each new release and report.

following tests are currently failing for me:

sysctl03                       FAIL       4    
gf18                           FAIL       1    
aio01                          FAIL       2    
aio02                          FAIL       2    
ksm03                          FAIL       6    
su01                           FAIL       126  
Numa-testcases                 FAIL       1    
mail                           FAIL       1    

I'll report further when I got this fixed (as well as with results for other releases).

cheers

nik

Quoted 184 lines · Greg Kroah-Hartman

This is the start of the stable review cycle for the 3.0.54 release. There are 37 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 2 18:36:43 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.0.54-rc1.gz

and the diffstat can be found below.

thanks,

greg k-h

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

Greg Kroah-Hartman <[email protected]>

    Linux 3.0.54-rc1

Jaehoon Chung <[email protected]>
mmc: sdhci-s3c: fix the wrong number of max bus clocks

Jussi Pakkanen <[email protected]>
Input: bcm5974 - set BUTTONPAD property

Fenghua Yu <[email protected]>
x86, mce, therm_throt: Don't report power limit and package level thermal throttle events in mcelog

Merlin Schumacher <[email protected]>
acer-wmi: support for P key on TM8372

Chuansheng Liu <[email protected]>
watchdog: using u64 in get_sample_period()

Johan Hovold <[email protected]>
USB: mct_u232: fix broken close

Mauro Carvalho Chehab <[email protected]>
get_dvb_firmware: fix download site for tda10046 firmware

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device id

Emil Tantilov <[email protected]>
ixgbe: add support for new 82599 device

David Milburn <[email protected]>
sata_svw: check DMA start bit before reset

[email protected] <[email protected]>
ixgbe: add support for X540-AT1

Tilman Schmidt <[email protected]>
bas_gigaset: fix pre_reset handling

David Henningsson <[email protected]>
ALSA: hda - Add support for Realtek ALC292

Duncan Roe <[email protected]>
ALSA: hda - Fix missing beep on ASUS X43U notebook

Kailang Yang <[email protected]>
ALSA: hda - Add new codec ALC283 ALC290 support

Al Viro <[email protected]>
sparc64: not any error from do_sigaltstack() should fail rt_sigreturn()

Jan Kara <[email protected]>
jbd: Fix lock ordering bug in journal_unmap_buffer()

Oliver Hartkopp <[email protected]>
can: bcm: initialize ifindex for timeouts without previous frame reception

Paul Bolle <[email protected]>
radeon: add AGPMode 1 quirk for RV250

Simon Wunderlich <[email protected]>
mac80211: deinitialize ibss-internals after emptiness check

Darren Hart <[email protected]>
futex: avoid wake_futex() for a PI futex_q

Jens Axboe <[email protected]>
dm: fix deadlock with request based dm and queue request_fn recursion

Jiri Engelthaler <[email protected]>
mtd: slram: invalid checking of absolute end address

Al Viro <[email protected]>
PARISC: fix user-triggerable panic on parisc

James Bottomley <[email protected]>
PARISC: fix virtual aliasing issue in get_shared_area()

David Henningsson <[email protected]>
ALSA: hda - Cirrus: Correctly clear line_out_pins when moving to speaker

Clemens Ladisch <[email protected]>
ALSA: ua101, usx2y: fix broken MIDI output

Maciej Patelczyk <[email protected]>

    SCSI: isci: copy fis 0x34 response into proper buffer

Bing Zhao <[email protected]>
mwifiex: report error to MMC core if we cannot suspend

Albert Pool <[email protected]>
rtlwifi: rtl8192cu: Add new USB ID

Boris Ostrovsky <[email protected]>
x86, microcode, AMD: Add support for family 16h processors

Robert Richter <[email protected]>
x86-32: Fix invalid stack address while in softirq

David S. Miller <[email protected]>
ifenslave: Fix unused variable warnings.

Danny Kukawka <[email protected]>
riva/fbdev: fix several -Wuninitialized

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix -Wuninitialized warning

Danny Kukawka <[email protected]>
drivers/block/DAC960: fix DAC960_V2_IOCTL_Opcode_T -Wenum-compare warning

Takashi Iwai <[email protected]>
ALSA: pcmcia - Use pcmcia_request_irq()

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

Diffstat:

 Documentation/dvb/get_dvb_firmware          |  2 +-
 Documentation/networking/ifenslave.c        |  2 ++
 Makefile                                    |  4 ++--
 arch/parisc/kernel/signal32.c               |  6 ++++--
 arch/parisc/kernel/sys_parisc.c             |  2 ++
 arch/sparc/kernel/signal_64.c               |  4 +---
 arch/x86/include/asm/ptrace.h               | 15 ++++-----------
 arch/x86/kernel/cpu/mcheck/therm_throt.c    | 29 +++++++----------------------
 arch/x86/kernel/microcode_amd.c             |  4 ++++
 arch/x86/kernel/ptrace.c                    | 28 ++++++++++++++++++++++++++++
 drivers/ata/sata_svw.c                      | 35 +++++++++++++++++++++++++++++++++++
 drivers/block/DAC960.c                      | 18 ++++++++++--------
 drivers/gpu/drm/radeon/radeon_agp.c         |  5 ++++-
 drivers/input/mouse/bcm5974.c               |  3 +++
 drivers/isdn/gigaset/bas-gigaset.c          | 19 ++++++++++++++++---
 drivers/md/dm.c                             |  8 +++++++-
 drivers/mmc/host/sdhci-s3c.c                |  2 +-
 drivers/mtd/devices/slram.c                 |  2 +-
 drivers/net/ixgbe/ixgbe_82599.c             |  2 ++
 drivers/net/ixgbe/ixgbe_common.c            |  1 +
 drivers/net/ixgbe/ixgbe_main.c              |  6 ++++++
 drivers/net/ixgbe/ixgbe_type.h              |  3 +++
 drivers/net/wireless/mwifiex/sdio.c         | 11 ++++++-----
 drivers/net/wireless/rtlwifi/rtl8192cu/sw.c |  1 +
 drivers/platform/x86/acer-wmi.c             |  1 +
 drivers/scsi/isci/request.c                 |  2 +-
 drivers/usb/serial/mct_u232.c               | 14 ++++++++------
 drivers/video/riva/fbdev.c                  |  5 ++---
 fs/jbd/transaction.c                        |  2 ++
 kernel/futex.c                              | 18 +++++++++++++++++-
 kernel/watchdog.c                           |  4 ++--
 net/can/bcm.c                               |  3 +++
 net/mac80211/ibss.c                         |  8 ++++----
 sound/pci/hda/patch_cirrus.c                |  1 +
 sound/pci/hda/patch_realtek.c               |  4 ++++
 sound/pcmcia/pdaudiocf/pdaudiocf.c          |  2 +-
 sound/pcmcia/vx/vxpocket.c                  |  2 +-
 sound/usb/midi.c                            |  8 ++++++--
 38 files changed, 204 insertions(+), 82 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 14 lines
-------------------------------------
Ing. Nikola CIPRICH
LinuxBox.cz, s.r.o.
28. rijna 168, 709 00 Ostrava

tel.:   +420 591 166 214
fax:    +420 596 621 273
mobil:  +420 777 093 799

www.linuxbox.cz

mobil servis: +420 737 238 656
email servis: [email protected]
-------------------------------------