| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222922.939065975@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:11 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Tony Luck <tony.luck@intel.com> |
| Subject: [patch 01/43] [IA64] Build fix for __early_pfn_to_nid() undefined link error |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=build-fix-for-__early_pfn_to_nid-undefined-link-error.patch |
| Content-Length: 925 |
| Lines: 35 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Tony Luck <tony.luck@intel.com> |
| |
| commit 334f85b647bc46ff4d27ace55aa65f44d6a2f4db upstream. |
| |
| ia64 only defines __early_pfn_to_nid() for SPARSEMEM && NUMA configurations, |
| so the recent: |
| |
| commit: f2dbcfa738368c8a40d4a5f0b65dc9879577cb21 |
| mm: clean up for early_pfn_to_nid() |
| |
| ends up with some link problems for certain configuration files. |
| |
| Fix arch/ia64/Kconfig to only define HAVE_ARCH_EARLY_PFN_TO_NID in the |
| cases where we do provide this function. |
| |
| Signed-off-by: Tony Luck <tony.luck@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/ia64/Kconfig | 3 +-- |
| 1 file changed, 1 insertion(+), 2 deletions(-) |
| |
| --- a/arch/ia64/Kconfig |
| +++ b/arch/ia64/Kconfig |
| @@ -479,8 +479,7 @@ config HOLES_IN_ZONE |
| default y if VIRTUAL_MEM_MAP |
| |
| config HAVE_ARCH_EARLY_PFN_TO_NID |
| - def_bool y |
| - depends on NEED_MULTIPLE_NODES |
| + def_bool NUMA && SPARSEMEM |
| |
| config HAVE_ARCH_NODEDATA_EXTENSION |
| def_bool y |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222923.128981119@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:12 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Ingo Molnar <mingo@elte.hu>, |
| "H. Peter Anvin" <hpa@linux.intel.com>, |
| Joe Korty <joe.korty@ccur.com> |
| Subject: [patch 02/43] Fix misreporting of #cores as #hyperthreads for Q9550 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=fix-misreporting-of-cores-as-hyperthreads-for-q9550.patch |
| Content-Length: 3627 |
| Lines: 94 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Joe Korty <joe.korty@ccur.com> |
| |
| For the Q9550, in x86_64 mode, /proc/cpuinfo mistakenly |
| thinks the #cores present is the #hyperthreads present. |
| i386 mode was not examined but is assumed to have the |
| same problem. |
| |
| A backport of the following three 2.6.29-rc1 patches |
| fixes the problem: |
| |
| 066941bd4eeb159307a5d7d795100d0887c00442: |
| [PATCH] x86: unmask CPUID levels on Intel CPUs |
| 99fb4d349db7e7dacb2099c5cc320a9e2d31c1ef: |
| [PATCH] x86: unmask CPUID levels on Intel CPUs, fix |
| bdf21a49bab28f0d9613e8d8724ef9c9168b61b9: |
| [PATCH] x86: add MSR_IA32_MISC_ENABLE bits to <asm/msr-index.h> |
| |
| >From the first patch: "If the CPUID limit bit in |
| MSR_IA32_MISC_ENABLE is set, clear it to make all CPUID |
| information available. This is required for some features |
| to work, in particular XSAVE." |
| |
| Originally-Developed-by: H. Peter Anvin <hpa@linux.intel.com> |
| Backported-by: Joe Korty <joe.korty@ccur.com> |
| Signed-off-by: Joe Korty <joe.korty@ccur.com> |
| Cc: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/x86/include/asm/msr-index.h | 29 +++++++++++++++++++++++++++++ |
| arch/x86/kernel/cpu/intel.c | 13 +++++++++++++ |
| 2 files changed, 42 insertions(+) |
| |
| --- a/arch/x86/include/asm/msr-index.h |
| +++ b/arch/x86/include/asm/msr-index.h |
| @@ -200,6 +200,35 @@ |
| #define MSR_IA32_THERM_STATUS 0x0000019c |
| #define MSR_IA32_MISC_ENABLE 0x000001a0 |
| |
| +/* MISC_ENABLE bits: architectural */ |
| +#define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << 0) |
| +#define MSR_IA32_MISC_ENABLE_TCC (1ULL << 1) |
| +#define MSR_IA32_MISC_ENABLE_EMON (1ULL << 7) |
| +#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL (1ULL << 11) |
| +#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL (1ULL << 12) |
| +#define MSR_IA32_MISC_ENABLE_ENHANCED_SPEEDSTEP (1ULL << 16) |
| +#define MSR_IA32_MISC_ENABLE_MWAIT (1ULL << 18) |
| +#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID (1ULL << 22) |
| +#define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1ULL << 23) |
| +#define MSR_IA32_MISC_ENABLE_XD_DISABLE (1ULL << 34) |
| + |
| +/* MISC_ENABLE bits: model-specific, meaning may vary from core to core */ |
| +#define MSR_IA32_MISC_ENABLE_X87_COMPAT (1ULL << 2) |
| +#define MSR_IA32_MISC_ENABLE_TM1 (1ULL << 3) |
| +#define MSR_IA32_MISC_ENABLE_SPLIT_LOCK_DISABLE (1ULL << 4) |
| +#define MSR_IA32_MISC_ENABLE_L3CACHE_DISABLE (1ULL << 6) |
| +#define MSR_IA32_MISC_ENABLE_SUPPRESS_LOCK (1ULL << 8) |
| +#define MSR_IA32_MISC_ENABLE_PREFETCH_DISABLE (1ULL << 9) |
| +#define MSR_IA32_MISC_ENABLE_FERR (1ULL << 10) |
| +#define MSR_IA32_MISC_ENABLE_FERR_MULTIPLEX (1ULL << 10) |
| +#define MSR_IA32_MISC_ENABLE_TM2 (1ULL << 13) |
| +#define MSR_IA32_MISC_ENABLE_ADJ_PREF_DISABLE (1ULL << 19) |
| +#define MSR_IA32_MISC_ENABLE_SPEEDSTEP_LOCK (1ULL << 20) |
| +#define MSR_IA32_MISC_ENABLE_L1D_CONTEXT (1ULL << 24) |
| +#define MSR_IA32_MISC_ENABLE_DCU_PREF_DISABLE (1ULL << 37) |
| +#define MSR_IA32_MISC_ENABLE_TURBO_DISABLE (1ULL << 38) |
| +#define MSR_IA32_MISC_ENABLE_IP_PREF_DISABLE (1ULL << 39) |
| + |
| /* Intel Model 6 */ |
| #define MSR_P6_EVNTSEL0 0x00000186 |
| #define MSR_P6_EVNTSEL1 0x00000187 |
| --- a/arch/x86/kernel/cpu/intel.c |
| +++ b/arch/x86/kernel/cpu/intel.c |
| @@ -30,6 +30,19 @@ |
| |
| static void __cpuinit early_init_intel(struct cpuinfo_x86 *c) |
| { |
| + /* Unmask CPUID levels if masked: */ |
| + if (c->x86 == 6 && c->x86_model >= 15) { |
| + u64 misc_enable; |
| + |
| + rdmsrl(MSR_IA32_MISC_ENABLE, misc_enable); |
| + |
| + if (misc_enable & MSR_IA32_MISC_ENABLE_LIMIT_CPUID) { |
| + misc_enable &= ~MSR_IA32_MISC_ENABLE_LIMIT_CPUID; |
| + wrmsrl(MSR_IA32_MISC_ENABLE, misc_enable); |
| + c->cpuid_level = cpuid_eax(0); |
| + } |
| + } |
| + |
| if ((c->x86 == 0xf && c->x86_model >= 0x03) || |
| (c->x86 == 0x6 && c->x86_model >= 0x0e)) |
| set_cpu_cap(c, X86_FEATURE_CONSTANT_TSC); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222923.301362657@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:13 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Davide Libenzi <davidel@xmailserver.org>, |
| Benjamin LaHaise <bcrl@kvack.org>, |
| Trond Myklebust <trond.myklebust@fys.uio.no>, |
| Eric Dumazet <dada1@cosmosbay.com>, |
| Jeff Moyer <jmoyer@redhat.com>, |
| Zach Brown <zach.brown@oracle.com> |
| Subject: [patch 03/43] eventfd: remove fput() call from possible IRQ context |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=eventfd-remove-fput-call-from-possible-irq-context.patch |
| Content-Length: 4152 |
| Lines: 122 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Davide Libenzi <davidel@xmailserver.org> |
| |
| commit 87c3a86e1c220121d0ced59d1a71e78ed9abc6dd upstream. |
| |
| Remove a source of fput() call from inside IRQ context. Myself, like Eric, |
| wasn't able to reproduce an fput() call from IRQ context, but Jeff said he was |
| able to, with the attached test program. Independently from this, the bug is |
| conceptually there, so we might be better off fixing it. This patch adds an |
| optimization similar to the one we already do on ->ki_filp, on ->ki_eventfd. |
| Playing with ->f_count directly is not pretty in general, but the alternative |
| here would be to add a brand new delayed fput() infrastructure, that I'm not |
| sure is worth it. |
| |
| Signed-off-by: Davide Libenzi <davidel@xmailserver.org> |
| Cc: Benjamin LaHaise <bcrl@kvack.org> |
| Cc: Trond Myklebust <trond.myklebust@fys.uio.no> |
| Cc: Eric Dumazet <dada1@cosmosbay.com> |
| Signed-off-by: Jeff Moyer <jmoyer@redhat.com> |
| Cc: Zach Brown <zach.brown@oracle.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| fs/aio.c | 37 +++++++++++++++++++++++++++---------- |
| 1 file changed, 27 insertions(+), 10 deletions(-) |
| |
| --- a/fs/aio.c |
| +++ b/fs/aio.c |
| @@ -428,7 +428,7 @@ static struct kiocb *__aio_get_req(struc |
| req->private = NULL; |
| req->ki_iovec = NULL; |
| INIT_LIST_HEAD(&req->ki_run_list); |
| - req->ki_eventfd = ERR_PTR(-EINVAL); |
| + req->ki_eventfd = NULL; |
| |
| /* Check if the completion queue has enough free space to |
| * accept an event from this io. |
| @@ -470,8 +470,6 @@ static inline void really_put_req(struct |
| { |
| assert_spin_locked(&ctx->ctx_lock); |
| |
| - if (!IS_ERR(req->ki_eventfd)) |
| - fput(req->ki_eventfd); |
| if (req->ki_dtor) |
| req->ki_dtor(req); |
| if (req->ki_iovec != &req->ki_inline_vec) |
| @@ -493,8 +491,11 @@ static void aio_fput_routine(struct work |
| list_del(&req->ki_list); |
| spin_unlock_irq(&fput_lock); |
| |
| - /* Complete the fput */ |
| - __fput(req->ki_filp); |
| + /* Complete the fput(s) */ |
| + if (req->ki_filp != NULL) |
| + __fput(req->ki_filp); |
| + if (req->ki_eventfd != NULL) |
| + __fput(req->ki_eventfd); |
| |
| /* Link the iocb into the context's free list */ |
| spin_lock_irq(&ctx->ctx_lock); |
| @@ -512,12 +513,14 @@ static void aio_fput_routine(struct work |
| */ |
| static int __aio_put_req(struct kioctx *ctx, struct kiocb *req) |
| { |
| + int schedule_putreq = 0; |
| + |
| dprintk(KERN_DEBUG "aio_put(%p): f_count=%ld\n", |
| req, atomic_long_read(&req->ki_filp->f_count)); |
| |
| assert_spin_locked(&ctx->ctx_lock); |
| |
| - req->ki_users --; |
| + req->ki_users--; |
| BUG_ON(req->ki_users < 0); |
| if (likely(req->ki_users)) |
| return 0; |
| @@ -525,10 +528,23 @@ static int __aio_put_req(struct kioctx * |
| req->ki_cancel = NULL; |
| req->ki_retry = NULL; |
| |
| - /* Must be done under the lock to serialise against cancellation. |
| - * Call this aio_fput as it duplicates fput via the fput_work. |
| + /* |
| + * Try to optimize the aio and eventfd file* puts, by avoiding to |
| + * schedule work in case it is not __fput() time. In normal cases, |
| + * we would not be holding the last reference to the file*, so |
| + * this function will be executed w/out any aio kthread wakeup. |
| */ |
| - if (unlikely(atomic_long_dec_and_test(&req->ki_filp->f_count))) { |
| + if (unlikely(atomic_long_dec_and_test(&req->ki_filp->f_count))) |
| + schedule_putreq++; |
| + else |
| + req->ki_filp = NULL; |
| + if (req->ki_eventfd != NULL) { |
| + if (unlikely(atomic_long_dec_and_test(&req->ki_eventfd->f_count))) |
| + schedule_putreq++; |
| + else |
| + req->ki_eventfd = NULL; |
| + } |
| + if (unlikely(schedule_putreq)) { |
| get_ioctx(ctx); |
| spin_lock(&fput_lock); |
| list_add(&req->ki_list, &fput_head); |
| @@ -992,7 +1008,7 @@ int aio_complete(struct kiocb *iocb, lon |
| * eventfd. The eventfd_signal() function is safe to be called |
| * from IRQ context. |
| */ |
| - if (!IS_ERR(iocb->ki_eventfd)) |
| + if (iocb->ki_eventfd != NULL) |
| eventfd_signal(iocb->ki_eventfd, 1); |
| |
| put_rq: |
| @@ -1596,6 +1612,7 @@ static int io_submit_one(struct kioctx * |
| req->ki_eventfd = eventfd_fget((int) iocb->aio_resfd); |
| if (IS_ERR(req->ki_eventfd)) { |
| ret = PTR_ERR(req->ki_eventfd); |
| + req->ki_eventfd = NULL; |
| goto out_put_req; |
| } |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222923.469852861@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:14 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Martin Schwidefsky <schwidefsky@de.ibm.com> |
| Subject: [patch 04/43] S390: __div64_31 broken for CONFIG_MARCH_G5 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=s390-__div64_31-broken-for-config_march_g5.patch |
| Content-Length: 1095 |
| Lines: 32 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Martin Schwidefsky <schwidefsky@de.ibm.com> |
| |
| commit 4fa81ed27781a12f6303b9263056635ae74e3e21 upstream. |
| |
| The implementation of __div64_31 for G5 machines is broken. The comments |
| in __div64_31 are correct, only the code does not do what the comments |
| say. The part "If the remainder has overflown subtract base and increase |
| the quotient" is only partially realized, the base is subtracted correctly |
| but the quotient is only increased if the dividend had the last bit set. |
| Using the correct instruction fixes the problem. |
| |
| Reported-by: Frans Pop <elendil@planet.nl> |
| Tested-by: Frans Pop <elendil@planet.nl> |
| Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| arch/s390/lib/div64.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/s390/lib/div64.c |
| +++ b/arch/s390/lib/div64.c |
| @@ -61,7 +61,7 @@ static uint32_t __div64_31(uint64_t *n, |
| " clr %0,%3\n" |
| " jl 0f\n" |
| " slr %0,%3\n" |
| - " alr %1,%2\n" |
| + " ahi %1,1\n" |
| "0:\n" |
| : "+d" (reg2), "+d" (reg3), "=d" (tmp) |
| : "d" (base), "2" (1UL) : "cc" ); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222923.632902504@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:15 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jan Beulich <jbeulich@novell.com>, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 05/43] ALSA: Fix vunmap and free order in snd_free_sgbuf_pages() |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-fix-vunmap-and-free-order-in-snd_free_sgbuf_pages.patch |
| Content-Length: 1203 |
| Lines: 42 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 6af845e4eb36fb91b322aaf77ec1cab2220a48ad upstream. |
| |
| In snd_free_sgbuf_pags(), vunmap() is called after releasing the SG |
| pages, and it causes errors on Xen as Xen manages the pages |
| differently. Although no significant errors have been reported on |
| the actual hardware, this order should be fixed other way round, |
| first vunmap() then free pages. |
| |
| Cc: Jan Beulich <jbeulich@novell.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/core/sgbuf.c | 7 ++++--- |
| 1 file changed, 4 insertions(+), 3 deletions(-) |
| |
| --- a/sound/core/sgbuf.c |
| +++ b/sound/core/sgbuf.c |
| @@ -38,6 +38,10 @@ int snd_free_sgbuf_pages(struct snd_dma_ |
| if (! sgbuf) |
| return -EINVAL; |
| |
| + if (dmab->area) |
| + vunmap(dmab->area); |
| + dmab->area = NULL; |
| + |
| tmpb.dev.type = SNDRV_DMA_TYPE_DEV; |
| tmpb.dev.dev = sgbuf->dev; |
| for (i = 0; i < sgbuf->pages; i++) { |
| @@ -48,9 +52,6 @@ int snd_free_sgbuf_pages(struct snd_dma_ |
| tmpb.bytes = (sgbuf->table[i].addr & ~PAGE_MASK) << PAGE_SHIFT; |
| snd_dma_free_pages(&tmpb); |
| } |
| - if (dmab->area) |
| - vunmap(dmab->area); |
| - dmab->area = NULL; |
| |
| kfree(sgbuf->table); |
| kfree(sgbuf->page_table); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:23 2009 |
| Message-Id: <20090320222923.800315181@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:16 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jiri Slaby <jirislaby@gmail.com>, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 06/43] ALSA: mixart, fix lock imbalance |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-mixart-fix-lock-imbalance.patch |
| Content-Length: 669 |
| Lines: 25 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Jiri Slaby <jirislaby@gmail.com> |
| |
| commit 82f5d57163abed2e5ff271d03217b6f90c616eb8 upstream. |
| |
| There is an omitted unlock in one snd_mixart_hw_params fail path. Fix it. |
| |
| Signed-off-by: Jiri Slaby <jirislaby@gmail.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/mixart/mixart.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/sound/pci/mixart/mixart.c |
| +++ b/sound/pci/mixart/mixart.c |
| @@ -607,6 +607,7 @@ static int snd_mixart_hw_params(struct s |
| /* set the format to the board */ |
| err = mixart_set_format(stream, format); |
| if(err < 0) { |
| + mutex_unlock(&mgr->setup_mutex); |
| return err; |
| } |
| |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222923.991758234@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:17 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jiri Slaby <jirislaby@gmail.com>, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 07/43] ALSA: pcm_oss, fix locking typo |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-pcm_oss-fix-locking-typo.patch |
| Content-Length: 1091 |
| Lines: 36 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Jiri Slaby <jirislaby@gmail.com> |
| |
| commit 91054598f794fb5d8a0b1e747ff8e2e8fc2115b3 upstream. |
| |
| s/mutex_lock/mutex_unlock/ on 2 fail paths in snd_pcm_oss_proc_write. |
| Probably a typo, lock should be unlocked when leaving the function. |
| |
| Signed-off-by: Jiri Slaby <jirislaby@gmail.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/core/oss/pcm_oss.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/sound/core/oss/pcm_oss.c |
| +++ b/sound/core/oss/pcm_oss.c |
| @@ -2872,7 +2872,7 @@ static void snd_pcm_oss_proc_write(struc |
| setup = kmalloc(sizeof(*setup), GFP_KERNEL); |
| if (! setup) { |
| buffer->error = -ENOMEM; |
| - mutex_lock(&pstr->oss.setup_mutex); |
| + mutex_unlock(&pstr->oss.setup_mutex); |
| return; |
| } |
| if (pstr->oss.setup_list == NULL) |
| @@ -2886,7 +2886,7 @@ static void snd_pcm_oss_proc_write(struc |
| if (! template.task_name) { |
| kfree(setup); |
| buffer->error = -ENOMEM; |
| - mutex_lock(&pstr->oss.setup_mutex); |
| + mutex_unlock(&pstr->oss.setup_mutex); |
| return; |
| } |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222924.155325468@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:18 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 08/43] ALSA: hda - Fix DMA mask for ATI controllers |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-hda-fix-dma-mask-for-ati-controllers.patch |
| Content-Length: 1156 |
| Lines: 36 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit 09240cf429505891d6123ce14a29f58f2a60121e upstream. |
| |
| ATI controllers (at least some SB0600 models) appear buggy to handle |
| 64bit DMA. As a workaround, reset GCAP bit0 and let the driver to |
| use only 32bit DMA on these controllers. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/hda/hda_intel.c | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/sound/pci/hda/hda_intel.c |
| +++ b/sound/pci/hda/hda_intel.c |
| @@ -2208,9 +2208,17 @@ static int __devinit azx_create(struct s |
| gcap = azx_readw(chip, GCAP); |
| snd_printdd("chipset global capabilities = 0x%x\n", gcap); |
| |
| + /* ATI chips seems buggy about 64bit DMA addresses */ |
| + if (chip->driver_type == AZX_DRIVER_ATI) |
| + gcap &= ~0x01; |
| + |
| /* allow 64bit DMA address if supported by H/W */ |
| if ((gcap & 0x01) && !pci_set_dma_mask(pci, DMA_64BIT_MASK)) |
| pci_set_consistent_dma_mask(pci, DMA_64BIT_MASK); |
| + else { |
| + pci_set_dma_mask(pci, DMA_32BIT_MASK); |
| + pci_set_consistent_dma_mask(pci, DMA_32BIT_MASK); |
| + } |
| |
| /* read number of streams from GCAP register instead of using |
| * hardcoded value |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222924.315647229@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:19 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 09/43] ALSA: hda - Workaround for buggy DMA position on ATI controllers |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-hda-workaround-for-buggy-dma-position-on-ati-controllers.patch |
| Content-Length: 1708 |
| Lines: 63 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit c673ba1c23941173c16ff24c7cb34199e826c8b5 upstream. |
| |
| The position-buffer on ATI controllers are unreliable as well as |
| on VIA chips, thus the same workaround for DMA position reading as |
| VIA is useful for ATI. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/pci/hda/hda_intel.c | 31 ++++++++++++++++++------------- |
| 1 file changed, 18 insertions(+), 13 deletions(-) |
| |
| --- a/sound/pci/hda/hda_intel.c |
| +++ b/sound/pci/hda/hda_intel.c |
| @@ -2063,26 +2063,31 @@ static int __devinit check_position_fix( |
| { |
| const struct snd_pci_quirk *q; |
| |
| - /* Check VIA HD Audio Controller exist */ |
| - if (chip->pci->vendor == PCI_VENDOR_ID_VIA && |
| - chip->pci->device == VIA_HDAC_DEVICE_ID) { |
| + switch (fix) { |
| + case POS_FIX_LPIB: |
| + case POS_FIX_POSBUF: |
| + return fix; |
| + } |
| + |
| + /* Check VIA/ATI HD Audio Controller exist */ |
| + switch (chip->driver_type) { |
| + case AZX_DRIVER_VIA: |
| + case AZX_DRIVER_ATI: |
| chip->via_dmapos_patch = 1; |
| /* Use link position directly, avoid any transfer problem. */ |
| return POS_FIX_LPIB; |
| } |
| chip->via_dmapos_patch = 0; |
| |
| - if (fix == POS_FIX_AUTO) { |
| - q = snd_pci_quirk_lookup(chip->pci, position_fix_list); |
| - if (q) { |
| - printk(KERN_INFO |
| - "hda_intel: position_fix set to %d " |
| - "for device %04x:%04x\n", |
| - q->value, q->subvendor, q->subdevice); |
| - return q->value; |
| - } |
| + q = snd_pci_quirk_lookup(chip->pci, position_fix_list); |
| + if (q) { |
| + printk(KERN_INFO |
| + "hda_intel: position_fix set to %d " |
| + "for device %04x:%04x\n", |
| + q->value, q->subvendor, q->subdevice); |
| + return q->value; |
| } |
| - return fix; |
| + return POS_FIX_AUTO; |
| } |
| |
| /* |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222924.477204359@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:20 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Krzysztof Helt <krzysztof.h1@wp.pl>, |
| Takashi Iwai <tiwai@suse.de> |
| Subject: [patch 10/43] ALSA: opl3sa2 - Fix NULL dereference when suspending snd_opl3sa2 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=alsa-opl3sa2-fix-null-dereference-when-suspending-snd_opl3sa2.patch |
| Content-Length: 1423 |
| Lines: 53 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Krzysztof Helt <krzysztof.h1@wp.pl> |
| |
| commit dde332b660cf0bc2baaba678b52768a0fb6e6da2 upstream. |
| |
| Fix the OOPS during a opl3sa2 card suspend |
| and resume if the driver is loaded but the card |
| is not found. |
| |
| Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| sound/isa/opl3sa2.c | 18 ++++++++++++------ |
| 1 file changed, 12 insertions(+), 6 deletions(-) |
| |
| --- a/sound/isa/opl3sa2.c |
| +++ b/sound/isa/opl3sa2.c |
| @@ -550,21 +550,27 @@ static int __devinit snd_opl3sa2_mixer(s |
| #ifdef CONFIG_PM |
| static int snd_opl3sa2_suspend(struct snd_card *card, pm_message_t state) |
| { |
| - struct snd_opl3sa2 *chip = card->private_data; |
| + if (card) { |
| + struct snd_opl3sa2 *chip = card->private_data; |
| |
| - snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
| - chip->wss->suspend(chip->wss); |
| - /* power down */ |
| - snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3); |
| + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
| + chip->wss->suspend(chip->wss); |
| + /* power down */ |
| + snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3); |
| + } |
| |
| return 0; |
| } |
| |
| static int snd_opl3sa2_resume(struct snd_card *card) |
| { |
| - struct snd_opl3sa2 *chip = card->private_data; |
| + struct snd_opl3sa2 *chip; |
| int i; |
| |
| + if (!card) |
| + return 0; |
| + |
| + chip = card->private_data; |
| /* power up */ |
| snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D0); |
| |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222924.649248510@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:21 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| "J. Bruce Fields" <bfields@citi.umich.edu> |
| Subject: [patch 11/43] nfsd: nfsd should drop CAP_MKNOD for non-root |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=nfsd-nfsd-should-drop-cap_mknod-for-non-root.patch |
| Content-Length: 1400 |
| Lines: 36 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: J. Bruce Fields <bfields@citi.umich.edu> |
| |
| commit 76a67ec6fb79ff3570dcb5342142c16098299911 upstream. |
| |
| Since creating a device node is normally an operation requiring special |
| privilege, Igor Zhbanov points out that it is surprising (to say the |
| least) that a client can, for example, create a device node on a |
| filesystem exported with root_squash. |
| |
| So, make sure CAP_MKNOD is among the capabilities dropped when an nfsd |
| thread handles a request from a non-root user. |
| |
| Reported-by: Igor Zhbanov <izh1979@gmail.com> |
| Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| include/linux/capability.h | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/include/linux/capability.h |
| +++ b/include/linux/capability.h |
| @@ -382,8 +382,10 @@ typedef struct kernel_cap_struct { |
| # define CAP_FULL_SET ((kernel_cap_t){{ ~0, ~0 }}) |
| # define CAP_INIT_EFF_SET ((kernel_cap_t){{ ~CAP_TO_MASK(CAP_SETPCAP), ~0 }}) |
| # define CAP_FS_SET ((kernel_cap_t){{ CAP_FS_MASK_B0, CAP_FS_MASK_B1 } }) |
| -# define CAP_NFSD_SET ((kernel_cap_t){{ CAP_FS_MASK_B0|CAP_TO_MASK(CAP_SYS_RESOURCE), \ |
| - CAP_FS_MASK_B1 } }) |
| +# define CAP_NFSD_SET ((kernel_cap_t){{ CAP_FS_MASK_B0 \ |
| + | CAP_TO_MASK(CAP_SYS_RESOURCE) \ |
| + | CAP_TO_MASK(CAP_MKNOD), \ |
| + CAP_FS_MASK_B1 } }) |
| |
| #endif /* _KERNEL_CAPABILITY_U32S != 2 */ |
| |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:24 2009 |
| Message-Id: <20090320222924.801209502@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:22 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Benny Halevy <bhalevy@panasas.com>, |
| "J. Bruce Fields" <bfields@citi.umich.edu> |
| Subject: [patch 12/43] NFSD: provide encode routine for OP_OPENATTR |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=nfsd-provide-encode-routine-for-op_openattr.patch |
| Content-Length: 1137 |
| Lines: 33 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Benny Halevy <bhalevy@panasas.com> |
| |
| commit 84f09f46b4ee9e4e9b6381f8af31817516d2091b upstream. |
| |
| Although this operation is unsupported by our implementation |
| we still need to provide an encode routine for it to |
| merely encode its (error) status back in the compound reply. |
| |
| Thanks for Bill Baker at sun.com for testing with the Sun |
| OpenSolaris' client, finding, and reporting this bug at |
| Connectathon 2009. |
| |
| This bug was introduced in 2.6.27 |
| |
| Signed-off-by: Benny Halevy <bhalevy@panasas.com> |
| Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| fs/nfsd/nfs4xdr.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/fs/nfsd/nfs4xdr.c |
| +++ b/fs/nfsd/nfs4xdr.c |
| @@ -2598,6 +2598,7 @@ static nfsd4_enc nfsd4_enc_ops[] = { |
| [OP_LOOKUPP] = (nfsd4_enc)nfsd4_encode_noop, |
| [OP_NVERIFY] = (nfsd4_enc)nfsd4_encode_noop, |
| [OP_OPEN] = (nfsd4_enc)nfsd4_encode_open, |
| + [OP_OPENATTR] = (nfsd4_enc)nfsd4_encode_noop, |
| [OP_OPEN_CONFIRM] = (nfsd4_enc)nfsd4_encode_open_confirm, |
| [OP_OPEN_DOWNGRADE] = (nfsd4_enc)nfsd4_encode_open_downgrade, |
| [OP_PUTFH] = (nfsd4_enc)nfsd4_encode_noop, |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222924.954615735@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:23 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Milan Broz <mbroz@redhat.com>, |
| Alasdair G Kergon <agk@redhat.com> |
| Subject: [patch 13/43] dm ioctl: validate name length when renaming |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=dm-ioctl-validate-name-length-when-renaming.patch |
| Content-Length: 1293 |
| Lines: 37 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Milan Broz <mbroz@redhat.com> |
| |
| commit bc0fd67feba2e0770aad85393500ba77c6489f1c upstream. |
| |
| When renaming a mapped device validate the length of the new name. |
| |
| The rename ioctl accepted any correctly-terminated string enclosed |
| within the data passed from userspace. The other ioctls enforce a |
| size limit of DM_NAME_LEN. If the name is changed and becomes longer |
| than that, the device can no longer be addressed by name. |
| |
| Fix it by properly checking for device name length (including |
| terminating zero). |
| |
| Signed-off-by: Milan Broz <mbroz@redhat.com> |
| Reviewed-by: Jonathan Brassow <jbrassow@redhat.com> |
| Reviewed-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/dm-ioctl.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/md/dm-ioctl.c |
| +++ b/drivers/md/dm-ioctl.c |
| @@ -704,7 +704,8 @@ static int dev_rename(struct dm_ioctl *p |
| char *new_name = (char *) param + param->data_start; |
| |
| if (new_name < param->data || |
| - invalid_str(new_name, (void *) param + param_size)) { |
| + invalid_str(new_name, (void *) param + param_size) || |
| + strlen(new_name) > DM_NAME_LEN - 1) { |
| DMWARN("Invalid new logical volume name supplied."); |
| return -EINVAL; |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222925.117322176@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:24 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Mikulas Patocka <mpatocka@redhat.com>, |
| Alasdair G Kergon <agk@redhat.com> |
| Subject: [patch 14/43] dm io: respect BIO_MAX_PAGES limit |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=dm-io-respect-bio_max_pages-limit.patch |
| Content-Length: 1079 |
| Lines: 31 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Mikulas Patocka <mpatocka@redhat.com> |
| |
| commit d659e6cc98766a1a61d6bdd283f95d149abd7719 upstream. |
| |
| dm-io calls bio_get_nr_vecs to get the maximum number of pages to use |
| for a given device. It allocates one additional bio_vec to use |
| internally but failed to respect BIO_MAX_PAGES, so fix this. |
| |
| This was the likely cause of: |
| https://bugzilla.redhat.com/show_bug.cgi?id=173153 |
| |
| Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> |
| Signed-off-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/dm-io.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/md/dm-io.c |
| +++ b/drivers/md/dm-io.c |
| @@ -292,6 +292,8 @@ static void do_region(int rw, unsigned r |
| (PAGE_SIZE >> SECTOR_SHIFT)); |
| num_bvecs = 1 + min_t(int, bio_get_nr_vecs(where->bdev), |
| num_bvecs); |
| + if (unlikely(num_bvecs > BIO_MAX_PAGES)) |
| + num_bvecs = BIO_MAX_PAGES; |
| bio = bio_alloc_bioset(GFP_NOIO, num_bvecs, io->client->bios); |
| bio->bi_sector = where->sector + (where->count - remaining); |
| bio->bi_bdev = where->bdev; |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222925.285081963@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:25 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Huang Ying <ying.huang@intel.com>, |
| Herbert Xu <herbert@gondor.apana.org.au>, |
| Milan Broz <mbroz@redhat.com>, |
| Alasdair G Kergon <agk@redhat.com> |
| Subject: [patch 15/43] dm crypt: fix kcryptd_async_done parameter |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=dm-crypt-fix-kcryptd_async_done-parameter.patch |
| Content-Length: 3545 |
| Lines: 101 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Huang Ying <ying.huang@intel.com> |
| |
| commit b2174eebd1fadb76454dad09a1dacbc17081e6b0 upstream. |
| |
| In the async encryption-complete function (kcryptd_async_done), the |
| crypto_async_request passed in may be different from the one passed to |
| crypto_ablkcipher_encrypt/decrypt. Only crypto_async_request->data is |
| guaranteed to be same as the one passed in. The current |
| kcryptd_async_done uses the passed-in crypto_async_request directly |
| which may cause the AES-NI-based AES algorithm implementation to panic. |
| |
| This patch fixes this bug by only using crypto_async_request->data, |
| which points to dm_crypt_request, the crypto_async_request passed in. |
| The original data (convert_context) is gotten from dm_crypt_request. |
| |
| [mbroz@redhat.com: reworked] |
| Signed-off-by: Huang Ying <ying.huang@intel.com> |
| Cc: Herbert Xu <herbert@gondor.apana.org.au> |
| Signed-off-by: Milan Broz <mbroz@redhat.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/dm-crypt.c | 26 +++++++++++++++++++++----- |
| 1 file changed, 21 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/md/dm-crypt.c |
| +++ b/drivers/md/dm-crypt.c |
| @@ -60,6 +60,7 @@ struct dm_crypt_io { |
| }; |
| |
| struct dm_crypt_request { |
| + struct convert_context *ctx; |
| struct scatterlist sg_in; |
| struct scatterlist sg_out; |
| }; |
| @@ -335,6 +336,18 @@ static void crypt_convert_init(struct cr |
| init_completion(&ctx->restart); |
| } |
| |
| +static struct dm_crypt_request *dmreq_of_req(struct crypt_config *cc, |
| + struct ablkcipher_request *req) |
| +{ |
| + return (struct dm_crypt_request *)((char *)req + cc->dmreq_start); |
| +} |
| + |
| +static struct ablkcipher_request *req_of_dmreq(struct crypt_config *cc, |
| + struct dm_crypt_request *dmreq) |
| +{ |
| + return (struct ablkcipher_request *)((char *)dmreq - cc->dmreq_start); |
| +} |
| + |
| static int crypt_convert_block(struct crypt_config *cc, |
| struct convert_context *ctx, |
| struct ablkcipher_request *req) |
| @@ -345,10 +358,11 @@ static int crypt_convert_block(struct cr |
| u8 *iv; |
| int r = 0; |
| |
| - dmreq = (struct dm_crypt_request *)((char *)req + cc->dmreq_start); |
| + dmreq = dmreq_of_req(cc, req); |
| iv = (u8 *)ALIGN((unsigned long)(dmreq + 1), |
| crypto_ablkcipher_alignmask(cc->tfm) + 1); |
| |
| + dmreq->ctx = ctx; |
| sg_init_table(&dmreq->sg_in, 1); |
| sg_set_page(&dmreq->sg_in, bv_in->bv_page, 1 << SECTOR_SHIFT, |
| bv_in->bv_offset + ctx->offset_in); |
| @@ -395,8 +409,9 @@ static void crypt_alloc_req(struct crypt |
| cc->req = mempool_alloc(cc->req_pool, GFP_NOIO); |
| ablkcipher_request_set_tfm(cc->req, cc->tfm); |
| ablkcipher_request_set_callback(cc->req, CRYPTO_TFM_REQ_MAY_BACKLOG | |
| - CRYPTO_TFM_REQ_MAY_SLEEP, |
| - kcryptd_async_done, ctx); |
| + CRYPTO_TFM_REQ_MAY_SLEEP, |
| + kcryptd_async_done, |
| + dmreq_of_req(cc, cc->req)); |
| } |
| |
| /* |
| @@ -821,7 +836,8 @@ static void kcryptd_crypt_read_convert(s |
| static void kcryptd_async_done(struct crypto_async_request *async_req, |
| int error) |
| { |
| - struct convert_context *ctx = async_req->data; |
| + struct dm_crypt_request *dmreq = async_req->data; |
| + struct convert_context *ctx = dmreq->ctx; |
| struct dm_crypt_io *io = container_of(ctx, struct dm_crypt_io, ctx); |
| struct crypt_config *cc = io->target->private; |
| |
| @@ -830,7 +846,7 @@ static void kcryptd_async_done(struct cr |
| return; |
| } |
| |
| - mempool_free(ablkcipher_request_cast(async_req), cc->req_pool); |
| + mempool_free(req_of_dmreq(cc, dmreq), cc->req_pool); |
| |
| if (!atomic_dec_and_test(&ctx->pending)) |
| return; |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222925.453417607@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:26 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Milan Broz <mbroz@redhat.com>, |
| Alasdair G Kergon <agk@redhat.com> |
| Subject: [patch 16/43] dm crypt: wait for endio to complete before destruction |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=dm-crypt-wait-for-endio-to-complete-before-destruction.patch |
| Content-Length: 4580 |
| Lines: 154 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Milan Broz <mbroz@redhat.com> |
| |
| commit b35f8caa0890169000fec22902290d9a15274cbd upstream. |
| |
| The following oops has been reported when dm-crypt runs over a loop device. |
| |
| ... |
| [ 70.381058] Process loop0 (pid: 4268, ti=cf3b2000 task=cf1cc1f0 task.ti=cf3b2000) |
| ... |
| [ 70.381058] Call Trace: |
| [ 70.381058] [<d0d76601>] ? crypt_dec_pending+0x5e/0x62 [dm_crypt] |
| [ 70.381058] [<d0d767b8>] ? crypt_endio+0xa2/0xaa [dm_crypt] |
| [ 70.381058] [<d0d76716>] ? crypt_endio+0x0/0xaa [dm_crypt] |
| [ 70.381058] [<c01a2f24>] ? bio_endio+0x2b/0x2e |
| [ 70.381058] [<d0806530>] ? dec_pending+0x224/0x23b [dm_mod] |
| [ 70.381058] [<d08066e4>] ? clone_endio+0x79/0xa4 [dm_mod] |
| [ 70.381058] [<d080666b>] ? clone_endio+0x0/0xa4 [dm_mod] |
| [ 70.381058] [<c01a2f24>] ? bio_endio+0x2b/0x2e |
| [ 70.381058] [<c02bad86>] ? loop_thread+0x380/0x3b7 |
| [ 70.381058] [<c02ba8a1>] ? do_lo_send_aops+0x0/0x165 |
| [ 70.381058] [<c013754f>] ? autoremove_wake_function+0x0/0x33 |
| [ 70.381058] [<c02baa06>] ? loop_thread+0x0/0x3b7 |
| |
| When a table is being replaced, it waits for I/O to complete |
| before destroying the mempool, but the endio function doesn't |
| call mempool_free() until after completing the bio. |
| |
| Fix it by swapping the order of those two operations. |
| |
| The same problem occurs in dm.c with md referenced after dec_pending. |
| Again, we swap the order. |
| |
| Signed-off-by: Milan Broz <mbroz@redhat.com> |
| Signed-off-by: Alasdair G Kergon <agk@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/md/dm-crypt.c | 17 ++++++++++------- |
| drivers/md/dm.c | 32 +++++++++++++++++++------------- |
| 2 files changed, 29 insertions(+), 20 deletions(-) |
| |
| --- a/drivers/md/dm.c |
| +++ b/drivers/md/dm.c |
| @@ -480,9 +480,12 @@ static int __noflush_suspending(struct m |
| static void dec_pending(struct dm_io *io, int error) |
| { |
| unsigned long flags; |
| + int io_error; |
| + struct bio *bio; |
| + struct mapped_device *md = io->md; |
| |
| /* Push-back supersedes any I/O errors */ |
| - if (error && !(io->error > 0 && __noflush_suspending(io->md))) |
| + if (error && !(io->error > 0 && __noflush_suspending(md))) |
| io->error = error; |
| |
| if (atomic_dec_and_test(&io->io_count)) { |
| @@ -492,25 +495,28 @@ static void dec_pending(struct dm_io *io |
| * This must be handled before the sleeper on |
| * suspend queue merges the pushback list. |
| */ |
| - spin_lock_irqsave(&io->md->pushback_lock, flags); |
| - if (__noflush_suspending(io->md)) |
| - bio_list_add(&io->md->pushback, io->bio); |
| + spin_lock_irqsave(&md->pushback_lock, flags); |
| + if (__noflush_suspending(md)) |
| + bio_list_add(&md->pushback, io->bio); |
| else |
| /* noflush suspend was interrupted. */ |
| io->error = -EIO; |
| - spin_unlock_irqrestore(&io->md->pushback_lock, flags); |
| + spin_unlock_irqrestore(&md->pushback_lock, flags); |
| } |
| |
| end_io_acct(io); |
| |
| - if (io->error != DM_ENDIO_REQUEUE) { |
| - blk_add_trace_bio(io->md->queue, io->bio, |
| + io_error = io->error; |
| + bio = io->bio; |
| + |
| + free_io(md, io); |
| + |
| + if (io_error != DM_ENDIO_REQUEUE) { |
| + blk_add_trace_bio(md->queue, io->bio, |
| BLK_TA_COMPLETE); |
| |
| - bio_endio(io->bio, io->error); |
| + bio_endio(bio, io_error); |
| } |
| - |
| - free_io(io->md, io); |
| } |
| } |
| |
| @@ -518,6 +524,7 @@ static void clone_endio(struct bio *bio, |
| { |
| int r = 0; |
| struct dm_target_io *tio = bio->bi_private; |
| + struct dm_io *io = tio->io; |
| struct mapped_device *md = tio->io->md; |
| dm_endio_fn endio = tio->ti->type->end_io; |
| |
| @@ -541,15 +548,14 @@ static void clone_endio(struct bio *bio, |
| } |
| } |
| |
| - dec_pending(tio->io, error); |
| - |
| /* |
| * Store md for cleanup instead of tio which is about to get freed. |
| */ |
| bio->bi_private = md->bs; |
| |
| - bio_put(bio); |
| free_tio(md, tio); |
| + bio_put(bio); |
| + dec_pending(io, error); |
| } |
| |
| static sector_t max_io_len(struct mapped_device *md, |
| --- a/drivers/md/dm-crypt.c |
| +++ b/drivers/md/dm-crypt.c |
| @@ -568,19 +568,22 @@ static void crypt_inc_pending(struct dm_ |
| static void crypt_dec_pending(struct dm_crypt_io *io) |
| { |
| struct crypt_config *cc = io->target->private; |
| + struct bio *base_bio = io->base_bio; |
| + struct dm_crypt_io *base_io = io->base_io; |
| + int error = io->error; |
| |
| if (!atomic_dec_and_test(&io->pending)) |
| return; |
| |
| - if (likely(!io->base_io)) |
| - bio_endio(io->base_bio, io->error); |
| + mempool_free(io, cc->io_pool); |
| + |
| + if (likely(!base_io)) |
| + bio_endio(base_bio, error); |
| else { |
| - if (io->error && !io->base_io->error) |
| - io->base_io->error = io->error; |
| - crypt_dec_pending(io->base_io); |
| + if (error && !base_io->error) |
| + base_io->error = error; |
| + crypt_dec_pending(base_io); |
| } |
| - |
| - mempool_free(io, cc->io_pool); |
| } |
| |
| /* |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222925.618177174@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:27 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Tejun Heo <tj@kernel.org>, |
| Jeff Garzik <jgarzik@redhat.com> |
| Subject: [patch 17/43] ata_piix: add workaround for Samsung DB-P70 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=ata_piix-add-workaround-for-samsung-db-p70.patch |
| Content-Length: 2744 |
| Lines: 81 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Tejun Heo <tj@kernel.org> |
| |
| commit e9c1670c2a14ef9cc20d86b24b829f3947aad34e upstream. |
| |
| Samsung DB-P70 somehow botched the first ICH9 SATA port. The board |
| doesn't expose the first port but somehow SStatus reports link online |
| while failing SRST protocol leading to repeated probe failures and |
| thus long boot delay. |
| |
| Because the BIOS doesn't carry any identifying DMI information, the |
| port can't be blacklisted safely. Fortunately, the controller does |
| have subsystem vendor and ID set. It's unclear whether the subsystem |
| IDs are used only for the board but it can be safely worked around by |
| disabling SIDPR access and just using SRST works around the problem. |
| Even when the workaround is triggered on an unaffected board the only |
| side effect will be missing SCR access. |
| |
| Signed-off-by: Tejun Heo <tj@kernel.org> |
| Reported-by: Joseph Jang <josephjang@gmail.com> |
| Reported-by: Jonghyon Sohn <mrsohn@gmail.com> |
| Signed-off-by: Jeff Garzik <jgarzik@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/ata/ata_piix.c | 37 +++++++++++++++++++++++++++++++++++++ |
| 1 file changed, 37 insertions(+) |
| |
| --- a/drivers/ata/ata_piix.c |
| +++ b/drivers/ata/ata_piix.c |
| @@ -1294,6 +1294,39 @@ static const int *__devinit piix_init_sa |
| return map; |
| } |
| |
| +static bool piix_no_sidpr(struct ata_host *host) |
| +{ |
| + struct pci_dev *pdev = to_pci_dev(host->dev); |
| + |
| + /* |
| + * Samsung DB-P70 only has three ATA ports exposed and |
| + * curiously the unconnected first port reports link online |
| + * while not responding to SRST protocol causing excessive |
| + * detection delay. |
| + * |
| + * Unfortunately, the system doesn't carry enough DMI |
| + * information to identify the machine but does have subsystem |
| + * vendor and device set. As it's unclear whether the |
| + * subsystem vendor/device is used only for this specific |
| + * board, the port can't be disabled solely with the |
| + * information; however, turning off SIDPR access works around |
| + * the problem. Turn it off. |
| + * |
| + * This problem is reported in bnc#441240. |
| + * |
| + * https://bugzilla.novell.com/show_bug.cgi?id=441420 |
| + */ |
| + if (pdev->vendor == PCI_VENDOR_ID_INTEL && pdev->device == 0x2920 && |
| + pdev->subsystem_vendor == PCI_VENDOR_ID_SAMSUNG && |
| + pdev->subsystem_device == 0xb049) { |
| + dev_printk(KERN_WARNING, host->dev, |
| + "Samsung DB-P70 detected, disabling SIDPR\n"); |
| + return true; |
| + } |
| + |
| + return false; |
| +} |
| + |
| static int __devinit piix_init_sidpr(struct ata_host *host) |
| { |
| struct pci_dev *pdev = to_pci_dev(host->dev); |
| @@ -1307,6 +1340,10 @@ static int __devinit piix_init_sidpr(str |
| if (hpriv->map[i] == IDE) |
| return 0; |
| |
| + /* is it blacklisted? */ |
| + if (piix_no_sidpr(host)) |
| + return 0; |
| + |
| if (!(host->ports[0]->flags & PIIX_FLAG_SIDPR)) |
| return 0; |
| |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:25 2009 |
| Message-Id: <20090320222925.793762675@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:28 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Mark Jenks <mjenks1968@gmail.com>, |
| Andy Walls <awalls@radix.net>, |
| Mauro Carvalho Chehab <mchehab@redhat.com>, |
| Jarod Wilson <jarod@redhat.com> |
| Subject: [patch 18/43] V4L/DVB (10218): cx23885: Fix Oops for mixed install of analog and digital only cards |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=v4l-dvb-cx23885-fix-oops-for-mixed-install-of-analog-and-digital-only-cards.patch |
| Content-Length: 2101 |
| Lines: 65 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Andy Walls <awalls@radix.net> |
| |
| commit cd8f894eacf13996d920fdd2aef1afc55156b191 upstream. |
| |
| Analog support for HVR-1250 has not been completed, but does exist for |
| the HVR-1800. |
| |
| Since both cards use the same driver, it tries to create the analog |
| dev for both devices, which is not possible. |
| |
| This causes a NULL error to show up in video_open and mpeg_open. |
| |
| -Mark |
| |
| Iterations through the cx23885_devlist must check for NULL |
| pointers as some supported devices only have DVB support at the moment. |
| Mark Jenks encoutered an Oops in a system with both an HVR-1250 and HVR-1800 |
| installed. |
| |
| -Andy |
| |
| Reported-by: Mark Jenks <mjenks1968@gmail.com> |
| Tested-by: Mark Jenks <mjenks1968@gmail.com> |
| Signed-off-by: Mark Jenks <mjenks1968@gmail.com> |
| Signed-off-by: Andy Walls <awalls@radix.net> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> |
| Signed-off-by: Jarod Wilson <jarod@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/media/video/cx23885/cx23885-417.c | 3 ++- |
| drivers/media/video/cx23885/cx23885-video.c | 5 +++-- |
| 2 files changed, 5 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/media/video/cx23885/cx23885-417.c |
| +++ b/drivers/media/video/cx23885/cx23885-417.c |
| @@ -1585,7 +1585,8 @@ static int mpeg_open(struct inode *inode |
| lock_kernel(); |
| list_for_each(list, &cx23885_devlist) { |
| h = list_entry(list, struct cx23885_dev, devlist); |
| - if (h->v4l_device->minor == minor) { |
| + if (h->v4l_device && |
| + h->v4l_device->minor == minor) { |
| dev = h; |
| break; |
| } |
| --- a/drivers/media/video/cx23885/cx23885-video.c |
| +++ b/drivers/media/video/cx23885/cx23885-video.c |
| @@ -730,12 +730,13 @@ static int video_open(struct inode *inod |
| lock_kernel(); |
| list_for_each(list, &cx23885_devlist) { |
| h = list_entry(list, struct cx23885_dev, devlist); |
| - if (h->video_dev->minor == minor) { |
| + if (h->video_dev && |
| + h->video_dev->minor == minor) { |
| dev = h; |
| type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
| } |
| if (h->vbi_dev && |
| - h->vbi_dev->minor == minor) { |
| + h->vbi_dev->minor == minor) { |
| dev = h; |
| type = V4L2_BUF_TYPE_VBI_CAPTURE; |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222925.949394608@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:29 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Mathieu Chouquet-Stringer <mchouque@free.fr>, |
| Henrique de Moraes Holschuh <hmh@hmh.eng.br>, |
| Len Brown <len.brown@intel.com> |
| Subject: [patch 19/43] thinkpad-acpi: fix module autoloading for older models |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=thinkpad-acpi-fix-module-autoloading-for-older-models.patch |
| Content-Length: 2137 |
| Lines: 55 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Mathieu Chouquet-Stringer <mchouque@free.fr> |
| |
| commit b36a50f92d1c4300a88f606b4d2bbdc4f442a2d7 upstream. |
| |
| Looking at the source, there seems to be a missing * to match my DMI |
| string. I mean for newer IBM and Lenovo's laptops you match either one |
| of the following: |
| MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); |
| MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO:*:pvrThinkPad*:rvnLENOVO:*"); |
| |
| While for older Thinkpads, you do this (for instance): |
| IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); |
| |
| with IBM_BIOS_MODULE_ALIAS being MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") |
| |
| Note there's no * terminating the string. As result, udev doesn't load |
| anything because modprobe cannot find anything matching this (my |
| machine actually): |
| |
| udevtest: run: '/sbin/modprobe dmi:bvnIBM:bvr1IET71WW(2.10):bd06/16/2006:svnIBM:pn236621U:pvrNotAv |
| |
| Signed-off-by: Mathieu Chouquet-Stringer <mchouque@free.fr> |
| Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> |
| Signed-off-by: Len Brown <len.brown@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/misc/thinkpad_acpi.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/misc/thinkpad_acpi.c |
| +++ b/drivers/misc/thinkpad_acpi.c |
| @@ -6927,7 +6927,7 @@ MODULE_ALIAS(TPACPI_DRVR_SHORTNAME); |
| * if it is not there yet. |
| */ |
| #define IBM_BIOS_MODULE_ALIAS(__type) \ |
| - MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW") |
| + MODULE_ALIAS("dmi:bvnIBM:bvr" __type "ET??WW*") |
| |
| /* Non-ancient thinkpads */ |
| MODULE_ALIAS("dmi:bvnIBM:*:svnIBM:*:pvrThinkPad*:rvnIBM:*"); |
| @@ -6936,9 +6936,9 @@ MODULE_ALIAS("dmi:bvnLENOVO:*:svnLENOVO: |
| /* Ancient thinkpad BIOSes have to be identified by |
| * BIOS type or model number, and there are far less |
| * BIOS types than model numbers... */ |
| -IBM_BIOS_MODULE_ALIAS("I[B,D,H,I,M,N,O,T,W,V,Y,Z]"); |
| -IBM_BIOS_MODULE_ALIAS("1[0,3,6,8,A-G,I,K,M-P,S,T]"); |
| -IBM_BIOS_MODULE_ALIAS("K[U,X-Z]"); |
| +IBM_BIOS_MODULE_ALIAS("I[BDHIMNOTWVYZ]"); |
| +IBM_BIOS_MODULE_ALIAS("1[0368A-GIKM-PST]"); |
| +IBM_BIOS_MODULE_ALIAS("K[UX-Z]"); |
| |
| MODULE_AUTHOR("Borislav Deianov, Henrique de Moraes Holschuh"); |
| MODULE_DESCRIPTION(TPACPI_DESC); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222926.112576670@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:30 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 20/43] Add -fwrapv to gcc CFLAGS |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=add-fwrapv-to-gcc-cflags.patch |
| Content-Length: 1149 |
| Lines: 38 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit 68df3755e383e6fecf2354a67b08f92f18536594 upstream. |
| |
| This makes sure that gcc doesn't try to optimize away wrapping |
| arithmetic, which the kernel occasionally uses for overflow testing, ie |
| things like |
| |
| if (ptr + offset < ptr) |
| |
| which technically is undefined for non-unsigned types. See |
| |
| http://bugzilla.kernel.org/show_bug.cgi?id=12597 |
| |
| for details. |
| |
| Not all versions of gcc support it, so we need to make it conditional |
| (it looks like it was introduced in gcc-3.4). |
| |
| Reminded-by: Alan Cox <alan@lxorguk.ukuu.org.uk> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| Makefile | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -341,6 +341,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI |
| KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ |
| -fno-strict-aliasing -fno-common \ |
| -Werror-implicit-function-declaration |
| +KBUILD_CFLAGS += $(call cc-option,-fwrapv) |
| KBUILD_AFLAGS := -D__ASSEMBLY__ |
| |
| # Read KERNELRELEASE from include/config/kernel.release (if it exists) |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222926.284011924@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:31 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 21/43] Move cc-option to below arch-specific setup |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=move-cc-option-to-below-arch-specific-setup.patch |
| Content-Length: 1424 |
| Lines: 41 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Linus Torvalds <torvalds@linux-foundation.org> |
| |
| commit d0115552cdb0b4d4146975889fee2e9355515c4b upstream. |
| |
| Sam Ravnborg says: |
| "We have several architectures that plays strange games with $(CC) and |
| $(CROSS_COMPILE). |
| |
| So we need to postpone any use of $(call cc-option..) until we have |
| included the arch specific Makefile so we try with the correct $(CC) |
| version." |
| |
| Requested-by: Sam Ravnborg <sam@ravnborg.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| Makefile | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -341,7 +341,6 @@ KBUILD_CPPFLAGS := -D__KERNEL__ $(LINUXI |
| KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ |
| -fno-strict-aliasing -fno-common \ |
| -Werror-implicit-function-declaration |
| -KBUILD_CFLAGS += $(call cc-option,-fwrapv) |
| KBUILD_AFLAGS := -D__ASSEMBLY__ |
| |
| # Read KERNELRELEASE from include/config/kernel.release (if it exists) |
| @@ -556,6 +555,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wdecl |
| # disable pointer signed / unsigned warnings in gcc 4.0 |
| KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,) |
| |
| +# disable invalid "can't wrap" optimzations for signed / pointers |
| +KBUILD_CFLAGS += $(call cc-option,-fwrapv) |
| + |
| # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments |
| # But warn user when we do so |
| warn-assign = \ |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222926.440885637@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:32 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Thomas Bartosik <tbartdev@gmx-topmail.de> |
| Subject: [patch 22/43] USB: storage: Unusual USB device Prolific 2507 variation added |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-storage-unusual-usb-device-prolific-2507-variation-added.patch |
| Content-Length: 1647 |
| Lines: 44 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Thomas Bartosik <tbartdev@gmx-topmail.de> |
| |
| commit 8a0845c51b2e300f5204a323b874f7f58ea0eff7 upstream. |
| |
| The "c-enter" USB to Toshiba 1.8" IDE enclosure needs special treatment |
| to work flawlessly. This patch is absolutely trivial, as the integrated |
| USB-IDE bridge is already identified to be an "unusual" device, only the |
| bcdDevice is different (lower) to the bcdDeviceMin already included in |
| the kernel. |
| It is a Prolific 2507 bridge. |
| |
| T: Bus=02 Lev=01 Prnt=01 Port=02 Cnt=01 Dev#= 4 Spd=480 MxCh= 0 |
| D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 |
| P: Vendor=067b ProdID=2507 Rev= 0.01 |
| S: Manufacturer=Prolific Technology Inc. |
| S: Product=ATAPI-6 Bridge Controller |
| S: SerialNumber=00000272 |
| C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA |
| I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage |
| E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| |
| |
| Signed-off-by: Thomas Bartosik <tbartdev@gmx-topmail.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/storage/unusual_devs.h | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/storage/unusual_devs.h |
| +++ b/drivers/usb/storage/unusual_devs.h |
| @@ -913,7 +913,9 @@ UNUSUAL_DEV( 0x066f, 0x8000, 0x0001, 0x0 |
| US_FL_FIX_CAPACITY ), |
| |
| /* Reported by Richard -=[]=- <micro_flyer@hotmail.com> */ |
| -UNUSUAL_DEV( 0x067b, 0x2507, 0x0100, 0x0100, |
| +/* Change to bcdDeviceMin (0x0100 to 0x0001) reported by |
| + * Thomas Bartosik <tbartdev@gmx-topmail.de> */ |
| +UNUSUAL_DEV( 0x067b, 0x2507, 0x0001, 0x0100, |
| "Prolific Technology Inc.", |
| "Mass Storage Device", |
| US_SC_DEVICE, US_PR_DEVICE, NULL, |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222926.575954209@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:33 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Dirk Hohndel <hohndel@infradead.org> |
| Subject: [patch 23/43] USB: Add Vendor/Product ID for new CDMA U727 to option driver |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-add-vendor-product-id-for-new-cdma-u727-to-option-driver.patch |
| Content-Length: 1687 |
| Lines: 34 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Dirk Hohndel <hohndel@infradead.org> |
| |
| commit 56a21827439a4d715b510bfaf488534e6f4ad2f8 upstream. |
| |
| * newer versions of the Novatel Wireless U727 CDMA 3G USB stick |
| have a different Product ID (0x5010); adding this ID makes them |
| work just fine with the option driver |
| |
| Signed-off-by: Dirk Hohndel <hohndel@infradead.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/option.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/usb/serial/option.c |
| +++ b/drivers/usb/serial/option.c |
| @@ -190,6 +190,7 @@ static int option_send_setup(struct tty |
| /* OVATION PRODUCTS */ |
| #define NOVATELWIRELESS_PRODUCT_MC727 0x4100 |
| #define NOVATELWIRELESS_PRODUCT_MC950D 0x4400 |
| +#define NOVATELWIRELESS_PRODUCT_U727 0x5010 |
| |
| /* FUTURE NOVATEL PRODUCTS */ |
| #define NOVATELWIRELESS_PRODUCT_EVDO_FULLSPEED 0X6000 |
| @@ -402,6 +403,7 @@ static struct usb_device_id option_ids[] |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EU870D) }, /* Novatel EU850D/EU860D/EU870D */ |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC950D) }, /* Novatel MC930D/MC950D */ |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_MC727) }, /* Novatel MC727/U727/USB727 */ |
| + { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U727) }, /* Novatel MC727/U727/USB727 */ |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_FULLSPEED) }, /* Novatel EVDO product */ |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_HSPA_FULLSPEED) }, /* Novatel HSPA product */ |
| { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_EVDO_EMBEDDED_FULLSPEED) }, /* Novatel EVDO Embedded product */ |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:26 2009 |
| Message-Id: <20090320222926.721059657@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:34 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Albert Pauw <albert.pauw@gmail.com> |
| Subject: [patch 24/43] USB: option.c: add ZTE 622 modem device |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-option.c-add-zte-622-modem-device.patch |
| Content-Length: 1201 |
| Lines: 33 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Albert Pauw <albert.pauw@gmail.com> |
| |
| commit 9ea19b82f3126da4e47d6b94563a3c2cd586f6e2 upstream. |
| |
| Please consider this small patch for the usb option-card driver. |
| This patch adds the ZTE 622 usb modem device. |
| |
| Signed-off-by: Albert Pauw <albert.pauw@gmail.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/option.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/usb/serial/option.c |
| +++ b/drivers/usb/serial/option.c |
| @@ -282,6 +282,7 @@ static int option_send_setup(struct tty |
| |
| /* ZTE PRODUCTS */ |
| #define ZTE_VENDOR_ID 0x19d2 |
| +#define ZTE_PRODUCT_MF622 0x0001 |
| #define ZTE_PRODUCT_MF628 0x0015 |
| #define ZTE_PRODUCT_MF626 0x0031 |
| #define ZTE_PRODUCT_CDMA_TECH 0xfffe |
| @@ -499,6 +500,7 @@ static struct usb_device_id option_ids[] |
| { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */ |
| { USB_DEVICE(MAXON_VENDOR_ID, 0x6280) }, /* BP3-USB & BP3-EXT HSDPA */ |
| { USB_DEVICE(TELIT_VENDOR_ID, TELIT_PRODUCT_UC864E) }, |
| + { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF622) }, |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626) }, |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) }, |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) }, |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222926.883392924@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:35 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Achilleas Kotsis <akots@exponent.gr> |
| Subject: [patch 25/43] USB: Add device id for Option GTM380 to option driver |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-add-device-id-for-option-gtm380-to-option-driver.patch |
| Content-Length: 1406 |
| Lines: 33 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Achilleas Kotsis <akots@exponent.gr> |
| |
| commit e7f2f0d77a7b483a26054f29ba8393831b25a8a4 upstream. |
| |
| Option GTM380 in Modem mode uses Product ID 0x7201. This has been tested and works |
| on production systems for over 6 months. |
| |
| Signed-off-by: Achilleas Kotsis <akots@exponent.gr> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/option.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/usb/serial/option.c |
| +++ b/drivers/usb/serial/option.c |
| @@ -89,6 +89,7 @@ static int option_send_setup(struct tty |
| #define OPTION_PRODUCT_ETNA_MODEM_GT 0x7041 |
| #define OPTION_PRODUCT_ETNA_MODEM_EX 0x7061 |
| #define OPTION_PRODUCT_ETNA_KOI_MODEM 0x7100 |
| +#define OPTION_PRODUCT_GTM380_MODEM 0x7201 |
| |
| #define HUAWEI_VENDOR_ID 0x12D1 |
| #define HUAWEI_PRODUCT_E600 0x1001 |
| @@ -319,6 +320,7 @@ static struct usb_device_id option_ids[] |
| { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_GT) }, |
| { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_MODEM_EX) }, |
| { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_ETNA_KOI_MODEM) }, |
| + { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_GTM380_MODEM) }, |
| { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600, 0xff, 0xff, 0xff) }, |
| { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220, 0xff, 0xff, 0xff) }, |
| { USB_DEVICE_AND_INTERFACE_INFO(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E220BIS, 0xff, 0xff, 0xff) }, |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.035552913@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:36 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Dan Williams <dcbw@redhat.com> |
| Subject: [patch 26/43] USB: Option: let cdc-acm handle Sony Ericsson F3507g / Dell 5530 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-option-let-cdc-acm-handle-sony-ericsson-f3507g-dell-5530.patch |
| Content-Length: 2291 |
| Lines: 46 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Dan Williams <dcbw@redhat.com> |
| |
| commit 0cc6bfe901b946df125d8e37186d8e45f876457d upstream. |
| |
| The generic cdc-acm driver is now the best one to handle Sony Ericsson |
| F3507g-based devices (which the Dell 5530 is a rebrand of), now that all |
| the pieces are in place (ie, cac477e8f1038c41b6f29d3161ce351462ef3df7). |
| Removing the IDs from option allows cdc-acm to handle the device. |
| |
| Signed-off-by: Dan Williams <dcbw@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/option.c | 6 ------ |
| 1 file changed, 6 deletions(-) |
| |
| --- a/drivers/usb/serial/option.c |
| +++ b/drivers/usb/serial/option.c |
| @@ -288,10 +288,6 @@ static int option_send_setup(struct tty |
| #define ZTE_PRODUCT_MF626 0x0031 |
| #define ZTE_PRODUCT_CDMA_TECH 0xfffe |
| |
| -/* Ericsson products */ |
| -#define ERICSSON_VENDOR_ID 0x0bdb |
| -#define ERICSSON_PRODUCT_F3507G 0x1900 |
| - |
| #define BENQ_VENDOR_ID 0x04a5 |
| #define BENQ_PRODUCT_H10 0x4068 |
| |
| @@ -434,7 +430,6 @@ static struct usb_device_id option_ids[] |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_CINGULAR) }, /* Dell Wireless HSDPA 5520 == Novatel Expedite EU860D */ |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_GENERIC_L) }, /* Dell Wireless HSDPA 5520 */ |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5520_MINICARD_GENERIC_I) }, /* Dell Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard */ |
| - { USB_DEVICE(DELL_VENDOR_ID, 0x8147) }, /* Dell Wireless 5530 Mobile Broadband (3G HSPA) Mini-Card */ |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_SPRINT) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_TELUS) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ |
| { USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5730_MINICARD_VZW) }, /* Dell Wireless 5730 Mobile Broadband EVDO/HSPA Mini-Card */ |
| @@ -506,7 +501,6 @@ static struct usb_device_id option_ids[] |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF626) }, |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_MF628) }, |
| { USB_DEVICE(ZTE_VENDOR_ID, ZTE_PRODUCT_CDMA_TECH) }, |
| - { USB_DEVICE(ERICSSON_VENDOR_ID, ERICSSON_PRODUCT_F3507G) }, |
| { USB_DEVICE(BENQ_VENDOR_ID, BENQ_PRODUCT_H10) }, |
| { USB_DEVICE(0x1da5, 0x4515) }, /* BenQ H20 */ |
| { } /* Terminating entry */ |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.184495306@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:37 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Moritz Muehlenhoff <jmm@debian.org>, |
| Phil Dibowitz <phil@ipom.com> |
| Subject: [patch 27/43] USB: Updated unusual-devs entry for USB mass storage on Nokia 6233 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-updated-unusual-devs-entry-for-usb-mass-storage-on-nokia-6233.patch |
| Content-Length: 964 |
| Lines: 30 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Moritz Muehlenhoff <jmm@debian.org> |
| |
| commit 716a9c8561d9c50ec454f4fbd39a265892feda2c upstream. |
| |
| Current firmware revision 5.60 still behaves the same, |
| so update the quirk up a (non-existing) 99.99 revision. |
| |
| http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=493415 |
| |
| Signed-off-by: Moritz Muehlenhoff <jmm@debian.org> |
| Tested-by: Jan Heitkoetter <devnull@heitkoetter.net> |
| Signed-off-by: Phil Dibowitz <phil@ipom.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/storage/unusual_devs.h | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/usb/storage/unusual_devs.h |
| +++ b/drivers/usb/storage/unusual_devs.h |
| @@ -219,7 +219,7 @@ UNUSUAL_DEV( 0x0421, 0x047c, 0x0370, 0x |
| US_FL_MAX_SECTORS_64 ), |
| |
| /* Reported by Manuel Osdoba <manuel.osdoba@tu-ilmenau.de> */ |
| -UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x0452, |
| +UNUSUAL_DEV( 0x0421, 0x0492, 0x0452, 0x9999, |
| "Nokia", |
| "Nokia 6233", |
| US_SC_DEVICE, US_PR_DEVICE, NULL, |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.323747141@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:38 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jan Dumon <j.dumon@option.com>, |
| Phil Dibowitz <phil@ipom.com> |
| Subject: [patch 28/43] USB: unusual_devs: Add support for GI 0431 SD-Card interface |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-unusual_devs-add-support-for-gi-0431-sd-card-interface.patch |
| Content-Length: 3229 |
| Lines: 79 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Jan Dumon <j.dumon@option.com> |
| |
| commit c497e715f93d148d751c055401568684eea0bf6b upstream. |
| |
| Enable the SD-Card interface on the GI 0431 HSUPA stick from Option. |
| |
| The unusual_devs.h entry is necessary because the device descriptor is |
| vendor-specific. That prevents usb-storage from binding to it as an |
| interface driver. |
| |
| T: Bus=07 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#= 15 Spd=480 MxCh= 0 |
| D: Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs= 1 |
| P: Vendor=0af0 ProdID=7501 Rev= 0.00 |
| S: Manufacturer=Option N.V. |
| S: Product=Globetrotter HSUPA Modem |
| C:* #Ifs=11 Cfg#= 1 Atr=a0 MxPwr=500mA |
| I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso |
| E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |
| E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |
| E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso |
| E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |
| E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |
| E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso |
| E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=07(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 7 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso |
| E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=08(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 8 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) |
| E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=09(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#= 9 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=hso |
| E: Ad=8a(I) Atr=03(Int.) MxPS= 64 Ivl=2ms |
| E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=4ms |
| I:* If#=10 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage |
| E: Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| E: Ad=8c(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms |
| |
| Signed-off-by: Jan Dumon <j.dumon@option.com> |
| Signed-off-by: Phil Dibowitz <phil@ipom.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/storage/unusual_devs.h | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| --- a/drivers/usb/storage/unusual_devs.h |
| +++ b/drivers/usb/storage/unusual_devs.h |
| @@ -1330,6 +1330,16 @@ UNUSUAL_DEV( 0x0af0, 0x7401, 0x0000, 0x0 |
| US_SC_DEVICE, US_PR_DEVICE, NULL, |
| 0 ), |
| |
| +/* Reported by Jan Dumon <j.dumon@option.com> |
| + * This device (wrongly) has a vendor-specific device descriptor. |
| + * The entry is needed so usb-storage can bind to it's mass-storage |
| + * interface as an interface driver */ |
| +UNUSUAL_DEV( 0x0af0, 0x7501, 0x0000, 0x0000, |
| + "Option", |
| + "GI 0431 SD-Card", |
| + US_SC_DEVICE, US_PR_DEVICE, NULL, |
| + 0 ), |
| + |
| #ifdef CONFIG_USB_STORAGE_ISD200 |
| UNUSUAL_DEV( 0x0bf6, 0xa001, 0x0100, 0x0110, |
| "ATI", |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.486077903@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:39 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Axel Wachtler <axel.wachtler@atmel.com>, |
| Robert Richter <robert.richter@amd.com> |
| Subject: [patch 29/43] USB: serial: add FTDI USB/Serial converter devices |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-serial-add-ftdi-usb-serial-converter-devices.patch |
| Content-Length: 1850 |
| Lines: 60 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Axel Wachtler <axel.wachtler@atmel.com> |
| |
| commit 7f82b6dd7015aabca2fd55fb690248f742cd67f3 upstream. |
| |
| Add the following devices to the USB FTDI SIO device table: |
| |
| Bus 001 Device 009: ID 03eb:2109 Atmel Corp. |
| http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4187 |
| |
| Bus 001 Device 008: ID 1cf1:0001 |
| http://www.dresden-elektronik.de/shop/prod75.html |
| |
| Bus 001 Device 007: ID 1c1f:0004 |
| http://www.dresden-elektronik.de/shop/prod64.html |
| |
| Signed-off-by: Axel Wachtler <axel.wachtler@atmel.com> |
| Signed-off-by: Robert Richter <robert.richter@amd.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/ftdi_sio.c | 3 +++ |
| drivers/usb/serial/ftdi_sio.h | 13 +++++++++++++ |
| 2 files changed, 16 insertions(+) |
| |
| --- a/drivers/usb/serial/ftdi_sio.c |
| +++ b/drivers/usb/serial/ftdi_sio.c |
| @@ -660,6 +660,9 @@ static struct usb_device_id id_table_com |
| { USB_DEVICE(PAPOUCH_VID, PAPOUCH_QUIDO4x4_PID) }, |
| { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DGQG_PID) }, |
| { USB_DEVICE(FTDI_VID, FTDI_DOMINTELL_DUSB_PID) }, |
| + { USB_DEVICE(ATMEL_VID, STK541_PID) }, |
| + { USB_DEVICE(DE_VID, STB_PID) }, |
| + { USB_DEVICE(DE_VID, WHT_PID) }, |
| { }, /* Optional parameter entry */ |
| { } /* Terminating entry */ |
| }; |
| --- a/drivers/usb/serial/ftdi_sio.h |
| +++ b/drivers/usb/serial/ftdi_sio.h |
| @@ -881,6 +881,19 @@ |
| #define RATOC_PRODUCT_ID_USB60F 0xb020 |
| |
| /* |
| + * Atmel STK541 |
| + */ |
| +#define ATMEL_VID 0x03eb /* Vendor ID */ |
| +#define STK541_PID 0x2109 /* Zigbee Controller */ |
| + |
| +/* |
| + * Dresden Elektronic Sensor Terminal Board |
| + */ |
| +#define DE_VID 0x1cf1 /* Vendor ID */ |
| +#define STB_PID 0x0001 /* Sensor Terminal Board */ |
| +#define WHT_PID 0x0004 /* Wireless Handheld Terminal */ |
| + |
| +/* |
| * BmRequestType: 1100 0000b |
| * bRequest: FTDI_E2_READ |
| * wValue: 0 |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.635390673@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:40 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Michael Hennerich <michael.hennerich@analog.com>, |
| Bryan Wu <cooloney@kernel.org> |
| Subject: [patch 30/43] USB: serial: ftdi: enable UART detection on gnICE JTAG adaptors blacklist interface0 |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-serial-ftdi-enable-uart-detection-on-gnice-jtag-adaptors-blacklist-interface0.patch |
| Content-Length: 1285 |
| Lines: 42 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Michael Hennerich <michael.hennerich@analog.com> |
| |
| commit b0d659002168146ec6b03d1ef062d8dcf05ff510 upstream. |
| |
| Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> |
| Signed-off-by: Bryan Wu <cooloney@kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/ftdi_sio.c | 2 ++ |
| drivers/usb/serial/ftdi_sio.h | 7 +++++++ |
| 2 files changed, 9 insertions(+) |
| |
| --- a/drivers/usb/serial/ftdi_sio.c |
| +++ b/drivers/usb/serial/ftdi_sio.c |
| @@ -663,6 +663,8 @@ static struct usb_device_id id_table_com |
| { USB_DEVICE(ATMEL_VID, STK541_PID) }, |
| { USB_DEVICE(DE_VID, STB_PID) }, |
| { USB_DEVICE(DE_VID, WHT_PID) }, |
| + { USB_DEVICE(ADI_VID, ADI_GNICE_PID), |
| + .driver_info = (kernel_ulong_t)&ftdi_jtag_quirk }, |
| { }, /* Optional parameter entry */ |
| { } /* Terminating entry */ |
| }; |
| --- a/drivers/usb/serial/ftdi_sio.h |
| +++ b/drivers/usb/serial/ftdi_sio.h |
| @@ -894,6 +894,13 @@ |
| #define WHT_PID 0x0004 /* Wireless Handheld Terminal */ |
| |
| /* |
| + * Blackfin gnICE JTAG |
| + * http://docs.blackfin.uclinux.org/doku.php?id=hw:jtag:gnice |
| + */ |
| +#define ADI_VID 0x0456 |
| +#define ADI_GNICE_PID 0xF000 |
| + |
| +/* |
| * BmRequestType: 1100 0000b |
| * bRequest: FTDI_E2_READ |
| * wValue: 0 |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:27 2009 |
| Message-Id: <20090320222927.797760877@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:41 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 31/43] USB: serial: new cp2101 device id |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-serial-new-cp2101-device-id.patch |
| Content-Length: 861 |
| Lines: 22 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Robert M. Kenney <rmk@unh.edu> |
| |
| commit c6535668798b0644e1af5934c2aec0e912280449 upstream. |
| |
| From: Robert M. Kenney <rmk@unh.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/serial/cp2101.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/usb/serial/cp2101.c |
| +++ b/drivers/usb/serial/cp2101.c |
| @@ -79,6 +79,7 @@ static struct usb_device_id id_table [] |
| { USB_DEVICE(0x10C4, 0x814A) }, /* West Mountain Radio RIGblaster P&P */ |
| { USB_DEVICE(0x10C4, 0x814B) }, /* West Mountain Radio RIGtalk */ |
| { USB_DEVICE(0x10C4, 0x815E) }, /* Helicomm IP-Link 1220-DVM */ |
| + { USB_DEVICE(0x10C4, 0x819F) }, /* MJS USB Toslink Switcher */ |
| { USB_DEVICE(0x10C4, 0x81A6) }, /* ThinkOptics WavIt */ |
| { USB_DEVICE(0x10C4, 0x81AC) }, /* MSD Dash Hawk */ |
| { USB_DEVICE(0x10C4, 0x81C8) }, /* Lipowsky Industrie Elektronik GmbH, Baby-JTAG */ |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222927.951096921@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:42 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 32/43] USB: usbtmc: fix stupid bug in open() |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-usbtmc-fix-stupid-bug-in-open.patch |
| Content-Length: 866 |
| Lines: 34 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit 5b10916ea0a62920204517e1c4ce14560b4f96ab upstream. |
| |
| open() will never succeed, as we always return -ENODEV. Fix this |
| obvious bug. |
| |
| Thanks to Jouni Ryno for reporting it. |
| |
| Reported-by: Jouni Ryno <Jouni.Ryno@fmi.fi> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/class/usbtmc.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/class/usbtmc.c |
| +++ b/drivers/usb/class/usbtmc.c |
| @@ -105,12 +105,13 @@ static int usbtmc_open(struct inode *ino |
| { |
| struct usb_interface *intf; |
| struct usbtmc_device_data *data; |
| - int retval = -ENODEV; |
| + int retval = 0; |
| |
| intf = usb_find_interface(&usbtmc_driver, iminor(inode)); |
| if (!intf) { |
| printk(KERN_ERR KBUILD_MODNAME |
| ": can not find device for minor %d", iminor(inode)); |
| + retval = -ENODEV; |
| goto exit; |
| } |
| |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222928.107324607@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:43 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 33/43] USB: usbtmc: add protocol 1 support |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-usbtmc-add-protocol-1-support.patch |
| Content-Length: 781 |
| Lines: 27 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| commit 228dd05dbfdd0fced8ab1a28ed73b500ba6bb0a6 upstream. |
| |
| The driver already supports the 1 protocol support, so just add it to |
| the MODULE_DEVICE_TABLE entry so it properly picks up these devices. |
| |
| Thanks to Jouni Rynö for pointing this out. |
| |
| Reported-by: Jouni Ryno <Jouni.Ryno@fmi.fi> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/class/usbtmc.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/usb/class/usbtmc.c |
| +++ b/drivers/usb/class/usbtmc.c |
| @@ -49,6 +49,7 @@ |
| |
| static struct usb_device_id usbtmc_devices[] = { |
| { USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0), }, |
| + { USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 1), }, |
| { 0, } /* terminating entry */ |
| }; |
| MODULE_DEVICE_TABLE(usb, usbtmc_devices); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222928.261453123@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:44 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Alan Stern <stern@rowland.harvard.edu> |
| Subject: [patch 34/43] USB: usbfs: keep async URBs until the device file is closed |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-usbfs-keep-async-urbs-until-the-device-file-is-closed.patch |
| Content-Length: 2120 |
| Lines: 65 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Alan Stern <stern@rowland.harvard.edu> |
| |
| commit 6ff10464096540e14d7575a72c50d0316d003714 upstream. |
| |
| The usbfs driver manages a list of completed asynchronous URBs. But |
| it is too eager to free the entries on this list: destroy_async() gets |
| called whenever an interface is unbound or a device is removed, and it |
| deallocates the outstanding struct async entries for all URBs on that |
| interface or device. This is wrong; the user program should be able |
| to reap an URB any time after it has completed, regardless of whether |
| or not the interface is still bound or the device is still present. |
| |
| This patch (as1222) moves the code for deallocating the completed list |
| entries from destroy_async() to usbdev_release(). The outstanding |
| entries won't be freed until the user program has closed the device |
| file, thereby eliminating any possibility that the remaining URBs |
| might still be reaped. |
| |
| This fixes a bug in which a program can hang in the USBDEVFS_REAPURB |
| ioctl when the device is unplugged. |
| |
| Reported-and-tested-by: Martin Poupe <martin.poupe@upek.com> |
| Signed-off-by: Alan Stern <stern@rowland.harvard.edu> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/core/devio.c | 12 +++++++----- |
| 1 file changed, 7 insertions(+), 5 deletions(-) |
| |
| --- a/drivers/usb/core/devio.c |
| +++ b/drivers/usb/core/devio.c |
| @@ -359,11 +359,6 @@ static void destroy_async(struct dev_sta |
| spin_lock_irqsave(&ps->lock, flags); |
| } |
| spin_unlock_irqrestore(&ps->lock, flags); |
| - as = async_getcompleted(ps); |
| - while (as) { |
| - free_async(as); |
| - as = async_getcompleted(ps); |
| - } |
| } |
| |
| static void destroy_async_on_interface(struct dev_state *ps, |
| @@ -642,6 +637,7 @@ static int usbdev_release(struct inode * |
| struct dev_state *ps = file->private_data; |
| struct usb_device *dev = ps->dev; |
| unsigned int ifnum; |
| + struct async *as; |
| |
| usb_lock_device(dev); |
| |
| @@ -660,6 +656,12 @@ static int usbdev_release(struct inode * |
| usb_unlock_device(dev); |
| usb_put_dev(dev); |
| put_pid(ps->disc_pid); |
| + |
| + as = async_getcompleted(ps); |
| + while (as) { |
| + free_async(as); |
| + as = async_getcompleted(ps); |
| + } |
| kfree(ps); |
| return 0; |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222928.408831283@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:45 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Alan Stern <stern@rowland.harvard.edu>, |
| David Brownell <dbrownell@users.sourceforge.net> |
| Subject: [patch 35/43] USB: EHCI: expedite unlinks when the root hub is suspended |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-ehci-expedite-unlinks-when-the-root-hub-is-suspended.patch |
| Content-Length: 1437 |
| Lines: 38 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Alan Stern <stern@rowland.harvard.edu> |
| |
| commit 391016f6e2fe3b9979b4c6880a76e5e434d6947c upstream. |
| |
| This patch (as1225) fixes a bug in ehci-hcd. The condition for |
| whether unlinked QHs can become IDLE should not be that the controller |
| is halted, but rather that the controller isn't running. In other |
| words when the root hub is suspended, the hardware doesn't own any |
| QHs. |
| |
| This fixes a problem that can show up during hibernation: If a QH is |
| only partially unlinked when the root hub is frozen, then when the |
| root hub is thawed the QH won't be in the IDLE state. As a result it |
| can't be used properly for new URB submissions. |
| |
| Signed-off-by: Alan Stern <stern@rowland.harvard.edu> |
| Reported-by: Brandon Philips <brandon@ifup.org> |
| Tested-by: Brandon Philips <brandon@ifup.org> |
| Acked-by: David Brownell <dbrownell@users.sourceforge.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/host/ehci-q.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/usb/host/ehci-q.c |
| +++ b/drivers/usb/host/ehci-q.c |
| @@ -1095,7 +1095,8 @@ static void start_unlink_async (struct e |
| prev->qh_next = qh->qh_next; |
| wmb (); |
| |
| - if (unlikely (ehci_to_hcd(ehci)->state == HC_STATE_HALT)) { |
| + /* If the controller isn't running, we don't have to wait for it */ |
| + if (unlikely(!HC_IS_RUNNING(ehci_to_hcd(ehci)->state))) { |
| /* if (unlikely (qh->reclaim != 0)) |
| * this will recurse, probably not much |
| */ |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222928.560756537@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:46 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Karsten Wiese <fzu@wemgehoertderstaat.de>, |
| David Brownell <david-b@pacbell.net> |
| Subject: [patch 36/43] USB: EHCI: Fix isochronous URB leak |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=usb-ehci-fix-isochronous-urb-leak.patch |
| Content-Length: 2613 |
| Lines: 76 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Karsten Wiese <fzuuzf@googlemail.com> |
| |
| commit 508db8c954d55ed30f870d2c24d741ba6269d13c upstream. |
| |
| ehci-hcd uses usb_get_urb() and usb_put_urb() in an unbalanced way causing |
| isochronous URB's kref.counts incrementing once per usb_submit_urb() call. |
| The culprit is *usb being set to NULL when usb_put_urb() is called after URB |
| is given back. |
| Due to other fixes there is no need for ehci-hcd to deal with usb_get_urb() |
| nor usb_put_urb() anymore, so patch removes their usages in ehci-hcd. |
| Patch also makes ehci_to_hcd(ehci)->self.bandwidth_allocated adjust, if a |
| stream finishes. |
| |
| Signed-off-by: Karsten Wiese <fzu@wemgehoertderstaat.de> |
| Cc: David Brownell <david-b@pacbell.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/usb/host/ehci-sched.c | 10 ++++------ |
| 1 file changed, 4 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/usb/host/ehci-sched.c |
| +++ b/drivers/usb/host/ehci-sched.c |
| @@ -1536,7 +1536,7 @@ itd_link_urb ( |
| struct ehci_itd, itd_list); |
| list_move_tail (&itd->itd_list, &stream->td_list); |
| itd->stream = iso_stream_get (stream); |
| - itd->urb = usb_get_urb (urb); |
| + itd->urb = urb; |
| itd_init (ehci, stream, itd); |
| } |
| |
| @@ -1645,7 +1645,7 @@ itd_complete ( |
| (void) disable_periodic(ehci); |
| ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; |
| |
| - if (unlikely (list_empty (&stream->td_list))) { |
| + if (unlikely(list_is_singular(&stream->td_list))) { |
| ehci_to_hcd(ehci)->self.bandwidth_allocated |
| -= stream->bandwidth; |
| ehci_vdbg (ehci, |
| @@ -1656,7 +1656,6 @@ itd_complete ( |
| iso_stream_put (ehci, stream); |
| |
| done: |
| - usb_put_urb(urb); |
| itd->urb = NULL; |
| if (ehci->clock_frame != itd->frame || itd->index[7] != -1) { |
| /* OK to recycle this ITD now. */ |
| @@ -1949,7 +1948,7 @@ sitd_link_urb ( |
| struct ehci_sitd, sitd_list); |
| list_move_tail (&sitd->sitd_list, &stream->td_list); |
| sitd->stream = iso_stream_get (stream); |
| - sitd->urb = usb_get_urb (urb); |
| + sitd->urb = urb; |
| |
| sitd_patch(ehci, stream, sitd, sched, packet); |
| sitd_link (ehci, (next_uframe >> 3) % ehci->periodic_size, |
| @@ -2034,7 +2033,7 @@ sitd_complete ( |
| (void) disable_periodic(ehci); |
| ehci_to_hcd(ehci)->self.bandwidth_isoc_reqs--; |
| |
| - if (list_empty (&stream->td_list)) { |
| + if (list_is_singular(&stream->td_list)) { |
| ehci_to_hcd(ehci)->self.bandwidth_allocated |
| -= stream->bandwidth; |
| ehci_vdbg (ehci, |
| @@ -2045,7 +2044,6 @@ sitd_complete ( |
| iso_stream_put (ehci, stream); |
| /* OK to recycle this SITD now that its completion callback ran. */ |
| done: |
| - usb_put_urb(urb); |
| sitd->urb = NULL; |
| sitd->stream = NULL; |
| list_move(&sitd->sitd_list, &stream->free_list); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:28 2009 |
| Message-Id: <20090320222928.729556895@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:47 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org, |
| greg@kroah.com |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| grant.likely@secretlab.ca, |
| afleming@freescale.com, |
| linuxppc-dev@ozlabs.org, |
| Johns Daniel <johns.daniel@gmail.com> |
| Subject: [patch 37/43] powerpc: Remove extra semicolon in fsl_soc.c |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=powerpc-remove-extra-semicolon-in-fsl_soc.c.patch |
| Content-Length: 860 |
| Lines: 29 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Johns Daniel <jdaniel@computer.org> |
| |
| TSEC/MDIO will not work with older device trees because of a semicolon |
| at the end of a macro resulting in an empty for loop body. |
| |
| This fix only applies to 2.6.28; this code is gone in 2.6.29, according |
| to Grant Likely! |
| |
| Signed-off-by: Johns Daniel <johns.daniel@gmail.com> |
| Acked-by: Grant Likely <grant.likely@secretlab.ca> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| |
| --- |
| arch/powerpc/sysdev/fsl_soc.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/arch/powerpc/sysdev/fsl_soc.c |
| +++ b/arch/powerpc/sysdev/fsl_soc.c |
| @@ -257,7 +257,7 @@ static int __init gfar_mdio_of_init(void |
| gfar_mdio_of_init_one(np); |
| |
| /* try the deprecated version */ |
| - for_each_compatible_node(np, "mdio", "gianfar"); |
| + for_each_compatible_node(np, "mdio", "gianfar") |
| gfar_mdio_of_init_one(np); |
| |
| return 0; |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222928.879548230@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:48 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jesse Barnes <jbarnes@virtuousgeek.org>, |
| Eric Anholt <eric@anholt.net>, |
| Dave Airlie <airlied@linux.ie> |
| Subject: [patch 38/43] drm/i915: set vblank enabled flag correctly across IRQ install/uninstall |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=drm-i915-set-vblank-enabled-flag-correctly-across-irq-install-uninstall.patch |
| Content-Length: 2301 |
| Lines: 68 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Jesse Barnes <jbarnes@virtuousgeek.org> |
| |
| commit dc1336ff4fe08ae7cfe8301bfd7f0b2cfd31d20a upstream. |
| |
| In the absence of kernel mode setting, many drivers disable IRQs across VT |
| switch. The core DRM vblank code is missing a check for this case however; |
| even after IRQ disable, the vblank code will still have the vblank_enabled |
| flag set, so unless we track the fact that they're disabled at IRQ uninstall |
| time, when we VT switch back in we won't actually re-enable them, which means |
| any apps waiting on vblank before the switch will hang. |
| |
| This patch does that and also adds a sanity check to the wait condition to |
| look for the irq_enabled flag in general, as well as adding a wakeup to the |
| IRQ uninstall path. |
| |
| Fixes fdo bug #18879 with compiz hangs at VT switch. |
| |
| Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@linux.ie> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/gpu/drm/drm_irq.c | 18 +++++++++++++++--- |
| 1 file changed, 15 insertions(+), 3 deletions(-) |
| |
| --- a/drivers/gpu/drm/drm_irq.c |
| +++ b/drivers/gpu/drm/drm_irq.c |
| @@ -259,7 +259,8 @@ EXPORT_SYMBOL(drm_irq_install); |
| */ |
| int drm_irq_uninstall(struct drm_device * dev) |
| { |
| - int irq_enabled; |
| + unsigned long irqflags; |
| + int irq_enabled, i; |
| |
| if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ)) |
| return -EINVAL; |
| @@ -269,6 +270,16 @@ int drm_irq_uninstall(struct drm_device |
| dev->irq_enabled = 0; |
| mutex_unlock(&dev->struct_mutex); |
| |
| + /* |
| + * Wake up any waiters so they don't hang. |
| + */ |
| + spin_lock_irqsave(&dev->vbl_lock, irqflags); |
| + for (i = 0; i < dev->num_crtcs; i++) { |
| + DRM_WAKEUP(&dev->vbl_queue[i]); |
| + dev->vblank_enabled[i] = 0; |
| + } |
| + spin_unlock_irqrestore(&dev->vbl_lock, irqflags); |
| + |
| if (!irq_enabled) |
| return -EINVAL; |
| |
| @@ -617,8 +628,9 @@ int drm_wait_vblank(struct drm_device *d |
| DRM_DEBUG("waiting on vblank count %d, crtc %d\n", |
| vblwait->request.sequence, crtc); |
| DRM_WAIT_ON(ret, dev->vbl_queue[crtc], 3 * DRM_HZ, |
| - ((drm_vblank_count(dev, crtc) |
| - - vblwait->request.sequence) <= (1 << 23))); |
| + (((drm_vblank_count(dev, crtc) - |
| + vblwait->request.sequence) <= (1 << 23)) || |
| + !dev->irq_enabled)); |
| |
| if (ret != -EINTR) { |
| struct timeval now; |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222929.036450372@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:49 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Jesse Barnes <jbarnes@virtuousgeek.org>, |
| Eric Anholt <eric@anholt.net>, |
| Dave Airlie <airlied@linux.ie> |
| Subject: [patch 39/43] drm/i915: dont enable vblanks on disabled pipes |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=drm-i915-don-t-enable-vblanks-on-disabled-pipes.patch |
| Content-Length: 1062 |
| Lines: 33 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Jesse Barnes <jbarnes@virtuousgeek.org> |
| |
| commit 71e0ffa599f54058d9b8724b4b14d0486751681d upstream. |
| |
| In some cases userland may be confused and try to wait on vblank events from |
| pipes that aren't actually enabled. We shouldn't allow this, so return |
| -EINVAL if the pipe isn't on. |
| |
| Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> |
| Signed-off-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@linux.ie> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/gpu/drm/i915/i915_irq.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/gpu/drm/i915/i915_irq.c |
| +++ b/drivers/gpu/drm/i915/i915_irq.c |
| @@ -400,6 +400,12 @@ int i915_enable_vblank(struct drm_device |
| { |
| drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
| unsigned long irqflags; |
| + int pipeconf_reg = (pipe == 0) ? PIPEACONF : PIPEBCONF; |
| + u32 pipeconf; |
| + |
| + pipeconf = I915_READ(pipeconf_reg); |
| + if (!(pipeconf & PIPEACONF_ENABLE)) |
| + return -EINVAL; |
| |
| spin_lock_irqsave(&dev_priv->user_irq_lock, irqflags); |
| if (IS_I965G(dev)) |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222929.211666354@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:50 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Eric Anholt <eric@anholt.net>, |
| Dave Airlie <airlied@linux.ie> |
| Subject: [patch 40/43] drm/i915: Dont double-unpin buffers if we take a signal in evict_everything(). |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=drm-i915-don-t-double-unpin-buffers-if-we-take-a-signal-in-evict_everything.patch |
| Content-Length: 837 |
| Lines: 27 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Eric Anholt <eric@anholt.net> |
| |
| commit b117763627ef4d24086801dd5f74c9eb2f487790 upstream. |
| |
| We haven't seen this in practice, but it was visible when looking at a bug |
| report from when i915_gem_evict_everything() was broken and would always |
| return error. |
| |
| Signed-off-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@linux.ie> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/gpu/drm/i915/i915_gem.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/drivers/gpu/drm/i915/i915_gem.c |
| +++ b/drivers/gpu/drm/i915/i915_gem.c |
| @@ -2036,6 +2036,7 @@ i915_gem_execbuffer(struct drm_device *d |
| /* unpin all of our buffers */ |
| for (i = 0; i < pinned; i++) |
| i915_gem_object_unpin(object_list[i]); |
| + pinned = 0; |
| |
| /* evict everyone we can from the aperture */ |
| ret = i915_gem_evict_everything(dev); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222929.372941874@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:51 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Eric Anholt <eric@anholt.net>, |
| Dave Airlie <airlied@linux.ie> |
| Subject: [patch 41/43] drm/i915: Dont print to dmesg when taking signal during object_pin. |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=drm-i915-don-t-print-to-dmesg-when-taking-signal-during-object_pin.patch |
| Content-Length: 1230 |
| Lines: 39 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Eric Anholt <eric@anholt.net> |
| |
| commit f1acec933848219c402c165686677b1c307407f8 upstream. |
| |
| This showed up in logs where people had a hung chip, so pinning was blocked |
| on the chip unpinning other buffers, and the X Server took its scheduler |
| signal during that time. |
| |
| Signed-off-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@linux.ie> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/gpu/drm/i915/i915_gem.c | 6 ++++-- |
| 1 file changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/i915/i915_gem.c |
| +++ b/drivers/gpu/drm/i915/i915_gem.c |
| @@ -2029,7 +2029,8 @@ i915_gem_execbuffer(struct drm_device *d |
| |
| /* error other than GTT full, or we've already tried again */ |
| if (ret != -ENOMEM || pin_tries >= 1) { |
| - DRM_ERROR("Failed to pin buffers %d\n", ret); |
| + if (ret != -ERESTARTSYS) |
| + DRM_ERROR("Failed to pin buffers %d\n", ret); |
| goto err; |
| } |
| |
| @@ -2179,7 +2180,8 @@ i915_gem_object_pin(struct drm_gem_objec |
| if (obj_priv->gtt_space == NULL) { |
| ret = i915_gem_object_bind_to_gtt(obj, alignment); |
| if (ret != 0) { |
| - DRM_ERROR("Failure to bind: %d", ret); |
| + if (ret != -ERESTARTSYS) |
| + DRM_ERROR("Failure to bind: %d", ret); |
| return ret; |
| } |
| } |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222929.545390755@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:52 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Eric Anholt <eric@anholt.net>, |
| Dave Airlie <airlied@linux.ie> |
| Subject: [patch 42/43] drm/i915: Dont allow objects to get bound while VT switched. |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=drm-i915-don-t-allow-objects-to-get-bound-while-vt-switched.patch |
| Content-Length: 2050 |
| Lines: 67 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Eric Anholt <eric@anholt.net> |
| |
| commit 9bb2d6f94aeb9a185d69aedbd19421b6da4e3309 upstream. |
| |
| This avoids a BUG_ON in the enter_vt path due to objects being in the GTT |
| when we shouldn't have ever let them be (as we're not supposed to touch the |
| device during that time). |
| |
| This was triggered by a change in the 2D driver to use the GTT mapping of |
| objects after pinning them to improve software fallback performance. |
| |
| Signed-off-by: Eric Anholt <eric@anholt.net> |
| Signed-off-by: Dave Airlie <airlied@linux.ie> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/gpu/drm/i915/i915_gem.c | 15 +++++++++------ |
| 1 file changed, 9 insertions(+), 6 deletions(-) |
| |
| --- a/drivers/gpu/drm/i915/i915_gem.c |
| +++ b/drivers/gpu/drm/i915/i915_gem.c |
| @@ -1161,6 +1161,8 @@ i915_gem_object_bind_to_gtt(struct drm_g |
| struct drm_mm_node *free_space; |
| int page_count, ret; |
| |
| + if (dev_priv->mm.suspended) |
| + return -EBUSY; |
| if (alignment == 0) |
| alignment = PAGE_SIZE; |
| if (alignment & (PAGE_SIZE - 1)) { |
| @@ -2180,7 +2182,7 @@ i915_gem_object_pin(struct drm_gem_objec |
| if (obj_priv->gtt_space == NULL) { |
| ret = i915_gem_object_bind_to_gtt(obj, alignment); |
| if (ret != 0) { |
| - if (ret != -ERESTARTSYS) |
| + if (ret != -EBUSY && ret != -ERESTARTSYS) |
| DRM_ERROR("Failure to bind: %d", ret); |
| return ret; |
| } |
| @@ -2703,20 +2705,21 @@ i915_gem_entervt_ioctl(struct drm_device |
| dev_priv->mm.wedged = 0; |
| } |
| |
| - ret = i915_gem_init_ringbuffer(dev); |
| - if (ret != 0) |
| - return ret; |
| - |
| dev_priv->mm.gtt_mapping = io_mapping_create_wc(dev->agp->base, |
| dev->agp->agp_info.aper_size |
| * 1024 * 1024); |
| |
| mutex_lock(&dev->struct_mutex); |
| + dev_priv->mm.suspended = 0; |
| + |
| + ret = i915_gem_init_ringbuffer(dev); |
| + if (ret != 0) |
| + return ret; |
| + |
| BUG_ON(!list_empty(&dev_priv->mm.active_list)); |
| BUG_ON(!list_empty(&dev_priv->mm.flushing_list)); |
| BUG_ON(!list_empty(&dev_priv->mm.inactive_list)); |
| BUG_ON(!list_empty(&dev_priv->mm.request_list)); |
| - dev_priv->mm.suspended = 0; |
| mutex_unlock(&dev->struct_mutex); |
| |
| drm_irq_install(dev); |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:29 2009 |
| Message-Id: <20090320222929.694116500@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:53 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk, |
| Randy Dunlap <randy.dunlap@oracle.com> |
| Subject: [patch 43/43] menu: fix embedded menu snafu |
| References: <20090320222810.386844059@mini.kroah.org> |
| Content-Disposition: inline; filename=menu-fix-embedded-menu-snafu.patch |
| Content-Length: 2610 |
| Lines: 80 |
| |
| 2.6.28-stable review patch. If anyone has any objections, please let us know. |
| |
| ------------------ |
| |
| From: Randy Dunlap <randy.dunlap@oracle.com> |
| |
| commit b943c460ff8556a193b28e2145b513f8b978e869 upstream. |
| |
| The COMPAT_BRK kconfig symbol does not depend on EMBEDDED, but it is in |
| the midst of the EMBEDDED menu symbols, so it mucks up the EMBEDDED menu. |
| Fix by moving it to just after all of the EMBEDDED menu symbols. Also, |
| ANON_INODES has a similar problem, so move it to just above the EMBEDDED |
| menu items since it is used in the EMBEDDED menu. |
| |
| Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| init/Kconfig | 30 +++++++++++++++--------------- |
| 1 file changed, 15 insertions(+), 15 deletions(-) |
| |
| --- a/init/Kconfig |
| +++ b/init/Kconfig |
| @@ -538,6 +538,9 @@ config CC_OPTIMIZE_FOR_SIZE |
| config SYSCTL |
| bool |
| |
| +config ANON_INODES |
| + bool |
| + |
| menuconfig EMBEDDED |
| bool "Configure standard kernel features (for small systems)" |
| help |
| @@ -643,18 +646,6 @@ config PCSPKR_PLATFORM |
| This option allows to disable the internal PC-Speaker |
| support, saving some memory. |
| |
| -config COMPAT_BRK |
| - bool "Disable heap randomization" |
| - default y |
| - help |
| - Randomizing heap placement makes heap exploits harder, but it |
| - also breaks ancient binaries (including anything libc5 based). |
| - This option changes the bootup default to heap randomization |
| - disabled, and can be overriden runtime by setting |
| - /proc/sys/kernel/randomize_va_space to 2. |
| - |
| - On non-ancient distros (post-2000 ones) N is usually a safe choice. |
| - |
| config BASE_FULL |
| default y |
| bool "Enable full-sized data structures for core" if EMBEDDED |
| @@ -672,9 +663,6 @@ config FUTEX |
| support for "fast userspace mutexes". The resulting kernel may not |
| run glibc-based applications correctly. |
| |
| -config ANON_INODES |
| - bool |
| - |
| config EPOLL |
| bool "Enable eventpoll support" if EMBEDDED |
| default y |
| @@ -760,6 +748,18 @@ config SLUB_DEBUG |
| SLUB sysfs support. /sys/slab will not exist and there will be |
| no support for cache validation etc. |
| |
| +config COMPAT_BRK |
| + bool "Disable heap randomization" |
| + default y |
| + help |
| + Randomizing heap placement makes heap exploits harder, but it |
| + also breaks ancient binaries (including anything libc5 based). |
| + This option changes the bootup default to heap randomization |
| + disabled, and can be overriden runtime by setting |
| + /proc/sys/kernel/randomize_va_space to 2. |
| + |
| + On non-ancient distros (post-2000 ones) N is usually a safe choice. |
| + |
| choice |
| prompt "Choose SLAB allocator" |
| default SLUB |
| |
| |
| From gregkh@mini.kroah.org Fri Mar 20 15:29:22 2009 |
| Message-Id: <20090320222810.386844059@mini.kroah.org> |
| User-Agent: quilt/0.48-1 |
| Date: Fri, 20 Mar 2009 15:28:10 -0700 |
| From: Greg KH <gregkh@suse.de> |
| To: linux-kernel@vger.kernel.org, |
| stable@kernel.org |
| Cc: Justin Forbes <jmforbes@linuxtx.org>, |
| Zwane Mwaikambo <zwane@arm.linux.org.uk>, |
| Theodore Ts'o <tytso@mit.edu>, |
| Randy Dunlap <rdunlap@xenotime.net>, |
| Dave Jones <davej@redhat.com>, |
| Chuck Wolber <chuckw@quantumlinux.com>, |
| Chris Wedgwood <reviews@ml.cw.f00f.org>, |
| Michael Krufky <mkrufky@linuxtv.org>, |
| Chuck Ebbert <cebbert@redhat.com>, |
| Domenico Andreoli <cavokz@gmail.com>, |
| Willy Tarreau <w@1wt.eu>, |
| Rodrigo Rubira Branco <rbranco@la.checkpoint.com>, |
| Jake Edge <jake@lwn.net>, |
| Eugene Teo <eteo@redhat.com>, |
| torvalds@linux-foundation.org, |
| akpm@linux-foundation.org, |
| alan@lxorguk.ukuu.org.uk |
| Subject: [patch 00/43] 2.6.28.9-stable review |
| Content-Length: 3070 |
| Lines: 58 |
| |
| This is the start of the stable review cycle for the 2.6.28.9 release. |
| There are 43 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 |
| us know. If anyone is a maintainer of the proper subsystem, and wants |
| to add a Signed-off-by: line to the patch, please respond with it. |
| |
| These patches are sent out with a number of different people on the |
| Cc: line. If you wish to be a reviewer, please email stable@kernel.org |
| to add your name to the list. If you want to be off the reviewer list, |
| also email us. |
| |
| Responses should be made by Monday, March 23, 20:00:00 UTC. |
| 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/v2.6/stable-review/patch-2.6.28.9-rc1.gz |
| and the diffstat can be found below. |
| |
| thanks, |
| |
| greg k-h |
| |
| Makefile | 5 ++- |
| arch/ia64/Kconfig | 3 +- |
| arch/powerpc/sysdev/fsl_soc.c | 2 +- |
| arch/s390/lib/div64.c | 2 +- |
| arch/x86/include/asm/msr-index.h | 29 ++++++++++++++++++ |
| arch/x86/kernel/cpu/intel.c | 13 ++++++++ |
| drivers/ata/ata_piix.c | 37 +++++++++++++++++++++++ |
| drivers/gpu/drm/drm_irq.c | 18 +++++++++-- |
| drivers/gpu/drm/i915/i915_gem.c | 20 ++++++++---- |
| drivers/gpu/drm/i915/i915_irq.c | 6 ++++ |
| drivers/md/dm-crypt.c | 43 +++++++++++++++++++------- |
| drivers/md/dm-io.c | 2 + |
| drivers/md/dm-ioctl.c | 3 +- |
| drivers/md/dm.c | 32 ++++++++++++-------- |
| drivers/media/video/cx23885/cx23885-417.c | 3 +- |
| drivers/media/video/cx23885/cx23885-video.c | 5 ++- |
| drivers/misc/thinkpad_acpi.c | 8 ++-- |
| drivers/usb/class/usbtmc.c | 4 ++- |
| drivers/usb/core/devio.c | 12 ++++--- |
| drivers/usb/host/ehci-q.c | 3 +- |
| drivers/usb/host/ehci-sched.c | 10 ++---- |
| drivers/usb/serial/cp2101.c | 1 + |
| drivers/usb/serial/ftdi_sio.c | 5 +++ |
| drivers/usb/serial/ftdi_sio.h | 20 ++++++++++++ |
| drivers/usb/serial/option.c | 12 ++++---- |
| drivers/usb/storage/unusual_devs.h | 16 +++++++++- |
| fs/aio.c | 37 +++++++++++++++++------ |
| fs/nfsd/nfs4xdr.c | 1 + |
| include/linux/capability.h | 6 ++- |
| init/Kconfig | 30 +++++++++--------- |
| sound/core/oss/pcm_oss.c | 4 +- |
| sound/core/sgbuf.c | 7 ++-- |
| sound/isa/opl3sa2.c | 18 +++++++---- |
| sound/pci/hda/hda_intel.c | 39 ++++++++++++++++-------- |
| sound/pci/mixart/mixart.c | 1 + |
| 35 files changed, 337 insertions(+), 120 deletions(-) |
| |