Date: Sun, 7 Jan 2007 10:33:30 -0300
Subject: [PATCH] V4L: Fix quickcam communicator driver for big endian architectures
+From: Grant Likely <grant.likely@secretlab.ca>
+
Host endianess does not affect the order that pixel rgb data comes
in from the quickcam (the values are bytes, not words or longs). The
driver is erroniously swapping the order of rgb values for big endian
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/usbvideo/quickcam_messenger.h
-+++ b/drivers/media/video/usbvideo/quickcam_messenger.h
+---
+ drivers/media/video/usbvideo/quickcam_messenger.h | 14 --------------
+ 1 file changed, 14 deletions(-)
+
+--- linux-2.6.18.7.orig/drivers/media/video/usbvideo/quickcam_messenger.h
++++ linux-2.6.18.7/drivers/media/video/usbvideo/quickcam_messenger.h
@@ -35,27 +35,13 @@ struct rgb {
};
};
struct cam_size {
---
-1.4.4.2
-
Date: Tue, 23 Jan 2007 20:04:13 -0300
Subject: [PATCH] V4L: buf_qbuf: fix videobuf_queue->stream corruption and lockup
+From: Oleg Nesterov <oleg@tv-sign.ru>
+
We are doing ->buf_prepare(buf) before adding buf to q->stream list. This
means that videobuf_qbuf() should not try to re-add a STATE_PREPARED buffer.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/video-buf.c
-+++ b/drivers/media/video/video-buf.c
+---
+ drivers/media/video/video-buf.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- linux-2.6.18.7.orig/drivers/media/video/video-buf.c
++++ linux-2.6.18.7/drivers/media/video/video-buf.c
@@ -695,6 +695,7 @@ videobuf_qbuf(struct videobuf_queue *q,
goto done;
}
buf->state == STATE_ACTIVE) {
dprintk(1,"qbuf: buffer is already queued or active.\n");
goto done;
---
-1.4.4.2
-
Date: Sun, 7 Jan 2007 08:12:19 -0300
Subject: [PATCH] V4L: cx88: Fix lockup on suspend
+From: Robert Hancock <hancockr@shaw.ca>
+
Suspending with the cx88xx module loaded causes the system to lock up
because the cx88_audio_thread kthread was missing a try_to_freeze()
call, which caused it to go into a tight loop and result in softlockup
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/cx88/cx88-tvaudio.c
-+++ b/drivers/media/video/cx88/cx88-tvaudio.c
+---
+ drivers/media/video/cx88/cx88-tvaudio.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- linux-2.6.18.7.orig/drivers/media/video/cx88/cx88-tvaudio.c
++++ linux-2.6.18.7/drivers/media/video/cx88/cx88-tvaudio.c
@@ -38,6 +38,7 @@
#include <linux/module.h>
#include <linux/moduleparam.h>
/* just monitor the audio status for now ... */
memset(&t, 0, sizeof(t));
---
-1.4.4.2
-
Date: Sun, 7 Jan 2007 20:50:27 -0300
Subject: [PATCH] V4L: fix ks0127 status flags
+From: Martin Samuelsson <sam@home.se>
+
Or status flags together in DECODER_GET_STATUS instead of and-zapping them.
(cherry picked from commit 55d5440d4587454628a850ce26703639885af678)
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/ks0127.c
-+++ b/drivers/media/video/ks0127.c
-@@ -712,13 +712,13 @@ static int ks0127_command(struct i2c_client *client,
+---
+ drivers/media/video/ks0127.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- linux-2.6.18.7.orig/drivers/media/video/ks0127.c
++++ linux-2.6.18.7/drivers/media/video/ks0127.c
+@@ -712,13 +712,13 @@ static int ks0127_command(struct i2c_cli
*iarg = 0;
status = ks0127_read(ks, KS_STAT);
if (!(status & 0x20)) /* NOVID not set */
break;
//Catch any unknown command
---
-1.4.4.2
-
Date: Fri, 12 Jan 2007 17:38:05 -0300
Subject: [PATCH] V4L: tveeprom: autodetect LG TAPC G701D as tuner type 37
+From: Michael Krufky <mkrufky@linuxtv.org>
+
Autodetect LG TAPC G701D as tuner type 37, fixing
mis-detected tuners in some Hauppauge tv tuner cards.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/tveeprom.c
-+++ b/drivers/media/video/tveeprom.c
+---
+ drivers/media/video/tveeprom.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.7.orig/drivers/media/video/tveeprom.c
++++ linux-2.6.18.7/drivers/media/video/tveeprom.c
@@ -184,7 +184,7 @@ hauppauge_tuner[] =
{ TUNER_ABSENT, "Thompson DTT757"},
/* 80-89 */
{ TUNER_LG_NTSC_NEW_TAPC, "LG TAPC H791F"},
{ TUNER_LG_PAL_NEW_TAPC, "TCL 2002MB 3"},
{ TUNER_LG_PAL_NEW_TAPC, "TCL 2002MI 3"},
---
-1.4.4.2
-
To: stable@kernel.org
Message-ID: <45c8bf1c.IH7oaV4p9jun1avR%Larry.Finger@lwfinger.net>
-
From: Michael Buesch <mb@bu3sch.de>
If bcm43xx were to process an afterburner (ampdu) status response, Linux would oops. The
To: stable@kernel.org
Message-ID: <45c8be13.DBM29/YHWCi+ZIW2%Larry.Finger@lwfinger.net>
+From: Larry Finger <Larry.Finger@lwfinger.net>
There is a kernel oops on bcm43xx when resuming due to an overly tight timeout loop.
-Signed-off-by: Larry Finger<Larry.Finger@lwfinger.net>
+Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
include/asm-x86_64/system.h | 5 +++--
3 files changed, 11 insertions(+), 2 deletions(-)
---- linux-2.6.18.6.orig/arch/x86_64/kernel/entry.S
-+++ linux-2.6.18.6/arch/x86_64/kernel/entry.S
+--- linux-2.6.18.7.orig/arch/x86_64/kernel/entry.S
++++ linux-2.6.18.7/arch/x86_64/kernel/entry.S
@@ -146,6 +146,10 @@
/* rdi: prev */
ENTRY(ret_from_fork)
call schedule_tail
GET_THREAD_INFO(%rcx)
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),threadinfo_flags(%rcx)
---- linux-2.6.18.6.orig/arch/x86_64/kernel/setup64.c
-+++ linux-2.6.18.6/arch/x86_64/kernel/setup64.c
+--- linux-2.6.18.7.orig/arch/x86_64/kernel/setup64.c
++++ linux-2.6.18.7/arch/x86_64/kernel/setup64.c
@@ -178,6 +178,8 @@ void __cpuinit check_efer(void)
}
}
+
+ raw_local_save_flags(kernel_eflags);
}
---- linux-2.6.18.6.orig/include/asm-x86_64/system.h
-+++ linux-2.6.18.6/include/asm-x86_64/system.h
+--- linux-2.6.18.7.orig/include/asm-x86_64/system.h
++++ linux-2.6.18.7/include/asm-x86_64/system.h
@@ -14,12 +14,13 @@
#define __RESTORE(reg,offset) "movq (14-" #offset ")*8(%%rsp),%%" #reg "\n\t"
Date: Wed, 7 Feb 2007 15:36:11 -0500
Subject: [PATCH] dvb-core: fix bug in CRC-32 checking on 64-bit systems
+From: Ang Way Chuang <wcang@nrg.cs.usm.my>
+
CRC-32 checking during ULE decapsulation always failed on x86_64 systems due
to the size of a variable used to store CRC. This bug was discovered on
Fedora Core 6 with kernel-2.6.18-1.2849. The i386 counterpart has no such
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/dvb/dvb-core/dvb_net.c
-+++ b/drivers/media/dvb/dvb-core/dvb_net.c
-@@ -604,7 +604,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+---
+ drivers/media/dvb/dvb-core/dvb_net.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- linux-2.6.18.7.orig/drivers/media/dvb/dvb-core/dvb_net.c
++++ linux-2.6.18.7/drivers/media/dvb/dvb-core/dvb_net.c
+@@ -604,7 +604,7 @@ static void dvb_net_ule( struct net_devi
{ &utype, sizeof utype },
{ priv->ule_skb->data, priv->ule_skb->len - 4 }
};
if (priv->ule_dbit) {
/* Set D-bit for CRC32 verification,
* if it was set originally. */
-@@ -617,7 +617,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+@@ -617,7 +617,7 @@ static void dvb_net_ule( struct net_devi
*((u8 *)priv->ule_skb->tail - 2) << 8 |
*((u8 *)priv->ule_skb->tail - 1);
if (ule_crc != expected_crc) {
priv->ts_count, ule_crc, expected_crc, priv->ule_sndu_len, priv->ule_sndu_type, ts_remain, ts_remain > 2 ? *(unsigned short *)from_where : 0);
#ifdef ULE_DEBUG
---
-1.4.4.2
-
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
-Date: Wed, 11 Oct 2006 08:21:46 +0000 (-0700)
-Subject: [PATCH] grow_buffers() infinite loop fix
-X-Git-Tag: v2.6.19-rc2
-X-Git-Url: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=e5657933863f43cc6bb76a54d659303dafaa9e58
+---
fs/buffer.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
---- linux-2.6.18.6.orig/fs/buffer.c
-+++ linux-2.6.18.6/fs/buffer.c
+--- linux-2.6.18.7.orig/fs/buffer.c
++++ linux-2.6.18.7/fs/buffer.c
@@ -1179,8 +1179,21 @@ grow_buffers(struct block_device *bdev,
} while ((size << sizebits) < PAGE_SIZE);
fs/hfs/super.c | 2 ++
1 file changed, 2 insertions(+)
---- linux-2.6.18.6.orig/fs/hfs/super.c
-+++ linux-2.6.18.6/fs/hfs/super.c
+--- linux-2.6.18.7.orig/fs/hfs/super.c
++++ linux-2.6.18.7/fs/hfs/super.c
@@ -391,11 +391,13 @@ static int hfs_fill_super(struct super_b
hfs_find_exit(&fd);
goto bail_no_root;
drivers/i2c/chips/ds1337.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
---- linux-2.6.18.6.orig/drivers/i2c/chips/ds1337.c
-+++ linux-2.6.18.6/drivers/i2c/chips/ds1337.c
+--- linux-2.6.18.7.orig/drivers/i2c/chips/ds1337.c
++++ linux-2.6.18.7/drivers/i2c/chips/ds1337.c
@@ -347,13 +347,19 @@ static void ds1337_init_client(struct i2
if ((status & 0x80) || (control & 0x80)) {
Cc: mst@mellanox.co.il, openib-general@openib.org
Subject: IB/mad: Fix race between cancel and receive completion
+From: Roland Dreier <rdreier@cisco.com>
+
When ib_cancel_mad() is called, it puts the canceled send on a list
and schedules a "flushed" callback from process context. However,
this leaves a window where a receive completion could be processed
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
-This fixes a crash seen in production when switching between IPoIB
-interfaces in a HA setup.
+---
drivers/infiniband/core/mad.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
---- linux-2.6.18.6.orig/drivers/infiniband/core/mad.c
-+++ linux-2.6.18.6/drivers/infiniband/core/mad.c
+--- linux-2.6.18.7.orig/drivers/infiniband/core/mad.c
++++ linux-2.6.18.7/drivers/infiniband/core/mad.c
@@ -1750,7 +1750,7 @@ ib_find_send_mad(struct ib_mad_agent_pri
*/
(is_direct(wc->recv_buf.mad->mad_hdr.mgmt_class) ||
Message-ID: <adaslfgigih.fsf@cisco.com>
Subject: IB/srp: Fix FMR mapping for 32-bit kernels and addresses above 4G
+From: Roland Dreier <rdreier@cisco.com>
+
struct srp_device.fmr_page_mask was unsigned long, which means that
the top part of addresses above 4G was being chopped off on 32-bit
architectures. Of course nothing good happens when data from SRP
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
----
-I just asked Linus to pull this. It fixes nasty corruption/crash
-problems on 32-bit systems with > 4G of memory.
+---
drivers/infiniband/ulp/srp/ib_srp.c | 2 +-
drivers/infiniband/ulp/srp/ib_srp.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
---- linux-2.6.18.6.orig/drivers/infiniband/ulp/srp/ib_srp.c
-+++ linux-2.6.18.6/drivers/infiniband/ulp/srp/ib_srp.c
+--- linux-2.6.18.7.orig/drivers/infiniband/ulp/srp/ib_srp.c
++++ linux-2.6.18.7/drivers/infiniband/ulp/srp/ib_srp.c
@@ -1851,7 +1851,7 @@ static void srp_add_one(struct ib_device
*/
srp_dev->fmr_page_shift = max(9, ffs(dev_attr->page_size_cap) - 1);
INIT_LIST_HEAD(&srp_dev->dev_list);
---- linux-2.6.18.6.orig/drivers/infiniband/ulp/srp/ib_srp.h
-+++ linux-2.6.18.6/drivers/infiniband/ulp/srp/ib_srp.h
+--- linux-2.6.18.7.orig/drivers/infiniband/ulp/srp/ib_srp.h
++++ linux-2.6.18.7/drivers/infiniband/ulp/srp/ib_srp.h
@@ -87,7 +87,7 @@ struct srp_device {
struct ib_fmr_pool *fmr_pool;
int fmr_page_shift;
From stable-bounces@linux.kernel.org Sat Dec 16 03:08:38 2006
Date: Sat, 16 Dec 2006 20:02:32 +0900
From: Tejun Heo <htejun@gmail.com>
-To: jens.axboe@oracle.com, dougg@torque.net, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, stable@kernel.org
+To: jens.axboe@oracle.com, dougg@torque.net, linux-ide@vger.kernel.org, linux-scsi@vger.kernel.org, stable@kernel.org
Message-ID: <20061216110232.GF5400@htj.dyndns.org>
Subject: SCSI: add missing cdb clearing in scsi_execute()
+From: Tejun Heo <htejun@gmail.com>
+
Clear-garbage-after-CDB patch missed scsi_execute() and it causes some
ODDs (HL-DT-ST DVD-RAM GSA-H30N) choke during SCSI scan. Note that
this patch is only for -stable. There is another more reliable fix
drivers/scsi/scsi_lib.c | 1 +
1 file changed, 1 insertion(+)
---- linux-2.6.18.6.orig/drivers/scsi/scsi_lib.c
-+++ linux-2.6.18.6/drivers/scsi/scsi_lib.c
+--- linux-2.6.18.7.orig/drivers/scsi/scsi_lib.c
++++ linux-2.6.18.7/drivers/scsi/scsi_lib.c
@@ -191,6 +191,7 @@ int scsi_execute(struct scsi_device *sde
goto out;
Date: Wed, 7 Feb 2007 15:38:23 -0500
Subject: [PATCH] v4l: cx2341x audio_properties is an u16, not u8
+From: Hans Verkuil <hverkuil@xs4all.nl>
+
This bug broke the MPEG audio mode controls.
(cherry picked from commit cb2c7b4927c8f376b7ba9557978d8c59ed472664)
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/include/media/cx2341x.h
-+++ b/include/media/cx2341x.h
+---
+ include/media/cx2341x.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.7.orig/include/media/cx2341x.h
++++ linux-2.6.18.7/include/media/cx2341x.h
@@ -49,7 +49,7 @@ struct cx2341x_mpeg_params {
enum v4l2_mpeg_audio_mode_extension audio_mode_extension;
enum v4l2_mpeg_audio_emphasis audio_emphasis;
/* video */
enum v4l2_mpeg_video_encoding video_encoding;
---
-1.4.4.2
-
Date: Wed, 7 Feb 2007 15:39:34 -0500
Subject: [PATCH] v4l: cx88: Fix leadtek_eeprom tagging
+From: Jean Delvare <khali@linux-fr.org>
+
reference to .init.text: from .text between 'cx88_card_setup'
(at offset 0x68c) and 'cx88_risc_field'
Caused by leadtek_eeprom() being declared __devinit and called from
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---- a/drivers/media/video/cx88/cx88-cards.c
-+++ b/drivers/media/video/cx88/cx88-cards.c
-@@ -1465,7 +1465,7 @@ const unsigned int cx88_idcount = ARRAY_SIZE(cx88_subids);
+---
+ drivers/media/video/cx88/cx88-cards.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- linux-2.6.18.7.orig/drivers/media/video/cx88/cx88-cards.c
++++ linux-2.6.18.7/drivers/media/video/cx88/cx88-cards.c
+@@ -1465,7 +1465,7 @@ const unsigned int cx88_idcount = ARRAY_
/* ----------------------------------------------------------------------- */
/* some leadtek specific stuff */
{
/* This is just for the "Winfast 2000XP Expert" board ATM; I don't have data on
* any others.
---
-1.4.4.2
-
Cc: Jeff Dike <jdike@addtoit.com>, Andi Kleen <ak@suse.de>, user-mode-linux-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org
Message-ID: <11715068631914-git-send-email-blaisorblade@yahoo.it>
+From: "Paolo 'Blaisorblade' Giarrusso" <blaisorblade@yahoo.it>
Also PTRACE_OLDSETOPTIONS should be accepted, as done by kernel/ptrace.c and
forced by binary compatibility. UML/32bit breaks because of this - since it is wise