linux-2.6
18 years ago[XFRM]: Fix xfrm_state accounting
Patrick McHardy [Tue, 24 Oct 2006 22:34:00 +0000 (15:34 -0700)] 
[XFRM]: Fix xfrm_state accounting

xfrm_state_num needs to be increased for XFRM_STATE_ACQ states created
by xfrm_state_find() to prevent the counter from going negative when
the state is destroyed.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPV4] ipconfig: fix RARP ic_servaddr breakage
Al Viro [Tue, 24 Oct 2006 22:18:36 +0000 (15:18 -0700)] 
[IPV4] ipconfig: fix RARP ic_servaddr breakage

memcpy 4 bytes to address of auto unsigned long variable followed
by comparison with u32 is a bloody bad idea.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoLinux 2.6.19-rc3 v2.6.19-rc3
Linus Torvalds [Mon, 23 Oct 2006 23:02:02 +0000 (16:02 -0700)] 
Linux 2.6.19-rc3

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Mon, 23 Oct 2006 22:56:26 +0000 (15:56 -0700)] 
Merge git://git./linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog: (33 commits)
  [WATCHDOG] remove experimental on iTCO_wdt.c
  [WATCHDOG] Atmel AT91RM9200 rename.
  [WATCHDOG] includes for sample watchdog program.
  [WATCHDOG] watchdog/iTCO_wdt: fix bug related to gcc uninit warning
  [WATCHDOG] add ich8 support to iTCO_wdt.c (patch 2)
  [WATCHDOG] add ich8 support to iTCO_wdt.c
  [WATCHDOG] ioremap balanced with iounmap for drivers/char/watchdog/s3c2410_wdt.c
  [WATCHDOG] w83697hf/hg WDT driver - Kconfig patch
  [WATCHDOG] w83697hf/hg WDT driver - autodetect patch
  [WATCHDOG] w83697hf/hg WDT driver - patch 16
  [WATCHDOG] w83697hf/hg WDT driver - patch 15
  [WATCHDOG] w83697hf/hg WDT driver - patch 14
  [WATCHDOG] w83697hf/hg WDT driver - patch 13
  [WATCHDOG] w83697hf/hg WDT driver - patch 12
  [WATCHDOG] w83697hf/hg WDT driver - patch 11
  [WATCHDOG] w83697hf/hg WDT driver - patch 10
  [WATCHDOG] w83697hf/hg WDT driver - patch 9
  [WATCHDOG] w83697hf/hg WDT driver - patch 8
  [WATCHDOG] w83697hf/hg WDT driver - patch 7
  [WATCHDOG] w83697hf/hg WDT driver - patch 6
  ...

18 years agoRevert unintentional and bogus change to drivers/pci/quirks.c
Linus Torvalds [Mon, 23 Oct 2006 21:25:30 +0000 (14:25 -0700)] 
Revert unintentional and bogus change to drivers/pci/quirks.c

In commit 4e8a5201506423e0241202de1349422af4260296 ("[PKT_SCHED] netem:
Orphan SKB when adding to queue.") Davem mistakenly also included a
temporary diff in his tree that disabled the pci_fixup_video VGA quirk,
which broke sparc64.

This reverts that part of the commit. Sayeth Davem:

  "Greg KH has a patch coming to you soon which will move that VGA code
   back into x86/x86_64/IA64 specific areas and will fix the sparc64
   problem properly."

Special thanks to Claudio Martins <ctpm@ist.utl.pt> for noticing the
error in the first place.

Cc: Claudio Martins <ctpm@ist.utl.pt>
Cc: David Miller <davem@davemloft.net>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Remove __must_check for device_for_each_child()
Russell King [Sun, 22 Oct 2006 14:57:18 +0000 (15:57 +0100)] 
[PATCH] Remove __must_check for device_for_each_child()

Eliminate more __must_check madness.

The return code from device_for_each_child() depends on the values
which the helper function returns.  If the helper function always
returns zero, it's utterly pointless to check the return code from
device_for_each_child().

The only code which knows if the return value should be checked is
the caller itself, so forcing the return code to always be checked
is silly.  Hence, remove the __must_check annotation.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoMerge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa
Linus Torvalds [Mon, 23 Oct 2006 17:58:33 +0000 (10:58 -0700)] 
Merge branch 'linus' of git://git./linux/kernel/git/perex/alsa

* 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa:
  [ALSA] hda-intel - Add check of MSI availabity
  [ALSA] version 1.0.13
  [ALSA] Fix addition of user-defined boolean controls
  [ALSA] Fix AC97 power-saving mode
  [ALSA] Fix re-use of va_list
  [ALSA] hda_intel: add ATI RS690 HDMI audio support
  [ALSA] hda-codec - Add model entry for ASUS U5F laptop
  [ALSA] Fix dependency of snd-adlib driver in Kconfig
  [ALSA] Various fixes for suspend/resume of ALSA PCI drivers
  [ALSA] hda-codec - Fix assignment of PCM devices for Realtek codecs
  [ALSA] sound/isa/opti9xx/opti92x-ad1848.c: check kmalloc() return value
  [ALSA] sound/isa/ad1816a/ad1816a.c: check kmalloc() return value
  [ALSA] sound/isa/cmi8330.c: check kmalloc() return value
  [ALSA] sound/isa/gus/interwave.c: check kmalloc() return value

18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
Linus Torvalds [Mon, 23 Oct 2006 15:25:00 +0000 (08:25 -0700)] 
Merge branch 'for-linus' of git://git./linux/kernel/git/shaggy/jfs-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy/jfs-2.6:
  JFS: pageno needs to be long

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 23 Oct 2006 14:51:40 +0000 (07:51 -0700)] 
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
  [PKT_SCHED] netem: Orphan SKB when adding to queue.
  [NET]: kernel-doc fix for sock.h
  [NET]: Reduce sizeof(struct flowi) by 20 bytes.
  [IPv6] fib: initialize tb6_lock in common place to give lockdep a key
  [ATM] nicstar: Fix a bogus casting warning
  [ATM] firestream: handle thrown error
  [ATM]: No need to return void
  [ATM]: handle sysfs errors
  [DCCP] ipv6: Fix opt_skb leak.
  [DCCP]: Fix Oops in DCCPv6

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 23 Oct 2006 14:51:20 +0000 (07:51 -0700)] 
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: 8-byte align return value from compat_alloc_user_space()

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
Linus Torvalds [Mon, 23 Oct 2006 14:50:00 +0000 (07:50 -0700)] 
Merge /pub/scm/linux/kernel/git/lethal/sh-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6:
  sh: Convert INTC2 to IRQ table registration.
  sh: Updates for irq-flow-type naming changes.
  sh: Add some missing board headers.
  sh: Fix exception_handling_table alignment.
  sh: Cleanup board header directories.
  sh: Remove board-specific ide.h headers.
  sh: Proper show_stack/show_trace() implementation.

18 years ago[ALSA] hda-intel - Add check of MSI availabity
Takashi Iwai [Mon, 23 Oct 2006 11:40:59 +0000 (13:40 +0200)] 
[ALSA] hda-intel - Add check of MSI availabity

Check the availability of MSI and turn off MSI automatically when it's
not available on the hardware.  MSI seems broken on some hardwares
but the kernel doesn't know exactly, thus we have to turn the MSI
feature off on the sound driver manually.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[SPARC64]: 8-byte align return value from compat_alloc_user_space()
David S. Miller [Mon, 23 Oct 2006 04:53:30 +0000 (21:53 -0700)] 
[SPARC64]: 8-byte align return value from compat_alloc_user_space()

Otherwise we get a ton of unaligned exceptions, for cases such
as compat_sys_msgrcv() which go:

p = compat_alloc_user_space(second + sizeof(struct msgbuf));

and here 'second' can for example be an arbitrary odd value.

Based upon a bug report from Jurij Smakov.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[PKT_SCHED] netem: Orphan SKB when adding to queue.
David S. Miller [Mon, 23 Oct 2006 04:00:33 +0000 (21:00 -0700)] 
[PKT_SCHED] netem: Orphan SKB when adding to queue.

The networking emulator can queue SKBs for a very long
time, so if you're using netem on the sender side for
large bandwidth/delay product testing, the SKB socket
send queue sizes become artificially larger.

Correct this by calling skb_orphan() in netem_enqueue().

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NET]: kernel-doc fix for sock.h
Randy Dunlap [Mon, 23 Oct 2006 03:38:00 +0000 (20:38 -0700)] 
[NET]: kernel-doc fix for sock.h

Fix kernel-doc warning in include/net/sock.h:
Warning(/var/linsrc/linux-2619-rc1-pv//include/net/sock.h:894): No description found for parameter 'rcu'

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ALSA] version 1.0.13
Jaroslav Kysela [Sun, 22 Oct 2006 08:56:24 +0000 (10:56 +0200)] 
[ALSA] version 1.0.13

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] Fix addition of user-defined boolean controls
Takashi Iwai [Thu, 19 Oct 2006 15:38:31 +0000 (17:38 +0200)] 
[ALSA] Fix addition of user-defined boolean controls

Fixed the addition of user-defined boolean controls, the private
data size is corrected to be handled properly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] Fix AC97 power-saving mode
Takashi Iwai [Thu, 19 Oct 2006 13:20:08 +0000 (15:20 +0200)] 
[ALSA] Fix AC97 power-saving mode

Fix the bug in AC97 power-saving mode that the power isn't turned on
when power_save is set to 1 via sysfs during the power off state.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] Fix re-use of va_list
Takashi Iwai [Wed, 18 Oct 2006 17:09:46 +0000 (19:09 +0200)] 
[ALSA] Fix re-use of va_list

The va_list is designed to be used only once.  The current code
may pass va_list arguments multiple times and may cause Oops.
Copy/release the arguments temporarily to avoid this problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] hda_intel: add ATI RS690 HDMI audio support
Felix Kuehling [Mon, 16 Oct 2006 10:49:47 +0000 (12:49 +0200)] 
[ALSA] hda_intel: add ATI RS690 HDMI audio support

This patch adds support for the HDMI codec of the ATI RS690 IGP northbridge.

Signed-off-by: Felix Kuehling <fkuehlin@ati.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] hda-codec - Add model entry for ASUS U5F laptop
Takashi Iwai [Fri, 13 Oct 2006 10:40:51 +0000 (12:40 +0200)] 
[ALSA] hda-codec - Add model entry for ASUS U5F laptop

Added a model entry for ASUS U5F laptop with AD1986A codec.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] Fix dependency of snd-adlib driver in Kconfig
Takashi Iwai [Thu, 12 Oct 2006 19:10:21 +0000 (21:10 +0200)] 
[ALSA] Fix dependency of snd-adlib driver in Kconfig

Added the missing dependency on CONFIG_SND for snd-adlib driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] Various fixes for suspend/resume of ALSA PCI drivers
Takashi Iwai [Wed, 11 Oct 2006 16:52:53 +0000 (18:52 +0200)] 
[ALSA] Various fixes for suspend/resume of ALSA PCI drivers

- Check the return value of pci_enable_device() and request_irq()
  in the suspend.  If any error occurs there, disable the device
  using snd_card_disconnect().
- Call pci_set_power_state() properly with pci_choose_state().
- Fix the order to call pci_set_power_state().
- Removed obsolete house-made PM codes in some drivers.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] hda-codec - Fix assignment of PCM devices for Realtek codecs
Takashi Iwai [Wed, 11 Oct 2006 16:49:13 +0000 (18:49 +0200)] 
[ALSA] hda-codec - Fix assignment of PCM devices for Realtek codecs

Fixed the assignment of PCM devices for Realtek codecs.
The secondary analog capture should be statically asigned to the
third device regardless whether SPDIF exists or not.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] sound/isa/opti9xx/opti92x-ad1848.c: check kmalloc() return value
Amit Choudhary [Mon, 9 Oct 2006 14:04:34 +0000 (16:04 +0200)] 
[ALSA] sound/isa/opti9xx/opti92x-ad1848.c: check kmalloc() return value

Check the return value of kmalloc() in function snd_card_opti9xx_pnp(),
in file sound/isa/opti9xx/opti92x-ad1848.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] sound/isa/ad1816a/ad1816a.c: check kmalloc() return value
Amit Choudhary [Mon, 9 Oct 2006 14:03:52 +0000 (16:03 +0200)] 
[ALSA] sound/isa/ad1816a/ad1816a.c: check kmalloc() return value

Check the return value of kmalloc() in function snd_card_ad1816a_pnp(),
in file sound/isa/ad1816a/ad1816a.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] sound/isa/cmi8330.c: check kmalloc() return value
Amit Choudhary [Mon, 9 Oct 2006 14:03:23 +0000 (16:03 +0200)] 
[ALSA] sound/isa/cmi8330.c: check kmalloc() return value

Check the return value of kmalloc() in function snd_cmi8330_pnp(),
in file sound/isa/cmi8330.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[ALSA] sound/isa/gus/interwave.c: check kmalloc() return value
Amit Choudhary [Mon, 9 Oct 2006 14:02:49 +0000 (16:02 +0200)] 
[ALSA] sound/isa/gus/interwave.c: check kmalloc() return value

Check the return value of kmalloc() in function snd_interwave_pnp(),
in file sound/isa/gus/interwave.c.

Signed-off-by: Amit Choudhary <amit2030@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
18 years ago[NET]: Reduce sizeof(struct flowi) by 20 bytes.
Eric Dumazet [Sun, 22 Oct 2006 03:24:01 +0000 (20:24 -0700)] 
[NET]: Reduce sizeof(struct flowi) by 20 bytes.

As suggested by David, just kill off some unused fields in dnports to
reduce sizef(struct flowi). If they come back, they should be moved to
nl_u.dn_u in order not to enlarge again struct flowi

[ Modified to really delete this stuff instead of using #if 0. -DaveM ]

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[IPv6] fib: initialize tb6_lock in common place to give lockdep a key
Thomas Graf [Sun, 22 Oct 2006 03:20:54 +0000 (20:20 -0700)] 
[IPv6] fib: initialize tb6_lock in common place to give lockdep a key

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM] nicstar: Fix a bogus casting warning
Alan Cox [Sat, 21 Oct 2006 02:51:46 +0000 (19:51 -0700)] 
[ATM] nicstar: Fix a bogus casting warning

Not enough to make Nicstar 64bit friendly but got squashed in passing so might
as well be applied

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM] firestream: handle thrown error
Jeff Garzik [Sat, 21 Oct 2006 02:50:50 +0000 (19:50 -0700)] 
[ATM] firestream: handle thrown error

gcc emits the following warning:

drivers/atm/firestream.c: In function ‘fs_open’:
drivers/atm/firestream.c:870: warning: ‘tmc0’ may be used uninitialized in this function

This indicates a real bug.  We should check make_rate() return value for
potential errors.

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM]: No need to return void
Tobias Klauser [Sat, 21 Oct 2006 02:49:45 +0000 (19:49 -0700)] 
[ATM]: No need to return void

The module_exit function has return-type void and pci_unregister_driver()
returns void anyway.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[ATM]: handle sysfs errors
Jeff Garzik [Sat, 21 Oct 2006 02:48:42 +0000 (19:48 -0700)] 
[ATM]: handle sysfs errors

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DCCP] ipv6: Fix opt_skb leak.
David S. Miller [Sat, 21 Oct 2006 02:44:17 +0000 (19:44 -0700)] 
[DCCP] ipv6: Fix opt_skb leak.

Based upon a patch from Jesper Juhl.  Try to match the
TCP IPv6 code this was copied from as much as possible,
so that it's easy to see where to add the ipv6 pktoptions
support code.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[DCCP]: Fix Oops in DCCPv6
Gerrit Renker [Wed, 11 Oct 2006 15:26:54 +0000 (16:26 +0100)] 
[DCCP]: Fix Oops in DCCPv6

I think I got the cause for the Oops observed in
http://www.mail-archive.com/dccp@vger.kernel.org/msg00578.html

The problem is always with applications listening on PF_INET6 sockets. Apart
from the mentioned oops, I observed another one one, triggered at irregular
intervals via timer interrupt:

    run_timer_softirq -> dccp_keepalive_timer
                      -> inet_csk_reqsk_queue_prune
                      -> reqsk_free
                      -> dccp_v6_reqsk_destructor

The latter function is the problem and is also the last function to be called
in said kernel panic.

In any case, there is a real problem with allocating the right request_sock
which is what this patch tackles.

It fixes the following problem:
 - application listens on PF_INET6
 - DCCPv4 packet comes in, is handed over to dccp_v4_do_rcv, from there
   to dccp_v4_conn_request

Now: socket is PF_INET6, packet is IPv4. The following code then furnishes the
connection with IPv6 - request_sock operations:

   req = reqsk_alloc(sk->sk_prot->rsk_prot);

The first problem is that all further incoming packets will get a Reset since
the connection can not be looked up.

The second problem is worse:
 --> reqsk_alloc is called instead of inet6_reqsk_alloc
 --> consequently inet6_rsk_offset is never set (dangling pointer)
 --> the request_sock_ops are nevertheless still dccp6_request_ops
 --> destructor is called via reqsk_free
 --> dccp_v6_reqsk_destructor tries to free random memory location (inet6_rsk_offset not set)
 --> panic

I have tested this for a while, DCCP sockets are now handled correctly in all
three scenarios (v4/v6 only/v4-mapped).

Commiter note: I've added the dccp_request_sock_ops forward declaration to keep
               the tree building and to reduce the size of the patch for 2.6.19,
               later I'll move the functions to the top of the affected source
               code to match what we have in the TCP counterpart, where this
               problem hasn't existed in the first place, dumb me not to have
               done the same thing on DCCP land 8)

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
18 years agoMerge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
Linus Torvalds [Sat, 21 Oct 2006 23:52:40 +0000 (16:52 -0700)] 
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6

* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
  [PATCH] x86-64: increase PHB1 split transaction timeout
  [PATCH] x86-64: Fix C3 timer test

18 years ago[PATCH] x86-64: increase PHB1 split transaction timeout
Muli Ben-Yehuda [Sat, 21 Oct 2006 22:41:15 +0000 (00:41 +0200)] 
[PATCH] x86-64: increase PHB1 split transaction timeout

This patch increases the timeout for PCI split transactions on PHB1 on
the first Calgary to work around an issue with the aic94xx
adapter. Fixes kernel.org bugzilla #7180
(http://bugzilla.kernel.org/show_bug.cgi?id=7180)

Based on excellent debugging and a patch by Darrick J. Wong
<djwong@us.ibm.com>

Signed-off-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Andi Kleen <ak@suse.de>
Acked-by: Darrick J. Wong <djwong@us.ibm.com>
18 years ago[PATCH] x86-64: Fix C3 timer test
Andi Kleen [Sat, 21 Oct 2006 22:41:15 +0000 (00:41 +0200)] 
[PATCH] x86-64: Fix C3 timer test

There was a typo in the C3 latency test to decide of the TSC
should be used or not. It used the C2 latency threshold, not the
C3 one. Fix that.

This should fix the time on various dual core laptops.

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page
Ralf Baechle [Sat, 21 Oct 2006 22:17:35 +0000 (23:17 +0100)] 
[MIPS] Fix aliasing bug in copy_to_user_page / copy_from_user_page

The current implementation uses a sequence of a cacheflush and a copy.
This is racy in case of a multithreaded debuggee and renders GDB
virtually unusable.

Aside this fixes a performance hog rendering access to /proc/cmdline very
slow and resulting in a enough cache stalls for the 34K AP/SP programming
model to make the bare metal code on the non-Linux VPE miss RT deadlines.

The main part of this patch was originally written by Ralf Baechle;
Atushi Nemoto did the the debugging.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Cleanup remaining references to mips_counter_frequency.
Ralf Baechle [Sat, 21 Oct 2006 01:05:20 +0000 (02:05 +0100)] 
[MIPS] Cleanup remaining references to mips_counter_frequency.

Noticed by Samium Gromoff but his patch got stale in flight ...

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sat, 21 Oct 2006 20:41:41 +0000 (13:41 -0700)] 
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
  [PATCH] libata-sff: Allow for wacky systems
  [PATCH] ahci: readability tweak
  [PATCH] libata: typo fix
  [PATCH] ATA must depend on BLOCK
  [PATCH] libata: use correct map_db values for ICH8

18 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Sat, 21 Oct 2006 20:40:29 +0000 (13:40 -0700)] 
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6

* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (22 commits)
  [PATCH] ibmveth: Fix index increment calculation
  [PATCH] Fix timer race
  [PATCH] Remove useless comment from sb1250
  [PATCH] ucc_geth: changes to ucc_geth driver as a result of qe_lib changes and bugfixes
  [PATCH] sky2: 88E803X transmit lockup
  [PATCH] e1000: Reset all functions after a PCI error
  [PATCH] WAN/pc300: handle, propagate minor errors
  [PATCH] Update smc91x driver with ARM Versatile board info
  [PATCH] wireless: WE-20 compatibility for ESSID and NICKN ioctls
  [PATCH] zd1211rw: fix build-break caused by association race fix
  [PATCH] sotftmac: fix a slab corruption in WEP restricted key association
  [PATCH] airo: check if need to freeze
  [PATCH] wireless: More WE-21 potential overflows...
  [PATCH] zd1201: Possible NULL dereference
  [PATCH] orinoco: fix WE-21 buffer overflow
  [PATCH] airo.c: check returned values
  [PATCH] bcm43xx-softmac: Fix system hang for x86-64 with >1GB RAM
  [PATCH] bcm43xx-softmac: check returned value from pci_enable_device
  [PATCH] softmac: Fix WX and association related races
  [PATCH] bcm43xx: fix race condition in periodic work handler
  ...

18 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
Linus Torvalds [Sat, 21 Oct 2006 20:39:44 +0000 (13:39 -0700)] 
Merge /pub/scm/linux/kernel/git/davej/agpgart

* master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart:
  [AGPGART] uninorth: Add module param 'aperture' for aperture size

18 years agoMerge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6
Linus Torvalds [Sat, 21 Oct 2006 20:36:46 +0000 (13:36 -0700)] 
Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6

* 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6:
  [PATCH] x86-64: Revert timer routing behaviour back to 2.6.16 state
  [PATCH] x86-64: Overlapping program headers in physical addr space fix
  [PATCH] x86-64: Put more than one cpu in TARGET_CPUS
  [PATCH] x86: Revert new unwind kernel stack termination
  [PATCH] x86-64: Use irq_domain in ioapic_retrigger_irq
  [PATCH] i386: Disable nmi watchdog on all ThinkPads
  [PATCH] x86-64: Revert interrupt backlink changes
  [PATCH] x86-64: Fix ENOSYS in system call tracing
  [PATCH] i386: Fix fake return address
  [PATCH] x86-64: x86_64 add NX mask for PTE entry
  [PATCH] x86-64: Speed up dwarf2 unwinder
  [PATCH] x86: Use -maccumulate-outgoing-args
  [PATCH] x86-64: fix page align in e820 allocator
  [PATCH] x86-64: Fix for arch/x86_64/pci/Makefile CFLAGS
  [PATCH] i386: fix .cfi_signal_frame copy-n-paste error
  [PATCH] x86-64: typo in __assign_irq_vector when updating pos for vector and offset
  [PATCH] x86-64: x86_64 hot-add memory srat.c fix
  [PATCH] i386: Update defconfig
  [PATCH] x86-64: Update defconfig

18 years ago[PATCH] NFS: Cache invalidation fixup
Trond Myklebust [Sat, 21 Oct 2006 17:24:24 +0000 (10:24 -0700)] 
[PATCH] NFS: Cache invalidation fixup

If someone has renamed a directory on the server, triggering the d_move
code in d_materialise_unique(), then we need to invalidate the cached
directory information in the source parent directory.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Maneesh Soni <maneesh@in.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] VFS: Make d_materialise_unique() enforce directory uniqueness
Trond Myklebust [Sat, 21 Oct 2006 17:24:20 +0000 (10:24 -0700)] 
[PATCH] VFS: Make d_materialise_unique() enforce directory uniqueness

If the caller tries to instantiate a directory using an inode that already
has a dentry alias, then we attempt to rename the existing dentry instead
of instantiating a new one.  Fail with an ELOOP error if the rename would
affect one of our parent directories.

This behaviour is needed in order to avoid issues such as

  http://bugzilla.kernel.org/show_bug.cgi?id=7178

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: Miklos Szeredi <miklos@szeredi.hu>
Cc: Maneesh Soni <maneesh@in.ibm.com>
Cc: Dipankar Sarma <dipankar@in.ibm.com>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cciss: Fix warnings (and bug on 1TB discs)
Matthew Wilcox [Sat, 21 Oct 2006 17:24:19 +0000 (10:24 -0700)] 
[PATCH] cciss: Fix warnings (and bug on 1TB discs)

CCISS was producing warnings about shifts being greater than the size of
the type and pointers being of incompatible type.  Turns out this is
because it's calling do_div on a 32-bit quantity.  Upon further
investigation, the sector_t total_size is being assigned to an int, and
then we're calling do_div on that int.  Obviously, sector_div is called for
here, and I took the chance to refactor the code a little.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Acked-by: Mike Miller <mike.miller@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] i2o/exec-osm.c: use "unsigned long flags;"
Alexey Dobriyan [Sat, 21 Oct 2006 17:24:17 +0000 (10:24 -0700)] 
[PATCH] i2o/exec-osm.c: use "unsigned long flags;"

Just like everyone else.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] cpuset: mempolicy migration typo fix
Paul Jackson [Sat, 21 Oct 2006 17:24:17 +0000 (10:24 -0700)] 
[PATCH] cpuset: mempolicy migration typo fix

Mistyped an ifdef CONFIG_CPUSETS - fixed.

I doubt that anyone ever noticed.  The impact of this typo was
that if someone:
 1) was using MPOL_BIND to force off node allocations
 2) while using cpusets to constrain memory placement
 3) when that cpuset was migrating that jobs memory
 4) while the tasks in that job were actively forking
then there was a rare chance that future allocations using
that MPOL_BIND policy would be node local, not off node.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Slab: Do not fallback to nodes that have not been bootstrapped yet
Christoph Lameter [Sat, 21 Oct 2006 17:24:16 +0000 (10:24 -0700)] 
[PATCH] Slab: Do not fallback to nodes that have not been bootstrapped yet

The zonelist may contain zones of nodes that have not been bootstrapped and
we will oops if we try to allocate from those zones.  So check if the node
information for the slab and the node have been setup before attempting an
allocation.  If it has not been setup then skip that zone.

Usually we will not encounter this situation since the slab bootstrap code
avoids falling back before we have setup the respective nodes but we seem
to have a special needs for pppc.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Acked-by: Andy Whitcroft <apw@shadowen.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Mike Kravetz <kravetz@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Reintroduce NODES_SPAN_OTHER_NODES for powerpc
Andy Whitcroft [Sat, 21 Oct 2006 17:24:14 +0000 (10:24 -0700)] 
[PATCH] Reintroduce NODES_SPAN_OTHER_NODES for powerpc

Reintroduce NODES_SPAN_OTHER_NODES for powerpc

Revert "[PATCH] Remove SPAN_OTHER_NODES config definition"
    This reverts commit f62859bb6871c5e4a8e591c60befc8caaf54db8c.
Revert "[PATCH] mm: remove arch independent NODES_SPAN_OTHER_NODES"
    This reverts commit a94b3ab7eab4edcc9b2cb474b188f774c331adf7.

Also update the comments to indicate that this is still required
and where its used.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Mike Kravetz <kravetz@us.ibm.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Acked-by: Mel Gorman <mel@csn.ul.ie>
Acked-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] ibmveth: Fix index increment calculation
David Gibson [Sat, 21 Oct 2006 17:24:13 +0000 (10:24 -0700)] 
[PATCH] ibmveth: Fix index increment calculation

The recent commit 751ae21c6cd1493e3d0a4935b08fb298b9d89773 introduced a bug
in the producer/consumer index calculation in the ibmveth driver -
incautious use of the post-increment ++ operator resulted in an increment
being immediately reverted.  This patch corrects the logic.

Without this patch, the driver oopses almost immediately after activation
on at least some machines.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Acked-by: Santiago Leon <santil@us.ibm.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] pci: declare pci_get_device_reverse()
Andrew Morton [Sat, 21 Oct 2006 17:24:12 +0000 (10:24 -0700)] 
[PATCH] pci: declare pci_get_device_reverse()

We seem to have lost the declaration of pci_get_device_reverse(), if we ever
had one.

Add a CONFIG_PCI=0 stub too.

Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] clocksource: acpi_pm: add another greylist chipset
Daniel Walker [Sat, 21 Oct 2006 17:24:10 +0000 (10:24 -0700)] 
[PATCH] clocksource: acpi_pm: add another greylist chipset

I have an acpi_pm that goes backwards, but it's not intel.  I tested the
verified read and my acpi_pm started to function properly.  So I added it
to the greylist.  I'm assuming that's the right spot.

I also added an unlikely() to the while, cause it seems appropriate.

Signed-off-by: Daniel Walker <dwalker@mvista.com>
Acked-by: John Stultz <johnstul@us.ibm.com>
Acked-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] md: endian annotations for the bitmap superblock
NeilBrown [Sat, 21 Oct 2006 17:24:09 +0000 (10:24 -0700)] 
[PATCH] md: endian annotations for the bitmap superblock

And a couple of bug fixes found by sparse.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] md: endian annotation for v1 superblock access
NeilBrown [Sat, 21 Oct 2006 17:24:08 +0000 (10:24 -0700)] 
[PATCH] md: endian annotation for v1 superblock access

Includes a couple of bugfixes found by sparse.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] md: add another COMPAT_IOCTL for md
NeilBrown [Sat, 21 Oct 2006 17:24:08 +0000 (10:24 -0700)] 
[PATCH] md: add another COMPAT_IOCTL for md

..  so that you can use bitmaps with 32bit userspace on a 64 bit kernel.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] md: fix calculation of ->degraded for multipath and raid10
NeilBrown [Sat, 21 Oct 2006 17:24:07 +0000 (10:24 -0700)] 
[PATCH] md: fix calculation of ->degraded for multipath and raid10

Two less-used md personalities have bugs in the calculation of ->degraded (the
extent to which the array is degraded).

Signed-off-by: Neil Brown <neilb@suse.de>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] drivers/ide/pci/generic.c: re-add the __setup("all-generic-ide",...)
Adrian Bunk [Sat, 21 Oct 2006 17:24:06 +0000 (10:24 -0700)] 
[PATCH] drivers/ide/pci/generic.c: re-add the __setup("all-generic-ide",...)

The change from __setup() to module_param_named() requires users to prefix
the option with "generic.".

This patch re-adds the __setup() additionally to the module_param_named().

Usually it would make sense getting rid of such an obsolete __setup() at
some time, but considering that drivers/ide/ is slowly approaching a RIP
status it's already implicitely scheduled for removal.

This patch fixes kernel Bugzilla #7353.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Char: correct pci_get_device changes
Jiri Slaby [Sat, 21 Oct 2006 17:24:01 +0000 (10:24 -0700)] 
[PATCH] Char: correct pci_get_device changes

Commits 881a8c120acf7ec09c90289e2996b7c70f51e996 and
efe1ec27837d6639eae82e1f5876910ba6433c3f corrects pci device matching in
only one way; it no longer oopses/crashes, despite hotplug is not solved
in these changes.

Whenever pci_find_device -> pci_get_device change is performed, also
pci_dev_get and pci_dev_put should be in most cases called to properly
handle hotplug.  This patch does exactly this thing -- increase refcount
to let kernel know, that we are using this piece of HW just now.

It affects moxa and rio char drivers.

Cc: <R.E.Wolff@BitWizard.nl>
Acked-by: Amit Gud <gud@eth.net>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Acked-by: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] libata-sff: Allow for wacky systems
Alan Cox [Mon, 16 Oct 2006 15:24:50 +0000 (16:24 +0100)] 
[PATCH] libata-sff: Allow for wacky systems

There are some Linux supported platforms that simply cannot hit the low
I/O addresses used by ATA legacy mode PCI mappings. These platforms have
a window for PCI space that is fixed by the board logic and doesn't
include the neccessary locations.

Provide a config option so that such platforms faced with a controller
that they cannot support simply error it and punt

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] ahci: readability tweak
Alan Cox [Mon, 16 Oct 2006 15:21:40 +0000 (16:21 +0100)] 
[PATCH] ahci: readability tweak

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] libata: typo fix
Tejun Heo [Thu, 19 Oct 2006 05:44:53 +0000 (14:44 +0900)] 
[PATCH] libata: typo fix

Typo fix in commment.

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] ATA must depend on BLOCK
Adrian Bunk [Fri, 20 Oct 2006 21:39:35 +0000 (14:39 -0700)] 
[PATCH] ATA must depend on BLOCK

Fix the following compile error with CONFIG_ATA=y, CONFIG_BLOCK=n:

...
  CC      drivers/ata/libata-scsi.o
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_dev_config’:
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:791: warning: implicit declaration of function ‘blk_queue_max_sectors’
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘request_queue_t’ undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: (Each undeclared identifier is reported only once
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: for each function it appears in.)
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:799: error: ‘q’ undeclared (first use in this function)
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:800: warning: implicit declaration of function ‘blk_queue_max_hw_segments’
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c: In function ‘ata_scsi_slave_config’:
/home/bunk/linux/kernel-2.6/git/linux-2.6/drivers/ata/libata-scsi.c:831:
warning: implicit declaration of function ‘blk_queue_max_phys_segments’
make[3]: *** [drivers/ata/libata-scsi.o] Error 1

Bug report by Jesper Juhl.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] libata: use correct map_db values for ICH8
Kristen Carlson Accardi [Thu, 19 Oct 2006 20:27:39 +0000 (13:27 -0700)] 
[PATCH] libata: use correct map_db values for ICH8

Use valid values for ICH8 map_db.  With the old values, when the
controller was in Native mode, and SCC was 1 (drives configured for
IDE), any drive plugged into a slave port was not recognized.  For
Combined Mode (and SCC is still 1), 2 is a value value for MAP.map_value,
and needs to be recognized.

Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] ibmveth: Fix index increment calculation
David Gibson [Fri, 13 Oct 2006 04:20:59 +0000 (14:20 +1000)] 
[PATCH] ibmveth: Fix index increment calculation

On Thu, Oct 12, 2006 at 06:22:14PM +1000, David Gibson wrote:
> Your recent ibmveth commit, 751ae21c6cd1493e3d0a4935b08fb298b9d89773
> ("fix int rollover panic"), causes a rapid oops on my test machine
> (POWER5 LPAR).
>
> I've bisected it down to that commit, but am still investigating the
> cause of the crash itself.

Found the problem, I believe: an object lesson in the need for great
caution using ++.

[...]
@@ -213,6 +213,7 @@ static void ibmveth_replenish_buffer_poo
  }

  free_index = pool->consumer_index++ % pool->size;
+ pool->consumer_index = free_index;
  index = pool->free_map[free_index];

  ibmveth_assert(index != IBM_VETH_INVALID_MAP);

Since the ++ is used as post-increment, the increment is not included
in free_index, and so the added line effectively reverts the
increment.  The produced_index side has an analagous bug.

The following change corrects this:

The recent commit 751ae21c6cd1493e3d0a4935b08fb298b9d89773 introduced
a bug in the producer/consumer index calculation in the ibmveth driver
- incautious use of the post-increment ++ operator resulted in an
increment being immediately reverted.  This patch corrects the logic.

Without this patch, the driver oopses almost immediately after
activation on at least some machines.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoMerge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linvil...
Jeff Garzik [Sat, 21 Oct 2006 18:21:11 +0000 (14:21 -0400)] 
Merge branch 'upstream-fixes' of git://git./linux/kernel/git/linville/wireless-2.6 into upstream-fixes

18 years ago[PATCH] Fix timer race
Ralf Baechle [Wed, 18 Oct 2006 01:15:37 +0000 (02:15 +0100)] 
[PATCH] Fix timer race

When closing the driver or reinitializing the hardware there is the
usual del_timer() race condition that exists when timers re-add
themselves.  Fix by conversion to del_timer_sync().

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] Remove useless comment from sb1250
Dave Jones [Wed, 18 Oct 2006 04:30:27 +0000 (00:30 -0400)] 
[PATCH] Remove useless comment from sb1250

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoMerge tag 'jg-20061012-00' of git://electric-eye.fr.zoreil.com/home/romieu/linux...
Jeff Garzik [Sat, 21 Oct 2006 18:16:11 +0000 (14:16 -0400)] 
Merge tag 'jg-20061012-00' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 into tmp

18 years agoMerge branch 'we21-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
Jeff Garzik [Sat, 21 Oct 2006 18:11:15 +0000 (14:11 -0400)] 
Merge branch 'we21-fix' of git://git./linux/kernel/git/linville/wireless-2.6 into tmp

18 years ago[PATCH] ucc_geth: changes to ucc_geth driver as a result of qe_lib changes and bugfixes
Li Yang [Fri, 20 Oct 2006 02:07:34 +0000 (21:07 -0500)] 
[PATCH] ucc_geth: changes to ucc_geth driver as a result of qe_lib changes and bugfixes

changes due to qe_lib changes include:

o removed inclusion of platform header file
o removed platform_device code, replaced with of_device
o removed typedefs
o uint -> u32 conversions
o removed following defines:
  QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER,
  BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET
  because they hid sizeof/in_be32/out_be32 operations from the reader.
o removed irrelevant comments, added others to resemble removed BD_ defines
o const'd and uncasted all get_property() assignments

bugfixes, courtesy of Scott Wood, include:

- Read phy_address as a u32, not u8.
- Match on type == "network" as well as compatible == "ucc_geth", as
  device_is_compatible() will only compare up to the length of the
  test string, allowing "ucc_geth_phy" to match as well.
- fixes the MAC setting code in ucc_geth.c.  The old code was overwriting and dereferencing random stack contents.

Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] sky2: 88E803X transmit lockup
Stephen Hemminger [Sat, 21 Oct 2006 00:06:11 +0000 (17:06 -0700)] 
[PATCH] sky2: 88E803X transmit lockup

The reason sky2 driver was locking up on transmit on the Yukon-FE chipset
is that it was misconfiguring the internal RAM buffer so the transmitter
and receiver were sharing the same space.

The code assumed there was 16K of RAM on Yukon-FE (taken from vendor driver
sk98lin which is even more f*cked up on this). Then it assigned based on that.
The giveaway was that the registers would only hold 9bits so both RX/TX
had 0..1ff for space. It is a wonder it worked at all!

This patch addresses this, and fixes an easily reproducible hang on Transmit.
Only the Yukon-FE chip is Marvell 88E803X (10/100 only) are affected.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] e1000: Reset all functions after a PCI error
Linas Vepstas [Fri, 20 Oct 2006 21:42:14 +0000 (14:42 -0700)] 
[PATCH] e1000: Reset all functions after a PCI error

During the handling of the PCI error recovery sequence, the current e1000
driver erroneously blocks a device reset for any but the first PCI
function.  It shouldn't -- this is a cut-n-paste error from a different
driver (which tolerated only one hardware reset per hardware card).

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Acked-by: Auke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] WAN/pc300: handle, propagate minor errors
Jeff Garzik [Fri, 20 Oct 2006 21:43:15 +0000 (14:43 -0700)] 
[PATCH] WAN/pc300: handle, propagate minor errors

- move definition of 'tmc' and 'br' locals closer to usage

- handle clock_rate_calc() error

- propagate errors back to upper level open routine

Signed-off-by: Jeff Garzik <jeff@garzik.org>
Cc: Krzysztof Halasa <khc@pm.waw.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[PATCH] Update smc91x driver with ARM Versatile board info
Deepak Saxena [Fri, 20 Oct 2006 21:42:04 +0000 (14:42 -0700)] 
[PATCH] Update smc91x driver with ARM Versatile board info

We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new
generic IRQ layer will complain thusly:

No IRQF_TRIGGER set_type function for IRQ 25 (<NULL>)

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Nicolas Pitre <nico@cam.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoMerge branch 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block
Linus Torvalds [Sat, 21 Oct 2006 17:01:52 +0000 (10:01 -0700)] 
Merge branch 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block

* 'splice' of git://brick.kernel.dk/data/git/linux-2.6-block:
  [PATCH] Remove SUID when splicing into an inode
  [PATCH] Add lockless helpers for remove_suid()
  [PATCH] Introduce generic_file_splice_write_nolock()
  [PATCH] Take i_mutex in splice_from_pipe()

18 years ago[PATCH] x86-64: Revert timer routing behaviour back to 2.6.16 state
Andi Kleen [Sat, 21 Oct 2006 16:37:03 +0000 (18:37 +0200)] 
[PATCH] x86-64: Revert timer routing behaviour back to 2.6.16 state

By default route the 8254 over the 8259 and only disable
it on ATI boards where this causes double timer interrupts.

This should unbreak some Nvidia boards where the timer doesn't
seem to tick of it isn't enabled in the 8259. At least one
VIA board also seemed to have a little trouble with the disabled
8259.

For 2.6.20 we'll try both dynamically without black listing, but I think
for .19 this is the safer approach because it has been already well tested
in earlier kernels. This also makes the x86-64 behaviour the same
as i386.

Command line options can change all this of course.

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Overlapping program headers in physical addr space fix
Vivek Goyal [Sat, 21 Oct 2006 16:37:03 +0000 (18:37 +0200)] 
[PATCH] x86-64: Overlapping program headers in physical addr space fix

o A recent change to vmlinux.ld.S file broke kexec as now resulting vmlinux
  program headers are overlapping in physical address space.

o Now all the vsyscall related sections are placed after data and after
  that mostly init data sections are placed. To avoid physical overlap
  among phdrs, there are three possible solutions.
- Place vsyscall sections also in data phdrs instead of user
- move vsyscal sections after init data in bss.
- create another phdrs say data.init and move all the sections
  after vsyscall into this new phdr.

o This patch implements the third solution.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Magnus Damm <magnus@valinux.co.jp>
Cc: Andi Kleen <ak@suse.de>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH] x86-64: Put more than one cpu in TARGET_CPUS
Eric W. Biederman [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86-64: Put more than one cpu in TARGET_CPUS

TARGET_CPUS is the default irq routing poicy.  It specifies which cpus the
kernel should aim an irq at.  In physflat delivery mode we can route an irq to
a single cpu.  But that doesn't mean our default policy should only be a
single cpu is allowed.

By allowing the irq routing code to select from multiple cpus this enables
systems with more irqs then we can service on a single processor to actually
work.

I just audited and tested the code and irqbalance doesn't care, and the
io_apic.c doesn't care if we have extra cpus in the mask.  Everything will use
or assume we are using the lowest numbered cpu in the mask if we can't use
them all.

So this should result in no behavior changes except on systems that need it.

Thanks for YH Lu for spotting this problem in his testing.

Cc: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86: Revert new unwind kernel stack termination
Andi Kleen [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86: Revert new unwind kernel stack termination

Jan convinced me that it was unnecessary because the assembly stubs do
this already on the stack.

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Use irq_domain in ioapic_retrigger_irq
Eric W. Biederman [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86-64: Use irq_domain in ioapic_retrigger_irq

Thanks to YH Lu for spotting this.  It appears I missed this function when I
refactored allocate_irq_vector and introduced irq_domain, with the result that
all retriggered irqs would go to cpu 0 even if we were not prepared to receive
them there.

While reviewing YH's patch I also noticed that this function was missing
locking, and since I am now reading two values from two diffrent arrays that
looks like a race we might be able to hit in the real world.

Cc: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] i386: Disable nmi watchdog on all ThinkPads
Andi Kleen [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] i386: Disable nmi watchdog on all ThinkPads

Even newer Thinkpads have bugs in SMM code that causes hangs with
NMI watchdog.

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Revert interrupt backlink changes
Andi Kleen [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86-64: Revert interrupt backlink changes

They break more than they fix
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Fix ENOSYS in system call tracing
Jan Beulich [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86-64: Fix ENOSYS in system call tracing

This patch:

- out of range system calls failing to return -ENOSYS under
  system call tracing

[AK: split out from another patch by Jan as separate bugfix]

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] i386: Fix fake return address
Jeremy Fitzhardinge [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] i386: Fix fake return address

The fake return address was being set to __KERNEL_PDA, rather than 0.
Push it earlier while %eax still equals 0.

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@muc.de>
Cc: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH] x86-64: x86_64 add NX mask for PTE entry
bibo,mao [Sat, 21 Oct 2006 16:37:02 +0000 (18:37 +0200)] 
[PATCH] x86-64: x86_64 add NX mask for PTE entry

    If function change_page_attr_addr calls revert_page to revert
to original pte value, mk_pte_phys does not mask NX bit. If NX bit
is set on no NX hardware supported x86_64 machine, there is will
be RSVD type page fault and system will crash. This patch adds NX
mask bit for PTE entry.

Signed-off-by: bibo,mao <bibo.mao@intel.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Speed up dwarf2 unwinder
Jan Beulich [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86-64: Speed up dwarf2 unwinder

This changes the dwarf2 unwinder to do a binary search for CIEs
instead of a linear work. The linker is unfortunately not
able to build a proper lookup table at link time, instead it creates
one at runtime as soon as the bootmem allocator is usable (so you'll continue
using the linear lookup for the first [hopefully] few calls).
The code should be ready to utilize a build-time created table once
a fixed linker becomes available.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86: Use -maccumulate-outgoing-args
Andi Kleen [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86: Use -maccumulate-outgoing-args

This avoids some problems with gcc 4.x and earlier generating
invalid unwind information. In 4.1 the option is default
when unwind information is enabled.

And it seems to generate smaller code too, so it's probably
a good thing on its own. With gcc 4.0:

i386:
4683198  902112  480868 6066178  5c9002 vmlinux (before)
4449895  902112  480868 5832875  5900ab vmlinux (after)

x86-64:
4939761 1449584  648216 7037561  6b6279 vmlinux (before)
4854193 1449584  648216 6951993  6a1439 vmlinux (after)

On 4.1 it shouldn't make much difference because it is
default when unwind is enabled anyways.

Suggested by Michael Matz and Jan Beulich

Cc: jbeulich@novell.com
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: fix page align in e820 allocator
Vivek Goyal [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86-64: fix page align in e820 allocator

Currently some code pieces assume that address returned by find_e820_area()
are page aligned.  But looks like find_e820_area() had no such intention
and hence one might end up stomping over some of the data.  One such case
is bootmem allocator initialization code stomped over bss.

This patch modified find_e820_area() to return page aligned address.  This
might be little wasteful of memory but at the same time probably it is
easier to handle page aligned memory.

Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH] x86-64: Fix for arch/x86_64/pci/Makefile CFLAGS
Corey Minyard [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86-64: Fix for arch/x86_64/pci/Makefile CFLAGS

The arch/x86_64/pci directory was giving problems in a wierd cross-compile
environment.  The exact cause is unknown, but the Makefile used CFLAGS
instead of EXTRA_CFLAGS.  From what I can tell from
Documentation/kbuild/makefiles.txt, CFLAGS should not be used for this, it
should be EXTRA_CFLAGS.  And it solves the cross-compile problem.

Signed-off-by: Corey Minyard <cminyard@mvista.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@muc.de>
Cc: Vojtech Pavlik <vojtech@suse.cz>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
18 years ago[PATCH] i386: fix .cfi_signal_frame copy-n-paste error
Andrew Morton [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] i386: fix .cfi_signal_frame copy-n-paste error

This was copied, pasted but not edited.

Cc: Andi Kleen <ak@muc.de>
Cc: Jan Beulich <jbeulich@novell.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: typo in __assign_irq_vector when updating pos for vector and offset
Yinghai Lu [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86-64: typo in __assign_irq_vector when updating pos for vector and offset

typo with cpu instead of new_cpu

Signed-off-by: Yinghai Lu <yinghai.lu@amd.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: x86_64 hot-add memory srat.c fix
keith mannthey [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] x86-64: x86_64 hot-add memory srat.c fix

  This patch corrects the logic used in srat.c to figure out what
parsing what action to take when registering hot-add areas.  Hot-add
areas should only be added to the node information for the
MEMORY_HOTPLUG_RESERVE case.  When booting MEMORY_HOTPLUG_SPARSE hot-add
areas on everything but the last node are getting include in the node
data and during kernel boot the pages are setup then the kernel dies
when the pages are used. This patch fixes this issue.

Signed-off-by: Keith Mannthey <kmannth@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] i386: Update defconfig
Andi Kleen [Sat, 21 Oct 2006 16:37:01 +0000 (18:37 +0200)] 
[PATCH] i386: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] x86-64: Update defconfig
Andi Kleen [Sat, 21 Oct 2006 16:37:00 +0000 (18:37 +0200)] 
[PATCH] x86-64: Update defconfig

Signed-off-by: Andi Kleen <ak@suse.de>
18 years ago[PATCH] fix PXA2xx UDC compilation error
Nicolas Pitre [Fri, 20 Oct 2006 21:20:17 +0000 (14:20 -0700)] 
[PATCH] fix PXA2xx UDC compilation error

This was apparently missed by the move to the generic IRQ code.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years ago[PATCH] Fix up rpaphp driver for pci hotplug header move
Olaf Hering [Fri, 20 Oct 2006 07:23:05 +0000 (09:23 +0200)] 
[PATCH] Fix up rpaphp driver for pci hotplug header move

Use grep instead of make during interface changes.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
18 years agoconfigfs: handle kzalloc() failure in check_perm()
Chandra Seetharaman [Tue, 10 Oct 2006 22:15:55 +0000 (15:15 -0700)] 
configfs: handle kzalloc() failure in check_perm()

check_perm() does not drop the reference to the module when kzalloc()
failure occurs.

Signed-Off-By: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>