Re: Linux 2.6.22.9

2007-09-26 Thread Greg Kroah-Hartman

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

2007-09-26 Thread Greg Kroah-Hartman
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

2007-09-26 Thread Greg Kroah-Hartman
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

2007-09-26 Thread Greg Kroah-Hartman

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