]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Feb 2013 18:56:25 +0000 (10:56 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 25 Feb 2013 18:56:25 +0000 (10:56 -0800)
added patches:
alsa-usb-audio-fix-roland-a-pro-support.patch
alsa-usb-fix-processing-unit-descriptor-parsers.patch
ext4-add-missing-kfree-on-error-return-path-in-add_new_gdb.patch
ext4-free-resources-in-some-error-path-in-ext4_fill_super.patch
p54usb-corrected-usb-id-for-t-com-sinus-154-data-ii.patch

queue-3.0/alsa-usb-audio-fix-roland-a-pro-support.patch [new file with mode: 0644]
queue-3.0/alsa-usb-fix-processing-unit-descriptor-parsers.patch [new file with mode: 0644]
queue-3.0/ext4-add-missing-kfree-on-error-return-path-in-add_new_gdb.patch [new file with mode: 0644]
queue-3.0/ext4-free-resources-in-some-error-path-in-ext4_fill_super.patch [new file with mode: 0644]
queue-3.0/p54usb-corrected-usb-id-for-t-com-sinus-154-data-ii.patch [new file with mode: 0644]
queue-3.0/series

diff --git a/queue-3.0/alsa-usb-audio-fix-roland-a-pro-support.patch b/queue-3.0/alsa-usb-audio-fix-roland-a-pro-support.patch
new file mode 100644 (file)
index 0000000..6793bcf
--- /dev/null
@@ -0,0 +1,31 @@
+From 7da58046482fceb17c4a0d4afefd9507ec56de7f Mon Sep 17 00:00:00 2001
+From: Clemens Ladisch <clemens@ladisch.de>
+Date: Thu, 31 Jan 2013 21:14:33 +0100
+Subject: ALSA: usb-audio: fix Roland A-PRO support
+
+From: Clemens Ladisch <clemens@ladisch.de>
+
+commit 7da58046482fceb17c4a0d4afefd9507ec56de7f upstream.
+
+The quirk for the Roland/Cakewalk A-PRO keyboards accidentally used the
+wrong interface number, which prevented the driver from attaching to the
+device.
+
+Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ sound/usb/quirks-table.h |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/usb/quirks-table.h
++++ b/sound/usb/quirks-table.h
+@@ -1613,7 +1613,7 @@ YAMAHA_DEVICE(0x7010, "UB99"),
+       .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
+               /* .vendor_name = "Roland", */
+               /* .product_name = "A-PRO", */
+-              .ifnum = 1,
++              .ifnum = 0,
+               .type = QUIRK_MIDI_FIXED_ENDPOINT,
+               .data = & (const struct snd_usb_midi_endpoint_info) {
+                       .out_cables = 0x0003,
diff --git a/queue-3.0/alsa-usb-fix-processing-unit-descriptor-parsers.patch b/queue-3.0/alsa-usb-fix-processing-unit-descriptor-parsers.patch
new file mode 100644 (file)
index 0000000..b47fa63
--- /dev/null
@@ -0,0 +1,73 @@
+From b531f81b0d70ffbe8d70500512483227cc532608 Mon Sep 17 00:00:00 2001
+From: Pawel Moll <mail@pawelmoll.com>
+Date: Thu, 21 Feb 2013 01:55:50 +0000
+Subject: ALSA: usb: Fix Processing Unit Descriptor parsers
+
+From: Pawel Moll <mail@pawelmoll.com>
+
+commit b531f81b0d70ffbe8d70500512483227cc532608 upstream.
+
+Commit 99fc86450c439039d2ef88d06b222fd51a779176 "ALSA: usb-mixer:
+parse descriptors with structs" introduced a set of useful parsers
+for descriptors. Unfortunately the parses for the Processing Unit
+Descriptor came with a very subtle bug...
+
+Functions uac_processing_unit_iProcessing() and
+uac_processing_unit_specific() were indexing the baSourceID array
+forgetting the fields before the iProcessing and process-specific
+descriptors.
+
+The problem was observed with Sound Blaster Extigy mixer,
+where nNrModes in Up/Down-mix Processing Unit Descriptor
+was accessed at offset 10 of the descriptor (value 0)
+instead of offset 15 (value 7). In result the resulting
+control had interesting limit values:
+
+Simple mixer control 'Channel Routing Mode Select',0
+  Capabilities: volume volume-joined penum
+  Playback channels: Mono
+  Capture channels: Mono
+  Limits: 0 - -1
+  Mono: -1 [100%]
+
+Fixed by starting from the bmControls, which was calculated
+correctly, instead of baSourceID.
+
+Now the mentioned control is fine:
+
+Simple mixer control 'Channel Routing Mode Select',0
+  Capabilities: volume volume-joined penum
+  Playback channels: Mono
+  Capture channels: Mono
+  Limits: 0 - 6
+  Mono: 0 [0%]
+
+Signed-off-by: Pawel Moll <mail@pawelmoll.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ include/linux/usb/audio.h |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/include/linux/usb/audio.h
++++ b/include/linux/usb/audio.h
+@@ -384,14 +384,16 @@ static inline __u8 uac_processing_unit_i
+                                                  int protocol)
+ {
+       __u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
+-      return desc->baSourceID[desc->bNrInPins + control_size];
++      return *(uac_processing_unit_bmControls(desc, protocol)
++                      + control_size);
+ }
+ static inline __u8 *uac_processing_unit_specific(struct uac_processing_unit_descriptor *desc,
+                                                int protocol)
+ {
+       __u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
+-      return &desc->baSourceID[desc->bNrInPins + control_size + 1];
++      return uac_processing_unit_bmControls(desc, protocol)
++                      + control_size + 1;
+ }
+ /* 4.5.2 Class-Specific AS Interface Descriptor */
diff --git a/queue-3.0/ext4-add-missing-kfree-on-error-return-path-in-add_new_gdb.patch b/queue-3.0/ext4-add-missing-kfree-on-error-return-path-in-add_new_gdb.patch
new file mode 100644 (file)
index 0000000..c728aa8
--- /dev/null
@@ -0,0 +1,33 @@
+From c49bafa3842751b8955a962859f42d307673d75d Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <error27@gmail.com>
+Date: Sat, 30 Jul 2011 12:58:41 -0400
+Subject: ext4: add missing kfree() on error return path in add_new_gdb()
+
+From: Dan Carpenter <error27@gmail.com>
+
+commit c49bafa3842751b8955a962859f42d307673d75d upstream.
+
+We added some more error handling in b40971426a "ext4: add error
+checking to calls to ext4_handle_dirty_metadata()".  But we need to
+call kfree() as well to avoid a memory leak.
+
+Signed-off-by: Dan Carpenter <error27@gmail.com>
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+
+---
+ fs/ext4/resize.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/fs/ext4/resize.c
++++ b/fs/ext4/resize.c
+@@ -499,6 +499,7 @@ static int add_new_gdb(handle_t *handle,
+       return err;
+ exit_inode:
++      kfree(n_group_desc);
+       /* ext4_handle_release_buffer(handle, iloc.bh); */
+       brelse(iloc.bh);
+ exit_dindj:
diff --git a/queue-3.0/ext4-free-resources-in-some-error-path-in-ext4_fill_super.patch b/queue-3.0/ext4-free-resources-in-some-error-path-in-ext4_fill_super.patch
new file mode 100644 (file)
index 0000000..7381075
--- /dev/null
@@ -0,0 +1,72 @@
+From dcf2d804ed6ffe5e942b909ed5e5b74628be6ee4 Mon Sep 17 00:00:00 2001
+From: Tao Ma <boyu.mt@taobao.com>
+Date: Thu, 6 Oct 2011 12:10:11 -0400
+Subject: ext4: Free resources in some error path in ext4_fill_super
+
+From: Tao Ma <boyu.mt@taobao.com>
+
+commit dcf2d804ed6ffe5e942b909ed5e5b74628be6ee4 upstream.
+
+Some of the error path in ext4_fill_super don't release the
+resouces properly. So this patch just try to release them
+in the right way.
+
+Signed-off-by: Tao Ma <boyu.mt@taobao.com>
+Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
+Signed-off-by: Jeff Mahoney <jeffm@suse.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/ext4/super.c |   19 +++++++++++--------
+ 1 file changed, 11 insertions(+), 8 deletions(-)
+
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -3681,22 +3681,19 @@ no_journal:
+       if (err) {
+               ext4_msg(sb, KERN_ERR, "failed to initialize mballoc (%d)",
+                        err);
+-              goto failed_mount4;
++              goto failed_mount5;
+       }
+       err = ext4_register_li_request(sb, first_not_zeroed);
+       if (err)
+-              goto failed_mount4;
++              goto failed_mount6;
+       sbi->s_kobj.kset = ext4_kset;
+       init_completion(&sbi->s_kobj_unregister);
+       err = kobject_init_and_add(&sbi->s_kobj, &ext4_ktype, NULL,
+                                  "%s", sb->s_id);
+-      if (err) {
+-              ext4_mb_release(sb);
+-              ext4_ext_release(sb);
+-              goto failed_mount4;
+-      };
++      if (err)
++              goto failed_mount7;
+       EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS;
+       ext4_orphan_cleanup(sb, es);
+@@ -3730,13 +3727,19 @@ cantfind_ext4:
+               ext4_msg(sb, KERN_ERR, "VFS: Can't find ext4 filesystem");
+       goto failed_mount;
++failed_mount7:
++      ext4_unregister_li_request(sb);
++failed_mount6:
++      ext4_ext_release(sb);
++failed_mount5:
++      ext4_mb_release(sb);
++      ext4_release_system_zone(sb);
+ failed_mount4:
+       iput(root);
+       sb->s_root = NULL;
+       ext4_msg(sb, KERN_ERR, "mount failed");
+       destroy_workqueue(EXT4_SB(sb)->dio_unwritten_wq);
+ failed_mount_wq:
+-      ext4_release_system_zone(sb);
+       if (sbi->s_journal) {
+               jbd2_journal_destroy(sbi->s_journal);
+               sbi->s_journal = NULL;
diff --git a/queue-3.0/p54usb-corrected-usb-id-for-t-com-sinus-154-data-ii.patch b/queue-3.0/p54usb-corrected-usb-id-for-t-com-sinus-154-data-ii.patch
new file mode 100644 (file)
index 0000000..0a11778
--- /dev/null
@@ -0,0 +1,35 @@
+From 008e33f733ca51acb2dd9d88ea878693b04d1d2a Mon Sep 17 00:00:00 2001
+From: Tomasz Guszkowski <tsg@o2.pl>
+Date: Tue, 5 Feb 2013 22:10:31 +0100
+Subject: p54usb: corrected USB ID for T-Com Sinus 154 data II
+
+From: Tomasz Guszkowski <tsg@o2.pl>
+
+commit 008e33f733ca51acb2dd9d88ea878693b04d1d2a upstream.
+
+Corrected USB ID for T-Com Sinus 154 data II. ISL3887-based. The
+device was tested in managed mode with no security, WEP 128
+bit and WPA-PSK (TKIP) with firmware 2.13.1.0.lm87.arm (md5sum:
+7d676323ac60d6e1a3b6d61e8c528248). It works.
+
+Signed-off-by: Tomasz Guszkowski <tsg@o2.pl>
+Acked-By: Christian Lamparter <chunkeey@googlemail.com>
+Signed-off-by: John W. Linville <linville@tuxdriver.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/net/wireless/p54/p54usb.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/net/wireless/p54/p54usb.c
++++ b/drivers/net/wireless/p54/p54usb.c
+@@ -83,8 +83,8 @@ static struct usb_device_id p54u_table[]
+       {USB_DEVICE(0x06b9, 0x0121)},   /* Thomson SpeedTouch 121g */
+       {USB_DEVICE(0x0707, 0xee13)},   /* SMC 2862W-G version 2 */
+       {USB_DEVICE(0x0803, 0x4310)},   /* Zoom 4410a */
+-      {USB_DEVICE(0x083a, 0x4503)},   /* T-Com Sinus 154 data II */
+       {USB_DEVICE(0x083a, 0x4521)},   /* Siemens Gigaset USB Adapter 54 version 2 */
++      {USB_DEVICE(0x083a, 0x4531)},   /* T-Com Sinus 154 data II */
+       {USB_DEVICE(0x083a, 0xc501)},   /* Zoom Wireless-G 4410 */
+       {USB_DEVICE(0x083a, 0xf503)},   /* Accton FD7050E ver 1010ec  */
+       {USB_DEVICE(0x0846, 0x4240)},   /* Netgear WG111 (v2) */
index 0cb04d9c4636b907ff8e699727126dc6c786bd56..7c6dc98df560d6ddcb09132b958de895967b194a 100644 (file)
@@ -21,3 +21,8 @@ drivers-video-backlight-adp88-0_bl.c-fix-resume.patch
 tmpfs-fix-use-after-free-of-mempolicy-object.patch
 mm-fadvise.c-drain-all-pagevecs-if-posix_fadv_dontneed-fails-to-discard-all-pages.patch
 nlm-ensure-that-we-resend-all-pending-blocking-locks-after-a-reclaim.patch
+p54usb-corrected-usb-id-for-t-com-sinus-154-data-ii.patch
+alsa-usb-audio-fix-roland-a-pro-support.patch
+alsa-usb-fix-processing-unit-descriptor-parsers.patch
+ext4-free-resources-in-some-error-path-in-ext4_fill_super.patch
+ext4-add-missing-kfree-on-error-return-path-in-add_new_gdb.patch