From: Greg Kroah-Hartman Date: Tue, 13 Dec 2005 07:20:33 +0000 (-0800) Subject: more patches queued X-Git-Tag: v2.6.14.4~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4e7f385c0efdea3a36414810f978cd8a0c7d1e10;p=thirdparty%2Fkernel%2Fstable-queue.git more patches queued --- diff --git a/queue/i82365-release-all-resources-if-no-devices-are-found.patch b/queue/i82365-release-all-resources-if-no-devices-are-found.patch new file mode 100644 index 00000000000..b1c317a9417 --- /dev/null +++ b/queue/i82365-release-all-resources-if-no-devices-are-found.patch @@ -0,0 +1,32 @@ +From stable-bounces@linux.kernel.org Tue Dec 6 23:50:21 2005 +Date: Wed, 7 Dec 2005 08:46:33 +0100 +From: Dominik Brodowski +To: stable@kernel.org +Message-ID: <20051207074633.GA26768@dominikbrodowski.de> +Content-Disposition: inline +Cc: +Subject: i82365: release all resources if no devices are found + +From: Igor Popik + +The i82365 driver does not release all the resources when the device is not +found. This can cause an oops when reading /proc/ioports after module +unload (e.g. bug #5657). + +Signed-off-by: Igor Popik +Signed-off-by: Dominik Brodowski +Signed-off-by: Greg Kroah-Hartman +--- + drivers/pcmcia/i82365.c | 1 + + 1 file changed, 1 insertion(+) + +--- linux-2.6.14.3.orig/drivers/pcmcia/i82365.c ++++ linux-2.6.14.3/drivers/pcmcia/i82365.c +@@ -1382,6 +1382,7 @@ static int __init init_i82365(void) + if (sockets == 0) { + printk("not found.\n"); + platform_device_unregister(&i82365_device); ++ release_region(i365_base, 2); + driver_unregister(&i82365_driver); + return -ENODEV; + } diff --git a/queue/nm256-reset-workaround-for-latitude-csx.patch b/queue/nm256-reset-workaround-for-latitude-csx.patch new file mode 100644 index 00000000000..2dadacef67c --- /dev/null +++ b/queue/nm256-reset-workaround-for-latitude-csx.patch @@ -0,0 +1,116 @@ +From stable-bounces@linux.kernel.org Tue Dec 6 18:56:50 2005 +Date: Tue, 6 Dec 2005 21:51:53 -0500 +From: Dave Jones +To: stable@kernel.org +Message-ID: <20051207025153.GA22374@redhat.com> +Content-Disposition: inline +Cc: +Subject: [ALSA] nm256: reset workaround for Latitude CSx + +From: John W. Linville + +Modules: NM256 driver + +The current snd-nm256 driver can cause Dell Latitude CSx laptops to +lock-up during module (un)load. I have isolated this to the writes to +the control port register at offset 0x6cc which were not already +protected by the existing reset_workaround. + +I tried grouping these writes with the existing reset_workaround +clause, but that caused the driver to have (un)load problems on the +Dell Latitude LS laptops. So, I have implemented a reset_workaround_2 +clause (please feel free to suggest a better name!) to cover this +situation and added a quirk entry for the CSx laptops. + +Signed-off-by: John W. Linville +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman + + +diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c +index ebfa38b..d0da9a5 100644 +--- + sound/pci/nm256/nm256.c | 23 ++++++++++++++++++++--- + 1 file changed, 20 insertions(+), 3 deletions(-) + +--- linux-2.6.14.3.orig/sound/pci/nm256/nm256.c ++++ linux-2.6.14.3/sound/pci/nm256/nm256.c +@@ -62,6 +62,7 @@ static int buffer_top[SNDRV_CARDS] = {[0 + static int use_cache[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; /* disabled */ + static int vaio_hack[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 0}; /* disabled */ + static int reset_workaround[SNDRV_CARDS]; ++static int reset_workaround_2[SNDRV_CARDS]; + + module_param_array(index, int, NULL, 0444); + MODULE_PARM_DESC(index, "Index value for " CARD_NAME " soundcard."); +@@ -83,6 +84,8 @@ module_param_array(vaio_hack, bool, NULL + MODULE_PARM_DESC(vaio_hack, "Enable workaround for Sony VAIO notebooks."); + module_param_array(reset_workaround, bool, NULL, 0444); + MODULE_PARM_DESC(reset_workaround, "Enable AC97 RESET workaround for some laptops."); ++module_param_array(reset_workaround_2, bool, NULL, 0444); ++MODULE_PARM_DESC(reset_workaround_2, "Enable extended AC97 RESET workaround for some other laptops."); + + /* + * hw definitions +@@ -226,6 +229,7 @@ struct snd_nm256 { + unsigned int coeffs_current: 1; /* coeff. table is loaded? */ + unsigned int use_cache: 1; /* use one big coef. table */ + unsigned int reset_workaround: 1; /* Workaround for some laptops to avoid freeze */ ++ unsigned int reset_workaround_2: 1; /* Extended workaround for some other laptops to avoid freeze */ + + int mixer_base; /* register offset of ac97 mixer */ + int mixer_status_offset; /* offset of mixer status reg. */ +@@ -1199,8 +1203,11 @@ snd_nm256_ac97_reset(ac97_t *ac97) + /* Dell latitude LS will lock up by this */ + snd_nm256_writeb(chip, 0x6cc, 0x87); + } +- snd_nm256_writeb(chip, 0x6cc, 0x80); +- snd_nm256_writeb(chip, 0x6cc, 0x0); ++ if (! chip->reset_workaround_2) { ++ /* Dell latitude CSx will lock up by this */ ++ snd_nm256_writeb(chip, 0x6cc, 0x80); ++ snd_nm256_writeb(chip, 0x6cc, 0x0); ++ } + } + + /* create an ac97 mixer interface */ +@@ -1542,7 +1549,7 @@ struct nm256_quirk { + int type; + }; + +-enum { NM_BLACKLISTED, NM_RESET_WORKAROUND }; ++enum { NM_BLACKLISTED, NM_RESET_WORKAROUND, NM_RESET_WORKAROUND_2 }; + + static struct nm256_quirk nm256_quirks[] __devinitdata = { + /* HP omnibook 4150 has cs4232 codec internally */ +@@ -1551,6 +1558,8 @@ static struct nm256_quirk nm256_quirks[] + { .vendor = 0x104d, .device = 0x8041, .type = NM_RESET_WORKAROUND }, + /* Dell Latitude LS */ + { .vendor = 0x1028, .device = 0x0080, .type = NM_RESET_WORKAROUND }, ++ /* Dell Latitude CSx */ ++ { .vendor = 0x1028, .device = 0x0091, .type = NM_RESET_WORKAROUND_2 }, + { } /* terminator */ + }; + +@@ -1582,6 +1591,9 @@ static int __devinit snd_nm256_probe(str + case NM_BLACKLISTED: + printk(KERN_INFO "nm256: The device is blacklisted. Loading stopped\n"); + return -ENODEV; ++ case NM_RESET_WORKAROUND_2: ++ reset_workaround_2[dev] = 1; ++ /* Fall-through */ + case NM_RESET_WORKAROUND: + reset_workaround[dev] = 1; + break; +@@ -1638,6 +1650,11 @@ static int __devinit snd_nm256_probe(str + chip->reset_workaround = 1; + } + ++ if (reset_workaround_2[dev]) { ++ snd_printdd(KERN_INFO "nm256: reset_workaround_2 activated\n"); ++ chip->reset_workaround_2 = 1; ++ } ++ + if ((err = snd_nm256_pcm(chip, 0)) < 0 || + (err = snd_nm256_mixer(chip)) < 0) { + snd_card_free(card); diff --git a/queue/series b/queue/series index 1b29f3bbbfd..875db6b32c5 100644 --- a/queue/series +++ b/queue/series @@ -11,3 +11,7 @@ acpi-prefer-_cst-over-fadt-for-c-state-capabilities.patch acpi-fix-hp-nx8220-boot-hang-regression.patch acpi-add-support-for-fadt-p_lvl2_up-flag.patch 32bit-integer-overflow-in-invalidate_inode_pages2.patch +v4l-dvb-fix-tuner-init-for-pinnacle-pctv-stereo.patch +v4l-dvb-fix-analog-ntsc-for-thomson-dtt-761x-hybrid-tuner.patch +nm256-reset-workaround-for-latitude-csx.patch +i82365-release-all-resources-if-no-devices-are-found.patch diff --git a/queue/v4l-dvb-fix-analog-ntsc-for-thomson-dtt-761x-hybrid-tuner.patch b/queue/v4l-dvb-fix-analog-ntsc-for-thomson-dtt-761x-hybrid-tuner.patch new file mode 100644 index 00000000000..a771def9887 --- /dev/null +++ b/queue/v4l-dvb-fix-analog-ntsc-for-thomson-dtt-761x-hybrid-tuner.patch @@ -0,0 +1,42 @@ +From stable-bounces@linux.kernel.org Thu Dec 8 22:27:06 2005 +Message-ID: <43991E34.60503@gmail.com> +Date: Fri, 09 Dec 2005 01:03:32 -0500 +From: Michael Krufky +To: stable@kernel.org +Cc: Mauro Carvalho Chehab , + lkml , mkrufky@gmail.com +Subject: V4L/DVB: Fix analog NTSC for Thomson DTT 761X hybrid tuner + +[PATCH] V4L/DVB: Fix analog NTSC for Thomson DTT 761X hybrid tuner + +- Enable tda9887 on the following cx88 boards: + pcHDTV 3000 + FusionHDTV3 Gold-T +- This ensures that analog NTSC video will function properly, without + this patch, the tuner may appear to be broken. + +Signed-off-by: Michael Krufky +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman +--- + drivers/media/video/cx88/cx88-cards.c | 2 ++ + 1 file changed, 2 insertions(+) + +--- linux-2.6.14.3.orig/drivers/media/video/cx88/cx88-cards.c ++++ linux-2.6.14.3/drivers/media/video/cx88/cx88-cards.c +@@ -567,6 +567,7 @@ struct cx88_board cx88_boards[] = { + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, ++ .tda9887_conf = TDA9887_PRESENT, + .input = {{ + .type = CX88_VMUX_TELEVISION, + .vmux = 0, +@@ -711,6 +712,7 @@ struct cx88_board cx88_boards[] = { + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, ++ .tda9887_conf = TDA9887_PRESENT, + .input = {{ + .type = CX88_VMUX_TELEVISION, + .vmux = 0, diff --git a/queue/v4l-dvb-fix-tuner-init-for-pinnacle-pctv-stereo.patch b/queue/v4l-dvb-fix-tuner-init-for-pinnacle-pctv-stereo.patch new file mode 100644 index 00000000000..3a7ea375379 --- /dev/null +++ b/queue/v4l-dvb-fix-tuner-init-for-pinnacle-pctv-stereo.patch @@ -0,0 +1,37 @@ +From stable-bounces@linux.kernel.org Thu Dec 8 15:26:50 2005 +From: mchehab@brturbo.com.br +To: akpm@osdl.org +Date: Thu, 08 Dec 2005 21:18:47 -0200 +Message-Id: <1134083966.7047.160.camel@localhost> +Cc: js@linuxtv.org, Mauro Carvalho Chehab , + linux-kernel@vger.kernel.org, mchehab@infradead.org, + linux-dvb-maintainer@linuxtv.org, stable@kernel.org, + Ricardo Cerqueira +Subject: V4L/DVB (3135) Fix tuner init for Pinnacle PCTV Stereo + +From: Ricardo Cerqueira + +- The Pinnacle PCTV Stereo needs tda9887 port2 set to 1 +- Without this patch, mt20xx tuner is not detected and the board + doesn't tune. + +Signed-off-by: Ricardo Cerqueira +Signed-off-by: Mauro Carvalho Chehab +Signed-off-by: Greg Kroah-Hartman + + +--- + drivers/media/video/saa7134/saa7134-cards.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- linux-2.6.14.3.orig/drivers/media/video/saa7134/saa7134-cards.c ++++ linux-2.6.14.3/drivers/media/video/saa7134/saa7134-cards.c +@@ -972,7 +972,7 @@ struct saa7134_board saa7134_boards[] = + .radio_type = UNSET, + .tuner_addr = ADDR_UNSET, + .radio_addr = ADDR_UNSET, +- .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER, ++ .tda9887_conf = TDA9887_PRESENT | TDA9887_INTERCARRIER | TDA9887_PORT2_ACTIVE, + .inputs = {{ + .name = name_tv, + .vmux = 3,