Re: Linux 2.6.22.9
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware index 4820366..6cb3080 100644 --- a/Documentation/dvb/get_dvb_firmware +++ b/Documentation/dvb/get_dvb_firmware @@ -56,7 +56,7 @@ syntax(); sub sp8870 { my $sourcefile = "tt_Premium_217g.zip"; -my $url = "http://www.technotrend.de/new/217g/$sourcefile;; +my $url = "http://www.softwarepatch.pl/ccd06a4813cb827dbb0005071c71/$sourcefile;; my $hash = "53970ec17a538945a6d8cb608a7b3899"; my $outfile = "dvb-fe-sp8870.fw"; my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); @@ -110,21 +110,21 @@ sub tda10045 { } sub tda10046 { -my $sourcefile = "tt_budget_217g.zip"; -my $url = "http://www.technotrend.de/new/217g/$sourcefile;; -my $hash = "6a7e1e2f2644b162ff0502367553c72d"; -my $outfile = "dvb-fe-tda10046.fw"; -my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); + my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip"; + my $url = "http://technotrend-online.com/download/software/219/$sourcefile;; + my $hash = "6a7e1e2f2644b162ff0502367553c72d"; + my $outfile = "dvb-fe-tda10046.fw"; + my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); -checkstandard(); + checkstandard(); -wgetfile($sourcefile, $url); -unzip($sourcefile, $tmpdir); -extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24478, "$tmpdir/fwtmp"); -verify("$tmpdir/fwtmp", $hash); -copy("$tmpdir/fwtmp", $outfile); + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp"); + verify("$tmpdir/fwtmp", $hash); + copy("$tmpdir/fwtmp", $outfile); -$outfile; + $outfile; } sub tda10046lifeview { diff --git a/Makefile b/Makefile index dc7a45d..6f8adbb 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 22 -EXTRAVERSION = .8 +EXTRAVERSION = .9 NAME = Holy Dancing Manatees, Batman! # *DOCUMENTATION* diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 6e2f035..87c474d 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -83,7 +83,7 @@ void flush_fp_to_thread(struct task_struct *tsk) */ BUG_ON(tsk != current); #endif - giveup_fpu(current); + giveup_fpu(tsk); } preempt_enable(); } @@ -143,7 +143,7 @@ void flush_altivec_to_thread(struct task_struct *tsk) #ifdef CONFIG_SMP BUG_ON(tsk != current); #endif - giveup_altivec(current); + giveup_altivec(tsk); } preempt_enable(); } @@ -182,7 +182,7 @@ void flush_spe_to_thread(struct task_struct *tsk) #ifdef CONFIG_SMP BUG_ON(tsk != current); #endif - giveup_spe(current); + giveup_spe(tsk); } preempt_enable(); } diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 3bc136a..154f10e 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -751,7 +751,7 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, { struct device_node *child; const u32 *reg; - int reglen, devfn; + int reglen, devfn, prev_devfn; struct pci_dev *dev; if (ofpci_verbose) @@ -759,14 +759,25 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, node->full_name, bus->number); child = NULL; + prev_devfn = -1; while ((child = of_get_next_child(node, child)) != NULL) { if (ofpci_verbose) printk(" * %s\n", child->full_name); reg = of_get_property(child, "reg", ); if (reg == NULL || reglen < 20) continue; + devfn = (reg[0] >> 8) & 0xff; + /* This is a workaround for some device trees +* which list PCI devices twice. On the V100 +* for example, device number 3 is listed twice. +* Once as "pm" and once again as "lomp". +*/ + if (devfn == prev_devfn) + continue; + prev_devfn = devfn; + /* create a new pci_dev for this device */ dev = of_create_pci_dev(pbm, child, bus, devfn, 0); if (!dev) diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index c99b463..4369ff2 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -1081,12 +1081,6 @@ void blk_queue_end_tag(request_queue_t *q, struct request *rq) */ return; - if (unlikely(!__test_and_clear_bit(tag, bqt->tag_map))) { -
Linux 2.6.22.9
We (the -stable team) are announcing the release of the 2.6.22.9 kernel. It fixes a number of reported bugs, and any user of the 2.6.22 series is encouraged to upgrade. I'll also be replying to this message with a copy of the patch between 2.6.22.8 and 2.6.22.9 The updated 2.6.22.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.22.y.git and can be browsed at the normal kernel.org git web browser: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=summary thanks, greg k-h Documentation/dvb/get_dvb_firmware | 26 - Makefile |2 arch/powerpc/kernel/process.c|6 +- arch/sparc64/kernel/pci.c| 13 block/ll_rw_blk.c| 13 ++-- crypto/blkcipher.c | 11 ++-- drivers/acpi/tables/tbutils.c| 71 ++ drivers/block/DAC960.c | 18 -- drivers/block/DAC960.h |7 -- drivers/firewire/fw-ohci.c | 10 +-- drivers/hwmon/lm78.c |2 drivers/hwmon/w83781d.c |2 drivers/ieee1394/ieee1394_core.c |2 drivers/ieee1394/ohci1394.c |4 - drivers/media/dvb/b2c2/flexcop-i2c.c |7 ++ drivers/media/video/cx88/cx88-mpeg.c |2 drivers/media/video/ivtv/ivtv-ioctl.c|1 drivers/media/video/pwc/pwc-if.c |2 drivers/mtd/Makefile |2 drivers/mtd/mtdpart.c|4 - drivers/mtd/mtdsuper.c |2 drivers/net/forcedeth.c |2 drivers/net/wireless/bcm43xx/bcm43xx_main.c | 28 +++--- drivers/net/wireless/bcm43xx/bcm43xx_main.h |2 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c |2 drivers/scsi/3w-9xxx.c | 18 -- drivers/usb/core/driver.c|2 fs/afs/mntpt.c |2 fs/ext3/namei.c | 73 --- fs/ext4/namei.c | 73 --- fs/jffs2/fs.c|2 fs/locks.c |2 fs/nfs/super.c |2 fs/splice.c |4 - include/linux/Kbuild |1 init/Kconfig |1 kernel/futex_compat.c|4 - kernel/signal.c | 19 +++ kernel/sys.c |3 - net/8021q/vlan_dev.c | 12 net/bridge/br_netfilter.c| 12 ++-- net/core/datagram.c |3 + net/core/pktgen.c| 10 +++ net/decnet/dn_dev.c |2 net/ipv4/ah4.c |2 net/ipv4/devinet.c |2 net/ipv4/inet_diag.c |4 + net/ipv4/tcp_input.c | 21 +-- net/ipv6/addrconf.c |2 net/ipv6/ip6_output.c|5 + net/ipv6/ndisc.c |2 net/ipv6/raw.c |3 - net/sunrpc/svcsock.c |6 +- scripts/kconfig/conf.c | 21 --- 54 files changed, 405 insertions(+), 149 deletions(-) Summary of changes from v2.6.22.8 to v2.6.22.9 == Adam Radford (1): 3w-9xxx: Fix dma mask setting Adit Ranadive (1): Fix pktgen src_mac handling. Alexey Dobriyan (1): nfs: fix oops re sysctls and V4 support Andreas Arens (1): DVB: get_dvb_firmware: update script for new location of tda10046 firmware Andreas Gruenbacher (1): afs: mntput called before dput Andrew Morton (2): disable sys_timerfd() Fix "Fix DAC960 driver on machines which don't support 64-bit DMA" Arnd Bergmann (1): futex_compat: fix list traversal bugs David Howells (1): MTD: Initialise s_flags in get_sb_mtd_aux() David Miller (1): Fix sparc64 v100 platform booting. Denis V. Lunev (1): Fix IPV6 DAD handling Eric Sandeen (2): ext34: ensure do_split leaves enough free space in both blocks dir_index: error out instead of BUG on corrupt dx dirs Evgeniy Polyakov (1): Fix oops in vlan and bridging code Greg Kroah-Hartman (1): Linux 2.6.22.9 Hans Verkuil (1): V4L: ivtv: fix VIDIOC_S_FBUF: new OSD values were never set Herbert Xu (2): crypto: blkcipher_get_spot() handling of buffer at end of page Fix datagram recvmsg NULL io
Linux 2.6.22.9
We (the -stable team) are announcing the release of the 2.6.22.9 kernel. It fixes a number of reported bugs, and any user of the 2.6.22 series is encouraged to upgrade. I'll also be replying to this message with a copy of the patch between 2.6.22.8 and 2.6.22.9 The updated 2.6.22.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.22.y.git and can be browsed at the normal kernel.org git web browser: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=summary thanks, greg k-h Documentation/dvb/get_dvb_firmware | 26 - Makefile |2 arch/powerpc/kernel/process.c|6 +- arch/sparc64/kernel/pci.c| 13 block/ll_rw_blk.c| 13 ++-- crypto/blkcipher.c | 11 ++-- drivers/acpi/tables/tbutils.c| 71 ++ drivers/block/DAC960.c | 18 -- drivers/block/DAC960.h |7 -- drivers/firewire/fw-ohci.c | 10 +-- drivers/hwmon/lm78.c |2 drivers/hwmon/w83781d.c |2 drivers/ieee1394/ieee1394_core.c |2 drivers/ieee1394/ohci1394.c |4 - drivers/media/dvb/b2c2/flexcop-i2c.c |7 ++ drivers/media/video/cx88/cx88-mpeg.c |2 drivers/media/video/ivtv/ivtv-ioctl.c|1 drivers/media/video/pwc/pwc-if.c |2 drivers/mtd/Makefile |2 drivers/mtd/mtdpart.c|4 - drivers/mtd/mtdsuper.c |2 drivers/net/forcedeth.c |2 drivers/net/wireless/bcm43xx/bcm43xx_main.c | 28 +++--- drivers/net/wireless/bcm43xx/bcm43xx_main.h |2 drivers/net/wireless/bcm43xx/bcm43xx_sysfs.c |2 drivers/scsi/3w-9xxx.c | 18 -- drivers/usb/core/driver.c|2 fs/afs/mntpt.c |2 fs/ext3/namei.c | 73 --- fs/ext4/namei.c | 73 --- fs/jffs2/fs.c|2 fs/locks.c |2 fs/nfs/super.c |2 fs/splice.c |4 - include/linux/Kbuild |1 init/Kconfig |1 kernel/futex_compat.c|4 - kernel/signal.c | 19 +++ kernel/sys.c |3 - net/8021q/vlan_dev.c | 12 net/bridge/br_netfilter.c| 12 ++-- net/core/datagram.c |3 + net/core/pktgen.c| 10 +++ net/decnet/dn_dev.c |2 net/ipv4/ah4.c |2 net/ipv4/devinet.c |2 net/ipv4/inet_diag.c |4 + net/ipv4/tcp_input.c | 21 +-- net/ipv6/addrconf.c |2 net/ipv6/ip6_output.c|5 + net/ipv6/ndisc.c |2 net/ipv6/raw.c |3 - net/sunrpc/svcsock.c |6 +- scripts/kconfig/conf.c | 21 --- 54 files changed, 405 insertions(+), 149 deletions(-) Summary of changes from v2.6.22.8 to v2.6.22.9 == Adam Radford (1): 3w-9xxx: Fix dma mask setting Adit Ranadive (1): Fix pktgen src_mac handling. Alexey Dobriyan (1): nfs: fix oops re sysctls and V4 support Andreas Arens (1): DVB: get_dvb_firmware: update script for new location of tda10046 firmware Andreas Gruenbacher (1): afs: mntput called before dput Andrew Morton (2): disable sys_timerfd() Fix Fix DAC960 driver on machines which don't support 64-bit DMA Arnd Bergmann (1): futex_compat: fix list traversal bugs David Howells (1): MTD: Initialise s_flags in get_sb_mtd_aux() David Miller (1): Fix sparc64 v100 platform booting. Denis V. Lunev (1): Fix IPV6 DAD handling Eric Sandeen (2): ext34: ensure do_split leaves enough free space in both blocks dir_index: error out instead of BUG on corrupt dx dirs Evgeniy Polyakov (1): Fix oops in vlan and bridging code Greg Kroah-Hartman (1): Linux 2.6.22.9 Hans Verkuil (1): V4L: ivtv: fix VIDIOC_S_FBUF: new OSD values were never set Herbert Xu (2): crypto: blkcipher_get_spot() handling of buffer at end of page Fix datagram recvmsg NULL iov handling
Re: Linux 2.6.22.9
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware index 4820366..6cb3080 100644 --- a/Documentation/dvb/get_dvb_firmware +++ b/Documentation/dvb/get_dvb_firmware @@ -56,7 +56,7 @@ syntax(); sub sp8870 { my $sourcefile = tt_Premium_217g.zip; -my $url = http://www.technotrend.de/new/217g/$sourcefile;; +my $url = http://www.softwarepatch.pl/ccd06a4813cb827dbb0005071c71/$sourcefile;; my $hash = 53970ec17a538945a6d8cb608a7b3899; my $outfile = dvb-fe-sp8870.fw; my $tmpdir = tempdir(DIR = /tmp, CLEANUP = 1); @@ -110,21 +110,21 @@ sub tda10045 { } sub tda10046 { -my $sourcefile = tt_budget_217g.zip; -my $url = http://www.technotrend.de/new/217g/$sourcefile;; -my $hash = 6a7e1e2f2644b162ff0502367553c72d; -my $outfile = dvb-fe-tda10046.fw; -my $tmpdir = tempdir(DIR = /tmp, CLEANUP = 1); + my $sourcefile = TT_PCI_2.19h_28_11_2006.zip; + my $url = http://technotrend-online.com/download/software/219/$sourcefile;; + my $hash = 6a7e1e2f2644b162ff0502367553c72d; + my $outfile = dvb-fe-tda10046.fw; + my $tmpdir = tempdir(DIR = /tmp, CLEANUP = 1); -checkstandard(); + checkstandard(); -wgetfile($sourcefile, $url); -unzip($sourcefile, $tmpdir); -extract($tmpdir/software/OEM/PCI/App/ttlcdacc.dll, 0x3f731, 24478, $tmpdir/fwtmp); -verify($tmpdir/fwtmp, $hash); -copy($tmpdir/fwtmp, $outfile); + wgetfile($sourcefile, $url); + unzip($sourcefile, $tmpdir); + extract($tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll, 0x65389, 24478, $tmpdir/fwtmp); + verify($tmpdir/fwtmp, $hash); + copy($tmpdir/fwtmp, $outfile); -$outfile; + $outfile; } sub tda10046lifeview { diff --git a/Makefile b/Makefile index dc7a45d..6f8adbb 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 22 -EXTRAVERSION = .8 +EXTRAVERSION = .9 NAME = Holy Dancing Manatees, Batman! # *DOCUMENTATION* diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 6e2f035..87c474d 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c @@ -83,7 +83,7 @@ void flush_fp_to_thread(struct task_struct *tsk) */ BUG_ON(tsk != current); #endif - giveup_fpu(current); + giveup_fpu(tsk); } preempt_enable(); } @@ -143,7 +143,7 @@ void flush_altivec_to_thread(struct task_struct *tsk) #ifdef CONFIG_SMP BUG_ON(tsk != current); #endif - giveup_altivec(current); + giveup_altivec(tsk); } preempt_enable(); } @@ -182,7 +182,7 @@ void flush_spe_to_thread(struct task_struct *tsk) #ifdef CONFIG_SMP BUG_ON(tsk != current); #endif - giveup_spe(current); + giveup_spe(tsk); } preempt_enable(); } diff --git a/arch/sparc64/kernel/pci.c b/arch/sparc64/kernel/pci.c index 3bc136a..154f10e 100644 --- a/arch/sparc64/kernel/pci.c +++ b/arch/sparc64/kernel/pci.c @@ -751,7 +751,7 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, { struct device_node *child; const u32 *reg; - int reglen, devfn; + int reglen, devfn, prev_devfn; struct pci_dev *dev; if (ofpci_verbose) @@ -759,14 +759,25 @@ static void __devinit pci_of_scan_bus(struct pci_pbm_info *pbm, node-full_name, bus-number); child = NULL; + prev_devfn = -1; while ((child = of_get_next_child(node, child)) != NULL) { if (ofpci_verbose) printk( * %s\n, child-full_name); reg = of_get_property(child, reg, reglen); if (reg == NULL || reglen 20) continue; + devfn = (reg[0] 8) 0xff; + /* This is a workaround for some device trees +* which list PCI devices twice. On the V100 +* for example, device number 3 is listed twice. +* Once as pm and once again as lomp. +*/ + if (devfn == prev_devfn) + continue; + prev_devfn = devfn; + /* create a new pci_dev for this device */ dev = of_create_pci_dev(pbm, child, bus, devfn, 0); if (!dev) diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index c99b463..4369ff2 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c @@ -1081,12 +1081,6 @@ void blk_queue_end_tag(request_queue_t *q, struct request *rq) */ return; - if (unlikely(!__test_and_clear_bit(tag, bqt-tag_map))) { - printk(KERN_ERR %s: attempt to clear non-busy