Linux 3.6.8
This commit is contained in:
parent
140e24d99e
commit
f2c359e484
|
@ -1,45 +0,0 @@
|
|||
From fba4e087361605d1eed63343bb08811f097c83ee Mon Sep 17 00:00:00 2001
|
||||
From: Igor Murzov <e-mail@date.by>
|
||||
Date: Sat, 13 Oct 2012 04:41:25 +0400
|
||||
Subject: [PATCH] ACPI video: Ignore errors after _DOD evaluation.
|
||||
|
||||
There are systems where video module known to work fine regardless
|
||||
of broken _DOD and ignoring returned value here doesn't cause
|
||||
any issues later. This should fix brightness controls on some laptops.
|
||||
|
||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=47861
|
||||
|
||||
Signed-off-by: Igor Murzov <e-mail@date.by>
|
||||
Reviewed-by: Sergey V <sftp.mtuci@gmail.com>
|
||||
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
|
||||
---
|
||||
drivers/acpi/video.c | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
|
||||
index f94d4c8..0230cb6 100644
|
||||
--- a/drivers/acpi/video.c
|
||||
+++ b/drivers/acpi/video.c
|
||||
@@ -1345,12 +1345,15 @@ static int
|
||||
acpi_video_bus_get_devices(struct acpi_video_bus *video,
|
||||
struct acpi_device *device)
|
||||
{
|
||||
- int status;
|
||||
+ int status = 0;
|
||||
struct acpi_device *dev;
|
||||
|
||||
- status = acpi_video_device_enumerate(video);
|
||||
- if (status)
|
||||
- return status;
|
||||
+ /*
|
||||
+ * There are systems where video module known to work fine regardless
|
||||
+ * of broken _DOD and ignoring returned value here doesn't cause
|
||||
+ * any issues later.
|
||||
+ */
|
||||
+ acpi_video_device_enumerate(video);
|
||||
|
||||
list_for_each_entry(dev, &device->children, node) {
|
||||
|
||||
--
|
||||
1.8.0
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
@@ -, +, @@
|
||||
cifs_atomic_open
|
||||
fs/cifs/dir.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
--- a/fs/cifs/dir.c
|
||||
+++ a/fs/cifs/dir.c
|
||||
@@ -398,6 +398,12 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
|
||||
* in network traffic in the other paths.
|
||||
*/
|
||||
if (!(oflags & O_CREAT)) {
|
||||
+ /* Check for hashed negative dentry. We have already revalidated
|
||||
+ * the dentry and it is fine. No need to perform another lookup.
|
||||
+ */
|
||||
+ if (!d_unhashed(direntry))
|
||||
+ return -ENOENT;
|
||||
+
|
||||
struct dentry *res = cifs_lookup(inode, direntry, 0);
|
||||
if (IS_ERR(res))
|
||||
return PTR_ERR(res);
|
27
kernel.spec
27
kernel.spec
|
@ -54,7 +54,7 @@ Summary: The Linux kernel
|
|||
# For non-released -rc kernels, this will be appended after the rcX and
|
||||
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
|
||||
#
|
||||
%global baserelease 6
|
||||
%global baserelease 1
|
||||
%global fedora_build %{baserelease}
|
||||
|
||||
# base_sublevel is the kernel version we're starting with and patching
|
||||
|
@ -66,7 +66,7 @@ Summary: The Linux kernel
|
|||
%if 0%{?released_kernel}
|
||||
|
||||
# Do we have a -stable update to apply?
|
||||
%define stable_update 7
|
||||
%define stable_update 8
|
||||
# Is it a -stable RC?
|
||||
%define stable_rc 0
|
||||
# Set rpm version accordingly
|
||||
|
@ -741,9 +741,6 @@ Patch22014: efifb-skip-DMI-checks-if-bootloader-knows.patch
|
|||
#rhbz 857324
|
||||
Patch22070: net-tcp-bz857324.patch
|
||||
|
||||
#rhbz 867344
|
||||
Patch22077: dont-call-cifs_lookup-on-hashed-negative-dentry.patch
|
||||
|
||||
#rhbz 869904 869909 CVE-2012-4508
|
||||
Patch22080: 0001-ext4-ext4_inode_info-diet.patch
|
||||
Patch22081: 0002-ext4-give-i_aiodio_unwritten-a-more-appropriate-name.patch
|
||||
|
@ -761,7 +758,6 @@ Patch22091: 0012-ext4-serialize-fallocate-with-ext4_convert_unwritten.patch
|
|||
Patch22100: uprobes-upstream-backport.patch
|
||||
|
||||
#rhbz 871078
|
||||
Patch22110: usb-audio-fix-crash-at-re-preparing-the-PCM-stream.patch
|
||||
Patch22111: USB-EHCI-urb-hcpriv-should-not-be-NULL.patch
|
||||
Patch22112: USB-report-submission-of-active-URBs.patch
|
||||
|
||||
|
@ -771,9 +767,6 @@ Patch22113: smp_irq_move_cleanup_interrupt.patch
|
|||
#rhbz 873001
|
||||
Patch22114: iwlwifi-remove-queue-empty-warn-3.6.patch
|
||||
|
||||
#rhbz 870562
|
||||
Patch22115: keyspan.patch
|
||||
|
||||
#rhbz 812129
|
||||
Patch22120: block-fix-a-crash-when-block-device-is.patch
|
||||
Patch22121: blockdev-turn-a-rw-semaphore-into-a-percpu-rw-sem.patch
|
||||
|
@ -792,9 +785,6 @@ Patch21229: exec-use-eloop-for-max-recursion-depth.patch
|
|||
#rhbz 869629
|
||||
Patch21230: SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
|
||||
|
||||
#rhbz 869383
|
||||
Patch21231: ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
|
||||
|
||||
#rhbz 851278
|
||||
Patch21232: 8139cp-revert-set-ring-address-before-enabling-recei.patch
|
||||
|
||||
|
@ -1493,9 +1483,6 @@ ApplyPatch efifb-skip-DMI-checks-if-bootloader-knows.patch
|
|||
#rhbz 857324
|
||||
ApplyPatch net-tcp-bz857324.patch
|
||||
|
||||
#rhbz 867344
|
||||
ApplyPatch dont-call-cifs_lookup-on-hashed-negative-dentry.patch
|
||||
|
||||
#rhbz 869904 869909 CVE-2012-4508
|
||||
ApplyPatch 0001-ext4-ext4_inode_info-diet.patch
|
||||
ApplyPatch 0002-ext4-give-i_aiodio_unwritten-a-more-appropriate-name.patch
|
||||
|
@ -1513,7 +1500,6 @@ ApplyPatch 0012-ext4-serialize-fallocate-with-ext4_convert_unwritten.patch
|
|||
ApplyPatch uprobes-upstream-backport.patch
|
||||
|
||||
#rhbz 871078
|
||||
ApplyPatch usb-audio-fix-crash-at-re-preparing-the-PCM-stream.patch
|
||||
ApplyPatch USB-EHCI-urb-hcpriv-should-not-be-NULL.patch
|
||||
ApplyPatch USB-report-submission-of-active-URBs.patch
|
||||
|
||||
|
@ -1523,9 +1509,6 @@ ApplyPatch smp_irq_move_cleanup_interrupt.patch
|
|||
#rhbz 873001
|
||||
ApplyPatch iwlwifi-remove-queue-empty-warn-3.6.patch
|
||||
|
||||
#rhbz 870562
|
||||
ApplyPatch keyspan.patch
|
||||
|
||||
#rhbz 812129
|
||||
ApplyPatch block-fix-a-crash-when-block-device-is.patch
|
||||
ApplyPatch blockdev-turn-a-rw-semaphore-into-a-percpu-rw-sem.patch
|
||||
|
@ -1544,9 +1527,6 @@ ApplyPatch exec-use-eloop-for-max-recursion-depth.patch
|
|||
#rhbz 869629
|
||||
ApplyPatch SCSI-mvsas-Fix-oops-when-ata-commond-timeout.patch
|
||||
|
||||
#rhbz 869383
|
||||
ApplyPatch ACPI-video-Ignore-errors-after-_DOD-evaluation.patch
|
||||
|
||||
#rhbz 851278
|
||||
ApplyPatch 8139cp-revert-set-ring-address-before-enabling-recei.patch
|
||||
|
||||
|
@ -2413,6 +2393,9 @@ fi
|
|||
# '-' | |
|
||||
# '-'
|
||||
%changelog
|
||||
* Mon Nov 26 2012 Justin M. Forbes <jforbes@redhat.com> 3.6.8-1
|
||||
- Linux 3.6.8
|
||||
|
||||
* Mon Nov 26 2012 Josh Boyer <jwboyer@redhat.com>
|
||||
- Fix regression in 8139cp driver, debugged by William J. Eaton (rhbz 851278)
|
||||
- Fix ACPI video after _DOD errors (rhbz 869383)
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
|
||||
Delivered-To: jwboyer@gmail.com
|
||||
Received: by 10.58.186.240 with SMTP id fn16csp155256vec;
|
||||
Sat, 10 Nov 2012 01:14:20 -0800 (PST)
|
||||
Received: by 10.68.130.197 with SMTP id og5mr40733607pbb.138.1352538859530;
|
||||
Sat, 10 Nov 2012 01:14:19 -0800 (PST)
|
||||
Return-Path: <stable-owner@vger.kernel.org>
|
||||
Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67])
|
||||
by mx.google.com with ESMTP id pj1si1353832pbc.115.2012.11.10.01.14.15;
|
||||
Sat, 10 Nov 2012 01:14:19 -0800 (PST)
|
||||
Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67;
|
||||
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mail=stable-owner@vger.kernel.org
|
||||
Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
|
||||
id S1750798Ab2KJJOO (ORCPT <rfc822;crquan@gmail.com> + 33 others);
|
||||
Sat, 10 Nov 2012 04:14:14 -0500
|
||||
Received: from canardo.mork.no ([148.122.252.1]:37367 "EHLO canardo.mork.no"
|
||||
rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP
|
||||
id S1750699Ab2KJJOM (ORCPT <rfc822;stable@vger.kernel.org>);
|
||||
Sat, 10 Nov 2012 04:14:12 -0500
|
||||
Received: from nemi.mork.no (nemi.mork.no [IPv6:2001:4620:9:2:216:eaff:feb3:788])
|
||||
(authenticated bits=0)
|
||||
by canardo.mork.no (8.14.3/8.14.3) with ESMTP id qAA9E1cX010750
|
||||
(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);
|
||||
Sat, 10 Nov 2012 10:14:02 +0100
|
||||
Received: from bjorn by nemi.mork.no with local (Exim 4.80)
|
||||
(envelope-from <bjorn@nemi.mork.no>)
|
||||
id 1TX78a-0007Li-AD; Sat, 10 Nov 2012 10:14:00 +0100
|
||||
From: =?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>
|
||||
To: Richard <richjunk@pacbell.net>
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
|
||||
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
|
||||
=?UTF-8?q?Bj=C3=B8rn=20Mork?= <bjorn@mork.no>,
|
||||
<stable@vger.kernel.org>, Johan Hovold <jhovold@gmail.com>
|
||||
Subject: [PATCH usb-linus] USB: keyspan: fix typo causing GPF on open
|
||||
Date: Sat, 10 Nov 2012 10:13:42 +0100
|
||||
Message-Id: <1352538822-28221-1-git-send-email-bjorn@mork.no>
|
||||
X-Mailer: git-send-email 1.7.10.4
|
||||
In-Reply-To: <509D5BCD.3010901@pacbell.net>
|
||||
References: <509D5BCD.3010901@pacbell.net>
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
X-Virus-Scanned: clamav-milter 0.97.6 at canardo
|
||||
X-Virus-Status: Clean
|
||||
Sender: stable-owner@vger.kernel.org
|
||||
Precedence: bulk
|
||||
List-ID: <stable.vger.kernel.org>
|
||||
X-Mailing-List: stable@vger.kernel.org
|
||||
|
||||
Commit f79b2d0f (USB: keyspan: fix NULL-pointer dereferences and
|
||||
memory leaks) had a small typo which made the driver use wrong
|
||||
offsets when mapping serial port private data. This results in
|
||||
in a GPF when the port is opened.
|
||||
|
||||
Reported-by: Richard <richjunk@pacbell.net>
|
||||
Cc: <stable@vger.kernel.org>
|
||||
Cc: Johan Hovold <jhovold@gmail.com>
|
||||
Signed-off-by: Bjørn Mork <bjorn@mork.no>
|
||||
---
|
||||
Hello Richard,
|
||||
|
||||
I wonder if you are able to test and verify this? I do not guarantee
|
||||
that there aren't other issues around, but this small typo looked like
|
||||
an obvious killer...
|
||||
|
||||
Bjørn
|
||||
|
||||
drivers/usb/serial/keyspan.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c
|
||||
index 7179b0c..cff8dd5 100644
|
||||
--- a/drivers/usb/serial/keyspan.c
|
||||
+++ b/drivers/usb/serial/keyspan.c
|
||||
@@ -2430,7 +2430,7 @@ static void keyspan_release(struct usb_serial *serial)
|
||||
static int keyspan_port_probe(struct usb_serial_port *port)
|
||||
{
|
||||
struct usb_serial *serial = port->serial;
|
||||
- struct keyspan_port_private *s_priv;
|
||||
+ struct keyspan_serial_private *s_priv;
|
||||
struct keyspan_port_private *p_priv;
|
||||
const struct keyspan_device_details *d_details;
|
||||
struct callbacks *cback;
|
||||
@@ -2445,7 +2445,6 @@ static int keyspan_port_probe(struct usb_serial_port *port)
|
||||
if (!p_priv)
|
||||
return -ENOMEM;
|
||||
|
||||
- s_priv = usb_get_serial_data(port->serial);
|
||||
p_priv->device_details = d_details;
|
||||
|
||||
/* Setup values for the various callback routines */
|
||||
--
|
||||
1.7.10.4
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe stable" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
2
sources
2
sources
|
@ -1,2 +1,2 @@
|
|||
1a1760420eac802c541a20ab51a093d1 linux-3.6.tar.xz
|
||||
134936c362d8812b5cafcf3c67afdce0 patch-3.6.7.xz
|
||||
f248294551c34753c5c019c8d513280c patch-3.6.8.xz
|
||||
|
|
|
@ -1,125 +0,0 @@
|
|||
At Thu, 08 Nov 2012 08:31:35 +0100,
|
||||
Daniel Mack wrote:
|
||||
(snip)
|
||||
> >> We can't simply stop both endpoints in the prepare callback.
|
||||
> >
|
||||
> > The new function doesn't stop the stream by itself but it just syncs
|
||||
> > if the stream is being stopped beforehand. So, it's safe to call it
|
||||
> > there.
|
||||
> >
|
||||
> > Maybe the name was confusing. It should have been like
|
||||
> > snd_usb_endpoint_sync_pending_stop() or such.
|
||||
>
|
||||
> Ah, right. I was errornously looking closer to Alan's patch but then
|
||||
> replied to yours. Alright then - thanks for explaining :)
|
||||
|
||||
OK, thanks for checking.
|
||||
|
||||
FWIW, below is the patch I applied now to for-linus branch.
|
||||
Renamed the function, added the comment and put NULL check to the
|
||||
function to simplify.
|
||||
|
||||
|
||||
Takashi
|
||||
|
||||
---
|
||||
From: Takashi Iwai <tiwai@suse.de>
|
||||
Subject: [PATCH] ALSA: usb-audio: Fix crash at re-preparing the PCM stream
|
||||
|
||||
There are bug reports of a crash with USB-audio devices when PCM
|
||||
prepare is performed immediately after the stream is stopped via
|
||||
trigger callback. It turned out that the problem is that we don't
|
||||
wait until all URBs are killed.
|
||||
|
||||
This patch adds a new function to synchronize the pending stop
|
||||
operation on an endpoint, and calls in the prepare callback for
|
||||
avoiding the crash above.
|
||||
|
||||
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=49181
|
||||
|
||||
Reported-and-tested-by: Artem S. Tashkinov <t.artem@lycos.com>
|
||||
Cc: <stable@vger.kernel.org> [v3.6]
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
sound/usb/endpoint.c | 13 +++++++++++++
|
||||
sound/usb/endpoint.h | 1 +
|
||||
sound/usb/pcm.c | 3 +++
|
||||
3 files changed, 17 insertions(+)
|
||||
|
||||
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
|
||||
index 7f78c6d..34de6f2 100644
|
||||
--- a/sound/usb/endpoint.c
|
||||
+++ b/sound/usb/endpoint.c
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
#define EP_FLAG_ACTIVATED 0
|
||||
#define EP_FLAG_RUNNING 1
|
||||
+#define EP_FLAG_STOPPING 2
|
||||
|
||||
/*
|
||||
* snd_usb_endpoint is a model that abstracts everything related to an
|
||||
@@ -502,10 +503,20 @@ static int wait_clear_urbs(struct snd_usb_endpoint *ep)
|
||||
if (alive)
|
||||
snd_printk(KERN_ERR "timeout: still %d active urbs on EP #%x\n",
|
||||
alive, ep->ep_num);
|
||||
+ clear_bit(EP_FLAG_STOPPING, &ep->flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+/* sync the pending stop operation;
|
||||
+ * this function itself doesn't trigger the stop operation
|
||||
+ */
|
||||
+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep)
|
||||
+{
|
||||
+ if (ep && test_bit(EP_FLAG_STOPPING, &ep->flags))
|
||||
+ wait_clear_urbs(ep);
|
||||
+}
|
||||
+
|
||||
/*
|
||||
* unlink active urbs.
|
||||
*/
|
||||
@@ -918,6 +929,8 @@ void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep,
|
||||
|
||||
if (wait)
|
||||
wait_clear_urbs(ep);
|
||||
+ else
|
||||
+ set_bit(EP_FLAG_STOPPING, &ep->flags);
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/sound/usb/endpoint.h b/sound/usb/endpoint.h
|
||||
index 6376ccf..3d4c970 100644
|
||||
--- a/sound/usb/endpoint.h
|
||||
+++ b/sound/usb/endpoint.h
|
||||
@@ -19,6 +19,7 @@ int snd_usb_endpoint_set_params(struct snd_usb_endpoint *ep,
|
||||
int snd_usb_endpoint_start(struct snd_usb_endpoint *ep, int can_sleep);
|
||||
void snd_usb_endpoint_stop(struct snd_usb_endpoint *ep,
|
||||
int force, int can_sleep, int wait);
|
||||
+void snd_usb_endpoint_sync_pending_stop(struct snd_usb_endpoint *ep);
|
||||
int snd_usb_endpoint_activate(struct snd_usb_endpoint *ep);
|
||||
int snd_usb_endpoint_deactivate(struct snd_usb_endpoint *ep);
|
||||
void snd_usb_endpoint_free(struct list_head *head);
|
||||
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
|
||||
index 37428f7..5c12a3f 100644
|
||||
--- a/sound/usb/pcm.c
|
||||
+++ b/sound/usb/pcm.c
|
||||
@@ -552,6 +552,9 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
+ snd_usb_endpoint_sync_pending_stop(subs->sync_endpoint);
|
||||
+ snd_usb_endpoint_sync_pending_stop(subs->data_endpoint);
|
||||
+
|
||||
/* some unit conversions in runtime */
|
||||
subs->data_endpoint->maxframesize =
|
||||
bytes_to_frames(runtime, subs->data_endpoint->maxpacksize);
|
||||
--
|
||||
1.8.0
|
||||
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
Please read the FAQ at http://www.tux.org/lkml/
|
Loading…
Reference in New Issue