Update to 3.1.5
svn path=/dists/sid/linux-2.6/; revision=18367
This commit is contained in:
parent
24bb899b45
commit
0c328410c2
|
@ -1,4 +1,12 @@
|
|||
linux-2.6 (3.1.4-2) UNRELEASED; urgency=low
|
||||
linux-2.6 (3.1.5-1) UNRELEASED; urgency=low
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.1.5
|
||||
- bridge: correct IPv6 checksum after pull (Closes: #651469)
|
||||
- USB: EHCI: fix HUB TT scheduling issue with iso transfer
|
||||
(Closes: #651015)
|
||||
- [x86] mpparse: Account for bus types other than ISA and PCI
|
||||
(Closes: #586494)
|
||||
|
||||
[ Bastian Blank ]
|
||||
* Fix generation of revisions for the patch list.
|
||||
|
@ -7,7 +15,6 @@ linux-2.6 (3.1.4-2) UNRELEASED; urgency=low
|
|||
* regulator: backport fix for nullpointer dereference in core.
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* USB: EHCI: fix HUB TT scheduling issue with iso transfer (Closes: #651015)
|
||||
* [x86] Enable MEMTEST (Closes: #613321, #646361)
|
||||
- If bad RAM is detected, WARN and recommend a more thorough test
|
||||
* brcmsmac: Fix I/O functions for MIPS and for big-endian architectures
|
||||
|
|
|
@ -1,59 +0,0 @@
|
|||
From: Matthieu CASTET <castet.matthieu@free.fr>
|
||||
Date: Mon, 28 Nov 2011 11:30:22 +0100
|
||||
Subject: [PATCH 2/2] EHCI : Fix a regression in the ISO scheduler
|
||||
|
||||
commit e3420901eba65b1c46bed86d360e3a8685d20734 upstream.
|
||||
|
||||
Fix a regression that was introduced by commit
|
||||
811c926c538f7e8d3c08b630dd5844efd7e000f6 (USB: EHCI: fix HUB TT scheduling
|
||||
issue with iso transfer).
|
||||
|
||||
We detect an error if next == start, but this means uframe 0 can't be allocated
|
||||
anymore for iso transfer...
|
||||
|
||||
Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
|
||||
Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
|
||||
Acked-by: Alan Stern <stern@rowland.harvard.edu>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/usb/host/ehci-sched.c | 9 +++++----
|
||||
1 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
|
||||
index 56a3203..a60679c 100644
|
||||
--- a/drivers/usb/host/ehci-sched.c
|
||||
+++ b/drivers/usb/host/ehci-sched.c
|
||||
@@ -1475,6 +1475,7 @@ iso_stream_schedule (
|
||||
* jump until after the queue is primed.
|
||||
*/
|
||||
else {
|
||||
+ int done = 0;
|
||||
start = SCHEDULE_SLOP + (now & ~0x07);
|
||||
|
||||
/* NOTE: assumes URB_ISO_ASAP, to limit complexity/bugs */
|
||||
@@ -1492,18 +1493,18 @@ iso_stream_schedule (
|
||||
if (stream->highspeed) {
|
||||
if (itd_slot_ok(ehci, mod, start,
|
||||
stream->usecs, period))
|
||||
- break;
|
||||
+ done = 1;
|
||||
} else {
|
||||
if ((start % 8) >= 6)
|
||||
continue;
|
||||
if (sitd_slot_ok(ehci, mod, stream,
|
||||
start, sched, period))
|
||||
- break;
|
||||
+ done = 1;
|
||||
}
|
||||
- } while (start > next);
|
||||
+ } while (start > next && !done);
|
||||
|
||||
/* no room in the schedule */
|
||||
- if (start == next) {
|
||||
+ if (!done) {
|
||||
ehci_dbg(ehci, "iso resched full %p (now %d max %d)\n",
|
||||
urb, now, now + mod);
|
||||
status = -ENOSPC;
|
||||
--
|
||||
1.7.7.3
|
||||
|
|
@ -1,106 +0,0 @@
|
|||
From: Thomas Poussevin <thomas.poussevin@parrot.com>
|
||||
Date: Thu, 27 Oct 2011 18:46:48 +0200
|
||||
Subject: [PATCH 1/2] USB: EHCI: fix HUB TT scheduling issue with iso transfer
|
||||
|
||||
commit 811c926c538f7e8d3c08b630dd5844efd7e000f6 upstream.
|
||||
|
||||
The current TT scheduling doesn't allow to play and then record on a
|
||||
full-speed device connected to a high speed hub.
|
||||
|
||||
The IN iso stream can only start on the first uframe (0-2 for a 165 us)
|
||||
because of CSPLIT transactions.
|
||||
For the OUT iso stream there no such restriction. uframe 0-5 are possible.
|
||||
|
||||
The idea of this patch is that the first uframe are precious (for IN TT iso
|
||||
stream) and we should allocate the last uframes first if possible.
|
||||
|
||||
For that we reverse the order of uframe allocation (last uframe first).
|
||||
|
||||
Here an example :
|
||||
|
||||
hid interrupt stream
|
||||
----------------------------------------------------------------------
|
||||
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
----------------------------------------------------------------------
|
||||
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
used usecs on a frame | 13 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
|
||||
iso OUT stream
|
||||
----------------------------------------------------------------------
|
||||
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
----------------------------------------------------------------------
|
||||
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
used usecs on a frame | 13 | 125 | 39 | 0 | 0 | 0 | 0 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
|
||||
There no place for iso IN stream (uframe 0-2 are used) and we got "cannot
|
||||
submit datapipe for urb 0, error -28: not enough bandwidth" error.
|
||||
|
||||
With the patch this become.
|
||||
|
||||
iso OUT stream
|
||||
----------------------------------------------------------------------
|
||||
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
----------------------------------------------------------------------
|
||||
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
used usecs on a frame | 13 | 0 | 0 | 0 | 125 | 39 | 0 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
|
||||
iso IN stream
|
||||
----------------------------------------------------------------------
|
||||
uframe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
----------------------------------------------------------------------
|
||||
max_tt_usecs | 125 | 125 | 125 | 125 | 125 | 125 | 30 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
used usecs on a frame | 13 | 0 | 125 | 40 | 125 | 39 | 0 | 0 |
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Signed-off-by: Matthieu Castet <matthieu.castet@parrot.com>
|
||||
Signed-off-by: Thomas Poussevin <thomas.poussevin@parrot.com>
|
||||
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
|
||||
Cc: stable <stable@vger.kernel.org>
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
||||
---
|
||||
drivers/usb/host/ehci-sched.c | 15 ++++++++++-----
|
||||
1 files changed, 10 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c
|
||||
index 2e829fa..56a3203 100644
|
||||
--- a/drivers/usb/host/ehci-sched.c
|
||||
+++ b/drivers/usb/host/ehci-sched.c
|
||||
@@ -1479,10 +1479,15 @@ iso_stream_schedule (
|
||||
|
||||
/* NOTE: assumes URB_ISO_ASAP, to limit complexity/bugs */
|
||||
|
||||
- /* find a uframe slot with enough bandwidth */
|
||||
- next = start + period;
|
||||
- for (; start < next; start++) {
|
||||
-
|
||||
+ /* find a uframe slot with enough bandwidth.
|
||||
+ * Early uframes are more precious because full-speed
|
||||
+ * iso IN transfers can't use late uframes,
|
||||
+ * and therefore they should be allocated last.
|
||||
+ */
|
||||
+ next = start;
|
||||
+ start += period;
|
||||
+ do {
|
||||
+ start--;
|
||||
/* check schedule: enough space? */
|
||||
if (stream->highspeed) {
|
||||
if (itd_slot_ok(ehci, mod, start,
|
||||
@@ -1495,7 +1500,7 @@ iso_stream_schedule (
|
||||
start, sched, period))
|
||||
break;
|
||||
}
|
||||
- }
|
||||
+ } while (start > next);
|
||||
|
||||
/* no room in the schedule */
|
||||
if (start == next) {
|
||||
--
|
||||
1.7.7.3
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
Subject: [PATCH] xfs: Fix possible memory corruption in xfs_readlink (2)
|
||||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
|
||||
Previous fix doesn't check for integer overflow.
|
||||
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
--- a/fs/xfs/xfs_vnodeops.c
|
||||
+++ b/fs/xfs/xfs_vnodeops.c
|
||||
@@ -127,7 +127,7 @@ xfs_readlink(
|
||||
if (!pathlen)
|
||||
goto out;
|
||||
|
||||
- if (pathlen > MAXPATHLEN) {
|
||||
+ if (pathlen < 0 || pathlen > MAXPATHLEN) {
|
||||
xfs_alert(mp, "%s: inode (%llu) symlink length (%d) too long",
|
||||
__func__, (unsigned long long)ip->i_ino, pathlen);
|
||||
ASSERT(0);
|
|
@ -1,43 +0,0 @@
|
|||
Subject: [PATCH] Fix possible memory corruption in xfs_readlink
|
||||
From: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
Date: Tue, 18 Oct 2011 02:18:58 -0200
|
||||
|
||||
Fixes a possible memory corruption when the link is larger than
|
||||
MAXPATHLEN and XFS_DEBUG is not enabled. This also remove the
|
||||
S_ISLNK assert, since the inode mode is checked previously in
|
||||
xfs_readlink_by_handle() and via VFS.
|
||||
|
||||
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
|
||||
---
|
||||
fs/xfs/xfs_vnodeops.c | 11 ++++++++---
|
||||
1 files changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/fs/xfs/xfs_vnodeops.c b/fs/xfs/xfs_vnodeops.c
|
||||
index 51fc429..c3288be 100644
|
||||
--- a/fs/xfs/xfs_vnodeops.c
|
||||
+++ b/fs/xfs/xfs_vnodeops.c
|
||||
@@ -123,13 +123,18 @@ xfs_readlink(
|
||||
|
||||
xfs_ilock(ip, XFS_ILOCK_SHARED);
|
||||
|
||||
- ASSERT(S_ISLNK(ip->i_d.di_mode));
|
||||
- ASSERT(ip->i_d.di_size <= MAXPATHLEN);
|
||||
-
|
||||
pathlen = ip->i_d.di_size;
|
||||
if (!pathlen)
|
||||
goto out;
|
||||
|
||||
+ if (pathlen > MAXPATHLEN) {
|
||||
+ xfs_alert(mp, "%s: inode (%llu) symlink length (%d) too long",
|
||||
+ __func__, (unsigned long long)ip->i_ino, pathlen);
|
||||
+ ASSERT(0);
|
||||
+ return XFS_ERROR(EFSCORRUPTED);
|
||||
+ }
|
||||
+
|
||||
+
|
||||
if (ip->i_df.if_flags & XFS_IFINLINE) {
|
||||
memcpy(link, ip->i_df.if_u1.if_data, pathlen);
|
||||
link[pathlen] = '\0';
|
||||
--
|
||||
1.7.6.2
|
||||
|
|
@ -43,8 +43,6 @@
|
|||
+ bugfix/ia64/ia64-gpio-GENERIC_GPIO-default-must-be-n.patch
|
||||
+ features/x86/libertas-prioritize-usb8388_olpc.bin-firmware-on-OLPC-machines.patch
|
||||
+ bugfix/arm/ARM-ixp4xx-gpiolib-support.patch
|
||||
+ bugfix/all/xfs-fix-memory-corruption-in-xfs_readlink.patch
|
||||
+ bugfix/all/xfs-fix-memory-corruption-in-xfs_readlink-2.patch
|
||||
+ bugfix/all/oom-fix-integer-overflow-of-points-in-oom_badness.patch
|
||||
+ bugfix/alpha/alpha-wire-up-accept4-syscall.patch
|
||||
+ bugfix/all/iwlagn-fix-modinfo-display-for-135-ucode.patch
|
||||
|
@ -80,8 +78,6 @@
|
|||
+ bugfix/all/0005-media-staging-lirc_serial-Do-not-assume-error-codes-.patch
|
||||
|
||||
+ features/all/topology-Provide-CPU-topology-in-sysfs-in-SMP-configura.patch
|
||||
+ bugfix/all/USB-EHCI-fix-HUB-TT-scheduling-issue-with-iso-transf.patch
|
||||
+ bugfix/all/EHCI-Fix-a-regression-in-the-ISO-scheduler.patch
|
||||
+ debian/x86-memtest-WARN-if-bad-RAM-found.patch
|
||||
|
||||
+ bugfix/all/0001-staging-brcm80211-fixed-build-issue-for-big-endian-p.patch
|
||||
|
|
Loading…
Reference in New Issue