Messages in this thread Patch in this message | | | Date | Mon, 07 Sep 2009 00:58:26 +0200 | From | Tilman Schmidt <> | Subject | Re: [patch 00/48] 2.6.27.32-stable review |
| |
Greg,
if at all possible, could you please include the patch below, with an
Acked-by: Tilman Schmidt <tilman@imap.cc>
tacked on? It applies fine to 2.6.27.31.
Thanks a lot in advance, Tilman
---- original message follows ---- Message-ID: <4A9524BE.3060508@canonical.com> Date: Wed, 26 Aug 2009 14:04:14 +0200 From: Stefan Bader <stefan.bader@canonical.com> To: stable@kernel.org CC: Tilman Schmidt <tilman@imap.cc>, "David S. Miller" <davem@davemloft.net>, Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Subject: [PATCH] Fix incorrect stable backport to bas_gigaset patch
This seems to affect 2.6.27.y and (discontinued) 2.6.28.y. Some code went into gigaset_probe instead of gigaset_initcshw causing an oops when the hardware is probed. [I added one pr_err statement from upstream, too)
-Stefan
From 944fd2dab4173cea4fdcd50732529639ec00cf5d Mon Sep 17 00:00:00 2001 From: Stefan Bader <stefan.bader@canonical.com> Date: Tue, 25 Aug 2009 17:35:56 +0200 Subject: [PATCH] UBUNTU: SAUCE: Fix incorrect stable backport to bas_gigaset
BugLink: http://bugs.launchpad.net/bugs/417732
commit 56f7efe48d57dda9e59e23ab161c118271cce815 Author: Tilman Schmidt <tilman@imap.cc> Date: Wed Apr 15 03:25:43 2009 -0700
bas_gigaset: correctly allocate USB interrupt transfer buffer
[ Upstream commit 170ebf85160dd128e1c4206cc197cce7d1424705 ]
This incorrect backport to 2.6.28.10 placed some code into the probe function which used a pointer before it was initialized. Moving this to the correct place (as it is in upstream).
Signed-off-by: Stefan Bader <stefan.bader@canonical.com> --- drivers/isdn/gigaset/bas-gigaset.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/isdn/gigaset/bas-gigaset.c b/drivers/isdn/gigaset/bas-gigaset.c index fcec2df..3990eae 100644 --- a/drivers/isdn/gigaset/bas-gigaset.c +++ b/drivers/isdn/gigaset/bas-gigaset.c @@ -2140,8 +2140,16 @@ static int gigaset_initcshw(struct cardstate *cs) struct bas_cardstate *ucs; cs->hw.bas = ucs = kmalloc(sizeof *ucs, GFP_KERNEL); - if (!ucs) + if (!ucs) { + pr_err("out of memory\n"); + return 0; + } + ucs->int_in_buf = kmalloc(IP_MSGSIZE, GFP_KERNEL); + if (!ucs->int_in_buf) { + kfree(ucs); + pr_err("out of memory\n"); return 0; + } ucs->urb_cmd_in = NULL; ucs->urb_cmd_out = NULL; @@ -2236,12 +2244,6 @@ static int gigaset_probe(struct usb_interface *interface, } hostif = interface->cur_altsetting; } - ucs->int_in_buf = kmalloc(IP_MSGSIZE, GFP_KERNEL); - if (!ucs->int_in_buf) { - kfree(ucs); - pr_err("out of memory\n"); - return 0; - } /* Reject application specific interfaces */ -- 1.5.4.3 -- Tilman Schmidt E-Mail: tilman@imap.cc Bonn, Germany Diese Nachricht besteht zu 100% aus wiederverwerteten Bits. Ungeöffnet mindestens haltbar bis: (siehe Rückseite)
[unhandled content-type:application/pgp-signature] | |