]> pilppa.org Git - linux-2.6-omap-h63xx.git/log
linux-2.6-omap-h63xx.git
18 years agoOMAP34xx USB: fix compile breakage in TLL mode
Paul Walmsley [Thu, 21 Feb 2008 00:12:18 +0000 (16:12 -0800)]
OMAP34xx USB: fix compile breakage in TLL mode

drivers/usb/host/ehci-omap.c in the git tree doesn't compile when
CONFIG_OMAP_EHCI_PHY_MODE is disabled; error message is enclosed below.
Fix the bug, and while there, rearrange the source code to reduce code
duplication and function size.

Also some minor modifications as per David Brownell's comments.

Signed-off-by: Paul Walmsley <paul@pwsan.com>
Acked-by: Vikram Pandita <vikram.pandita@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoCBUS: Fix retu-headset driver by not using removed input_dev->cdev field
Jarkko Nikula [Mon, 18 Feb 2008 07:37:26 +0000 (09:37 +0200)]
CBUS: Fix retu-headset driver by not using removed input_dev->cdev field

cdev field was removed recently so use input_dev->dev.parent instead when
specifying device position in sysfs tree.

Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
18 years agoMerge current mainline tree into linux-omap tree
Tony Lindgren [Thu, 21 Feb 2008 00:06:31 +0000 (16:06 -0800)]
Merge current mainline tree into linux-omap tree

Merge branches 'master' and 'linus'

18 years agop54usb: add USB ID for Linksys WUSB54G ver 2
John W. Linville [Wed, 20 Feb 2008 20:06:02 +0000 (15:06 -0500)]
p54usb: add USB ID for Linksys WUSB54G ver 2

Based on report from Cavan Carroll <cavancarroll@hotmail.com>:

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

Cc: Cavan Carroll <cavancarroll@hotmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years agop54usb: add USB ID for Phillips CPWUA054
Ivo Couckuyt [Wed, 20 Feb 2008 19:58:00 +0000 (14:58 -0500)]
p54usb: add USB ID for Phillips CPWUA054

Retarget of an old patch against prism54usb in linux-wireless archive:

http://marc.info/?l=linux-wireless&m=117449935810254&w=2

Cc: Ivo Couckuyt <iv0co@yahoo.co.uk>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
18 years agonfs: fix sparse warnings
Harvey Harrison [Wed, 20 Feb 2008 21:03:05 +0000 (13:03 -0800)]
nfs: fix sparse warnings

fs/nfs/nfs4state.c:788:34: warning: Using plain integer as NULL pointer
fs/nfs/delegation.c:52:34: warning: Using plain integer as NULL pointer
fs/nfs/idmap.c:312:12: warning: Using plain integer as NULL pointer
fs/nfs/callback_xdr.c:257:6: warning: Using plain integer as NULL pointer
fs/nfs/callback_xdr.c:270:6: warning: Using plain integer as NULL pointer
fs/nfs/callback_xdr.c:281:6: warning: Using plain integer as NULL pointer

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
18 years ago[IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting)
Hidetoshi Seto [Tue, 29 Jan 2008 05:27:30 +0000 (14:27 +0900)]
[IA64] VIRT_CPU_ACCOUNTING (accurate cpu time accounting)

This patch implements VIRT_CPU_ACCOUNTING for ia64,
which enable us to use more accurate cpu time accounting.

The VIRT_CPU_ACCOUNTING is an item of kernel config, which s390
and powerpc arch have.  By turning this config on, these archs
change the mechanism of cpu time accounting from tick-sampling
based one to state-transition based one.

The state-transition based accounting is done by checking time
(cycle counter in processor) at every state-transition point,
such as entrance/exit of kernel, interrupt, softirq etc.
The difference between point to point is the actual time consumed
during in the state. There is no doubt about that this value is
more accurate than that of tick-sampling based accounting.

Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
18 years agoNFS: flush signals before taking down callback thread
Jeff Layton [Tue, 19 Feb 2008 17:51:35 +0000 (12:51 -0500)]
NFS: flush signals before taking down callback thread

Now that the reference counting on the callback thread is working as
expected, it uncovers another problem.  Peter Staubach noticed while
testing that patch on an older kernel that he would occasionally see
this printk in rpc_register fire:

    "RPC: failed to contact portmap (errno -512).

The NFSv4 callback thread is signaled by nfs_callback_down(), but never
flushes that signal. All of the shutdown processing is done with that
signal pending. This makes it fail the call to unregister the port with
the portmapper.

In actuality, this rpc_register call isn't necessary at all since the
port isn't actually registered with the portmapper anymore. Regardless,
there doesn't seem to be any reason to leave the signal pending while
the thread is being shut down and flushing it should generally silence
that printk.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
18 years agolibata: fix kernel-doc parameter warning
Randy Dunlap [Tue, 19 Feb 2008 21:43:21 +0000 (13:43 -0800)]
libata: fix kernel-doc parameter warning

Fix libata kernel-doc parameter:

Warning(linux-2.6.25-rc2-git3//drivers/ata/libata-scsi.c:845): No description found for parameter 'rq'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agosata_mv: remove iounmap in mv_platform_remove and use devm_iomap
Saeed Bishara [Mon, 18 Feb 2008 18:42:28 +0000 (07:42 -1100)]
sata_mv: remove iounmap in mv_platform_remove and use devm_iomap

this will fix crash bug when doing rmmod to the driver, this is because the
port_stop function get called later and it could access the device's registers.

Signed-off-by: Saeed Bishara <saeed@marvell.com>
Acked-by: Mark Lord <mlord@pobox.com>
Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoata: fix sparse warning in libata.h
Harvey Harrison [Fri, 15 Feb 2008 21:41:32 +0000 (13:41 -0800)]
ata: fix sparse warning in libata.h

Avoids lots of these, also is more readable.
include/linux/libata.h:1210:13: warning: potentially expensive pointer subtraction

Change the subtraction to addition on the other side of the comparison.

Thanks to Christer Weinigel for the suggestion.

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Acked-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agolibata: implement libata.force module parameter
Tejun Heo [Wed, 13 Feb 2008 00:15:09 +0000 (09:15 +0900)]
libata: implement libata.force module parameter

This patch implements libata.force module parameter which can
selectively override ATA port, link and device configurations
including cable type, SATA PHY SPD limit, transfer mode and NCQ.

For example, you can say "use 1.5Gbps for all fan-out ports attached
to the second port but allow 3.0Gbps for the PMP device itself, oh,
the device attached to the third fan-out port chokes on NCQ and
shouldn't go over UDMA4" by the following.

 libata.force=2:1.5g,2.15:3.0g,2.03:noncq,udma4

Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agosata_mv: use hpriv->base instead of the host->iomap
Saeed Bishara [Wed, 13 Feb 2008 21:09:09 +0000 (10:09 -1100)]
sata_mv: use hpriv->base instead of the host->iomap

this fixes crash bug as the iomap table is not valid for integrated controllers.

Signed-off-by: Saeed Bishara <saeed@marvell.com>
Acked-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agosata_mv: Define module alias for platform device
Martin Michlmayr [Sat, 16 Feb 2008 17:15:27 +0000 (18:15 +0100)]
sata_mv: Define module alias for platform device

The sata_mv driver can be loaded as a platform device, as is done by
various Orion (ARM) based devices.  The driver needs to define a module
alias for the platform driver so udev will load it automatically.
Tested with Debian on a QNAP TS-209.

Signed-off-by: Martin Michlmayr <tbm@cyrius.com>
Acked-by: Mark Lord <mlord@pobox.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years agoata: fix sparse warnings in pata_legacy.c
Harvey Harrison [Thu, 14 Feb 2008 17:36:32 +0000 (09:36 -0800)]
ata: fix sparse warnings in pata_legacy.c

Use ld_qdi and ld_winbond to avoid shadowing static int
variables qdi and winbond.  The ld_ prefix refers to
legacy_data.

drivers/ata/pata_legacy.c:777:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:811:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:848:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:882:21: warning: symbol 'qdi' shadows an earlier one
drivers/ata/pata_legacy.c:128:12: originally declared here
drivers/ata/pata_legacy.c:1040:21: warning: symbol 'winbond' shadows an earlier one
drivers/ata/pata_legacy.c:129:12: originally declared here

Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
18 years ago[NETNS]: Namespace leak in pneigh_lookup.
Denis V. Lunev [Wed, 20 Feb 2008 08:26:16 +0000 (00:26 -0800)]
[NETNS]: Namespace leak in pneigh_lookup.

release_net is missed on the error path in pneigh_lookup.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SCTP]: Pick up an orphaned sctp_sockets_allocated counter.
Pavel Emelyanov [Wed, 20 Feb 2008 08:23:01 +0000 (00:23 -0800)]
[SCTP]: Pick up an orphaned sctp_sockets_allocated counter.

This counter is currently write-only.

Drawing an analogy with the similar tcp counter, I think
that this one should be pointed by the sockets_allocated
members of sctp_prot and sctpv6_prot.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoveth: fix dev refcount race
Daniel Lezcano [Wed, 20 Feb 2008 08:21:47 +0000 (00:21 -0800)]
veth: fix dev refcount race

When deleting the veth driver, veth_close calls netif_carrier_off
for the two extremities of the network device. netif_carrier_off on
the peer device will fire an event and hold a reference on the peer
device. Just after, the peer is unregistered taking the rtnl_lock while
the linkwatch_event is scheduled. If __linkwatch_run_queue does not
occurs before the unregistering, unregister_netdevice will wait for
the dev refcount to reach zero holding the rtnl_lock and linkwatch_event
will wait for the rtnl_lock and hold the dev refcount.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NIU]: More BMAC alt MAC address fixes.
Matheos Worku [Wed, 20 Feb 2008 08:18:09 +0000 (00:18 -0800)]
[NIU]: More BMAC alt MAC address fixes.

From: Matheos Worku <Matheos.Worku@Sun.COM>

1) niu_enable_alt_mac() needs to be adjusted so that the mask
   is computed properly for the BMAC case.

2) BMAC has 6 alt MAC addresses available, not 7.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[LMB]: Fix lmb_add_region if region should be added at the head
Kumar Gala [Wed, 20 Feb 2008 05:28:18 +0000 (21:28 -0800)]
[LMB]: Fix lmb_add_region if region should be added at the head

We introduced a bug in fixing lmb_add_region to handle an initial
region being non-zero.  Before that fix it was impossible to insert a
region at the head of the list since the first region always started
at zero.

Now that its possible for the first region to be non-zero we need to
check to see if the new region should be added at the head and if so
actually add it.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: More sparse warning fixes in process.c
David S. Miller [Wed, 20 Feb 2008 05:25:50 +0000 (21:25 -0800)]
[SPARC64]: More sparse warning fixes in process.c

arch/sparc64/kernel/process.c:504:17: warning: symbol 'sparc_do_fork' was not declared. Should it be static?
arch/sparc64/kernel/process.c:655:5: warning: symbol 'dump_fpu' was not declared. Should it be static?
arch/sparc64/kernel/process.c:708:16: warning: symbol 'sparc_execve' was not declared. Should it be static?

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: Fix sparse warning wrt. fault_in_user_windows.
David S. Miller [Wed, 20 Feb 2008 05:18:51 +0000 (21:18 -0800)]
[SPARC64]: Fix sparse warning wrt. fault_in_user_windows.

arch/sparc64/kernel/process.c:467:6: warning: symbol 'fault_in_user_windows' was not declared. Should it be static?

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: Kill show_regs32().
David S. Miller [Wed, 20 Feb 2008 05:18:08 +0000 (21:18 -0800)]
[SPARC64]: Kill show_regs32().

Unused, noticed via sparse.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: Fix sparse warnings wrt. __show_regs().
David S. Miller [Wed, 20 Feb 2008 04:48:58 +0000 (20:48 -0800)]
[SPARC64]: Fix sparse warnings wrt. __show_regs().

arch/sparc64/kernel/process.c:219:6: warning: symbol '__show_regs' was not declared. Should it be static?

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: Kill show_stackframe{,32}().
David S. Miller [Wed, 20 Feb 2008 04:42:11 +0000 (20:42 -0800)]
[SPARC64]: Kill show_stackframe{,32}().

Noticed via sparse:

arch/sparc64/kernel/process.c:215:6: warning: symbol 'show_stackframe' was not declared. Should it be static?
arch/sparc64/kernel/process.c:243:6: warning: symbol 'show_stackframe32' was not declared. Should it be static?

It is totally unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().
David S. Miller [Wed, 20 Feb 2008 04:39:18 +0000 (20:39 -0800)]
[SPARC64]: Fix sparse warnings wrt. machine_alt_power_off().

arch/sparc64/kernel/process.c:123:6: warning: symbol 'machine_alt_power_off' was not declared. Should it be static?

Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg}
Andre Detsch [Tue, 19 Feb 2008 13:06:15 +0000 (10:06 -0300)]
[POWERPC] cell: fix spurious false return from spu_trap_data_{map,seg}

At present, the __spufs_trap_data_map and __spu_trap_data_seq functions
exit if spu->flags has the SPU_CONTEXT_SWITCH_ACTIVE set. This was
resulting in suprious returns from these functions, as they may be
legitimately called when we have this bit set.

We only use it in these two sanity checks, so this change removes the
flag completely. This fixes hangs in the page-fault path of SPE apps.

Signed-off-by: Andre Detsch <adetsch@br.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
18 years ago[POWERPC] Fix warning in pseries/power.c
Stephen Rothwell [Wed, 20 Feb 2008 00:27:04 +0000 (11:27 +1100)]
[POWERPC] Fix warning in pseries/power.c

Introduced by commit 79393fc46ede43451a500a132e5de9856f5a4c83
("kobject: convert pseries/power.c to kobj_attr interface").

sys_create_file takes a "struct attrbute *" not a "struct
kobj_addribute *".

arch/powerpc/platforms/pseries/power.c: In function 'apo_pm_init':
arch/powerpc/platforms/pseries/power.c:78: warning: passing argument 2 of 'sysfs_create_file' from incompatible pointer type

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix bootwrapper builds with older gcc versions
Josh Boyer [Tue, 19 Feb 2008 02:52:48 +0000 (13:52 +1100)]
[POWERPC] Fix bootwrapper builds with older gcc versions

GCC versions before 3.4 did not support the -mcpu=440 option.  Use
-mcpu=405 for the 4xx specific bootwrapper files, as that has been
around for much longer.

Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Fix dt_mem_next_cell() to read the full address
Becky Bruce [Fri, 15 Feb 2008 18:17:14 +0000 (05:17 +1100)]
[POWERPC] Fix dt_mem_next_cell() to read the full address

dt_mem_next_cell() currently does of_read_ulong().  This does not
allow for the case where #size-cells and/or #address-cells = 2 on a
32-bit system, as it will end up reading 32 bits instead of the
expected 64.  Change it to use of_read_number instead and always
return a u64.

Signed-off-by: Becky Bruce <becky.bruce at freescale.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years ago[POWERPC] Kill sparse warnings in kprobes
Ananth N Mavinakayanahalli [Fri, 15 Feb 2008 10:59:17 +0000 (21:59 +1100)]
[POWERPC] Kill sparse warnings in kprobes

Fix sparse warnings in powerpc kprobes:

  CHECK   arch/powerpc/kernel/kprobes.c
arch/powerpc/kernel/kprobes.c:277:6: warning: symbol 'kretprobe_trampoline_holder' was not declared. Should it be static?
arch/powerpc/kernel/kprobes.c:287:15: warning: symbol 'trampoline_probe_handler' was not declared. Should it be static?
arch/powerpc/kernel/kprobes.c:525:16: warning: symbol 'jprobe_return_end' was not declared. Should it be static?

Fix along the same lines as http://lkml.org/lkml/2008/2/13/642

Signed-off-by: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
18 years agoMerge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Wed, 20 Feb 2008 02:29:57 +0000 (18:29 -0800)]
Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6

* 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:
  agp: fix missing casts that produced a warning.
  agp: add support for 662/671 to agp driver
  fix historic ioremap() abuse in AGP
  agp/sis: Suspend support for SiS AGP
  agp/sis: Clear bit 2 from aperture size byte as well

18 years agoMerge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied...
Linus Torvalds [Wed, 20 Feb 2008 01:48:51 +0000 (17:48 -0800)]
Merge branch 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm/sis: add pciid for SiS 662/671 chipset
  drm: add new rv380 pciid
  drm: add support for passing state into the suspend hooks.
  drm/i915: Fix hibernate save/restore of VGA attribute regs
  drm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)
  drm/i915: restore pipeconf regs unconditionally
  drm/i915: save/restore interrupt state
  drm: convert drm from nopage to fault.
  i915: wrap chipset types requiring hw status set ioctl
  drm/radeon: add initial rs690 support to drm.

18 years ago[NETFILTER]: Use __u32 in struct nf_inet_addr
Patrick McHardy [Wed, 20 Feb 2008 01:20:33 +0000 (17:20 -0800)]
[NETFILTER]: Use __u32 in struct nf_inet_addr

As reported by David Woodhouse <dwmw2@infradead.org>, using u_int32_t
in struct nf_inet_addr breaks the busybox build. Fix by using __u32.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: xt_iprange: fix subtraction-based comparison
Jan Engelhardt [Wed, 20 Feb 2008 01:20:06 +0000 (17:20 -0800)]
[NETFILTER]: xt_iprange: fix subtraction-based comparison

The host address parts need to be converted to host-endian first
before arithmetic makes any sense on them.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: xt_hashlimit: remove unneeded struct member
Jan Engelhardt [Wed, 20 Feb 2008 01:19:44 +0000 (17:19 -0800)]
[NETFILTER]: xt_hashlimit: remove unneeded struct member

By allocating ->hinfo, we already have the needed indirection to cope
with the per-cpu xtables struct match_entry.

[Patrick: do this now before the revision 1 struct is used by userspace]

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Make sure xt_policy.h is unifdef'ed.
Robert P. J. Day [Wed, 20 Feb 2008 01:19:14 +0000 (17:19 -0800)]
[NETFILTER]: Make sure xt_policy.h is unifdef'ed.

Since the header file xt_policy.h tests __KERNEL__, it should be
unifdef'ed before exporting to userspace.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: Fix incorrect use of skb_make_writable
Joonwoo Park [Wed, 20 Feb 2008 01:18:47 +0000 (17:18 -0800)]
[NETFILTER]: Fix incorrect use of skb_make_writable

http://bugzilla.kernel.org/show_bug.cgi?id=9920
The function skb_make_writable returns true or false.

Signed-off-by: Joonwoo Park <joonwpark81@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: xt_u32: drop the actually unused variable from u32_match_it
Pavel Emelyanov [Wed, 20 Feb 2008 01:18:20 +0000 (17:18 -0800)]
[NETFILTER]: xt_u32: drop the actually unused variable from u32_match_it

The int ret variable is used only to trigger the BUG_ON() after
the skb_copy_bits() call, so check the call failure directly
and drop the variable.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years ago[NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet...
Patrick McHardy [Wed, 20 Feb 2008 01:17:52 +0000 (17:17 -0800)]
[NETFILTER]: {ip,ip6,nfnetlink}_queue: fix SKB_LINEAR_ASSERT when mangling packet data

As reported by Tomas Simonaitis <tomas.simonaitis@gmail.com>,
inserting new data in skbs queued over {ip,ip6,nfnetlink}_queue
triggers a SKB_LINEAR_ASSERT in skb_put().

Going back through the git history, it seems this bug is present since
at least 2.6.12-rc2, probably even since the removal of
skb_linearize() for netfilter.

Linearize non-linear skbs through skb_copy_expand() when enlarging
them.  Tested by Thomas, fixes bugzilla #9933.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoACPI: TSC breaks atkbd suspend
Pavel Machek [Tue, 19 Feb 2008 10:00:29 +0000 (11:00 +0100)]
ACPI: TSC breaks atkbd suspend

TSC is used even on machines when CONFIG_X86_TSC is not set (X86_TSC
means _require_ TSC), but it is not properly disabled when it is
unusable, because ACPI code understood the config switch as "may use
TSC".

This actually fixes suspend problems on my x60.

Signed-off-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
18 years agoagp: fix missing casts that produced a warning.
Dave Airlie [Wed, 20 Feb 2008 00:37:08 +0000 (10:37 +1000)]
agp: fix missing casts that produced a warning.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agoipv4/fib_hash.c: fix NULL dereference
Adrian Bunk [Wed, 20 Feb 2008 00:28:54 +0000 (16:28 -0800)]
ipv4/fib_hash.c: fix NULL dereference

Unless I miss a guaranteed relation between between "f" and
"new_fa->fa_info" this patch is required for fixing a NULL dereference
introduced by commit a6501e080c318f8d4467679d17807f42b3a33cd5 ("[IPV4]
FIB_HASH: Reduce memory needs and speedup lookups") and spotted by the
Coverity checker.

Eric Dumazet says:

Hum, you are right, kmem_cache_free() doesnt allow a NULL
object, like kfree() does.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agonet/9p/trans_virtio.c: kmalloc() enough memory
Adrian Bunk [Wed, 20 Feb 2008 00:25:30 +0000 (16:25 -0800)]
net/9p/trans_virtio.c: kmalloc() enough memory

The Coverity checker spotted that less memory than required was
allocated.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoagp: add support for 662/671 to agp driver
Chaoyu Chen [Wed, 20 Feb 2008 00:18:46 +0000 (10:18 +1000)]
agp: add support for 662/671 to agp driver

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm/sis: add pciid for SiS 662/671 chipset
Chaoyu Chen [Wed, 20 Feb 2008 00:12:39 +0000 (10:12 +1000)]
drm/sis: add pciid for SiS 662/671 chipset

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years ago[RTNL]: Add missing link netlink attribute policy definitions
Thomas Graf [Wed, 20 Feb 2008 00:12:08 +0000 (16:12 -0800)]
[RTNL]: Add missing link netlink attribute policy definitions

IFLA_LINK is no longer a write-only attribute on the kernel side and
must thus be validated. Same goes for the newly introduced
IFLA_LINKINFO.

Fixes undefined behaviour if either of the attributes are not well
formed.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agodrm: add new rv380 pciid
Mirko [Wed, 20 Feb 2008 00:07:57 +0000 (10:07 +1000)]
drm: add new rv380 pciid

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm: add support for passing state into the suspend hooks.
Dave Airlie [Wed, 20 Feb 2008 00:02:20 +0000 (10:02 +1000)]
drm: add support for passing state into the suspend hooks.

fix i915 driver to use state for hibernate save avoidance.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86
Linus Torvalds [Tue, 19 Feb 2008 23:56:05 +0000 (15:56 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

* git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (32 commits)
  x86: fix page_is_ram() thinko
  x86: fix WARN_ON() message: teach page_is_ram() about the special 4Kb bios data page
  x86: i8259A: remove redundant irq_descinitialization
  x86: fix vdso_install breaks user "make install"
  x86: change IO delay back to 0x80
  x86: lds - Use THREAD_SIZE instead of numeric constant
  x86: lds - Use PAGE_SIZE instead of numeric constant
  x86 cleanup: suspend_asm_64.S - use X86_CR4_PGE instead of numeric value
  x86: docs fixes to Documentation/i386/IO-APIC.txt
  x86: fix printout ugliness in cpu info printk
  x86: clean up csum-wrappers_64.c some more
  x86: coding style fixes in arch/x86/lib/csum-wrappers_64.c
  x86: coding style fixes in arch/x86/lib/io_64.c
  x86: exclude vsyscall files from stackprotect
  x86: add pgd_large() on 64-bit, for consistency
  x86: minor cleanup of comments in processor.h
  x86: annotate pci/common.s:pci_scan_bus_with_sysdata with __devinit
  x86: fix section mismatch in head_64.S:initial_code
  x86: fix section mismatch in srat_64.c:reserve_hotadd
  x86: fix section mismatch warning in topology.c:arch_register_cpu
  ...

18 years agoMerge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
Linus Torvalds [Tue, 19 Feb 2008 23:54:22 +0000 (15:54 -0800)]
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus

* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus:
  [MIPS] BCM47XX: Use new SSB SPROM data structure
  [MIPS] WGT634U: Register MTD as platform device.
  [MIPS] BCM47xx: Add defconfig file.
  [MIPS] RM: fix EISA=n compilation
  [MIPS] PCI: Coding style fixes for pcibios_enable_resources.
  [MIPS] PCI: Port i386 PCI fixes.
  [MIPS] Qemu: finish platform removal
  [MIPS] Wire up the timerfd_*() o32 system calls
  [MIPS] IP28: Add defconfig file
  [MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure.
  [MIPS] BCM1480: Remove stray function call resulting in infinite recursion
  [MIPS] Fix buggy invocations of kmap_coherent()
  [MIPS] Fix broken rm7000/rm9000 interrupt handling
  [MIPS] Handle I-cache coherency in flush_cache_range()
  [MIPS] IP27: Add missing ~ in DMA code.
  [MIPS] Use find_task_by_vpid in system calls

18 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtens...
Linus Torvalds [Tue, 19 Feb 2008 23:53:02 +0000 (15:53 -0800)]
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/czankel/xtensa-2.6: (29 commits)
  [XTENSA] Allow debugger to modify the WINDOWBASE register.
  [XTENSA] Fix makefile to work with binutils-2.18.
  [XTENSA] Fix register corruption for certain processor configurations
  [XTENSA] Fix cache flush macro for D$/I$ aliasing/non-aliasing
  [XTENSA] Exclude thread-global registers from the xtregs structures.
  [XTENSA] Add support for the sa_restorer function
  [XTENSA] Add support for configurable registers and coprocessors
  [XTENSA] Clean up stat structs.
  [XTENSA] Use preprocessor to generate the linker script for the ELF boot image
  [XTENSA] Add missing RELOCATE_ENTRY for debug vector
  [XTENSA] Add volatile keyword to asm statements accessing counter registers
  [XTENSA] Remove unused code
  [XTENSA] Fix modules for non-exec processor configurations
  [XTENSA] Add missing cast in elf.h ELF_CORE_COPY_REGS()
  [XTENSA] Fix comments regarding the number of frames to save
  [XTENSA] Add missing a2 register restore in register spill routine
  [XTENSA] adjust boot linker script start addresses
  [XTENSA] Remove oldmask from sigcontext and fix register flush
  [XTENSA] Clean up elf-gregset.
  [XTENSA] Fix icache flush for cache aliasing
  ...

18 years agodm-raid1.c: fix NULL dereferences
Adrian Bunk [Tue, 19 Feb 2008 19:44:19 +0000 (19:44 +0000)]
dm-raid1.c: fix NULL dereferences

This patch fixes two NULL dereferences introduced by commit
06386bbfd2441416875d0403d405c56822f6ebac and spotted by the Coverity
checker.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMN10300: Update asb2303_defconfig
David Howells [Tue, 19 Feb 2008 18:59:04 +0000 (18:59 +0000)]
MN10300: Update asb2303_defconfig

Update the ASB2303 default configuration.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMN10300: Make the kernel jump into gdbstub on a BUG
David Howells [Tue, 19 Feb 2008 18:58:59 +0000 (18:58 +0000)]
MN10300: Make the kernel jump into gdbstub on a BUG

Make the kernel jump into gdbstub (if configured) on a BUG with the register
set from the BUG rather than interpolating another illegal instruction and
leaving gdbstub's idea of the process counter in unsupported_syscall() where
the original BUG was detected.

With this patch, gdbstub reports a SIGABRT to the compiler and reports the
program counter at the original BUG, allowing the execution state at the time
of the BUG to be examined with GDB.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMN10300: Introduce barriers to replace removed volatiles in gdbstub
David Howells [Tue, 19 Feb 2008 18:58:54 +0000 (18:58 +0000)]
MN10300: Introduce barriers to replace removed volatiles in gdbstub

Introduce into the MN10300 gdbstub a couple of barrier() calls to replace the
removed volatility of the input/output index variables for the Rx ring buffer.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMN10300: Call update_process_times() outside of the xtime_lock
David Howells [Tue, 19 Feb 2008 18:58:49 +0000 (18:58 +0000)]
MN10300: Call update_process_times() outside of the xtime_lock

Call update_process_times() outside of the xtime_lock.  Somewhere somewhere
inside one of the functions called by that, xtime_lock is readlocked, which
ends up in a deadlock situation.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
Linus Torvalds [Tue, 19 Feb 2008 23:50:11 +0000 (15:50 -0800)]
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Free correct MPT on error exit from mthca_fmr_alloc()
  IPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out

18 years agodrm/i915: Fix hibernate save/restore of VGA attribute regs
Jesse Barnes [Tue, 29 Jan 2008 05:05:22 +0000 (21:05 -0800)]
drm/i915: Fix hibernate save/restore of VGA attribute regs

In hibernate, we may end up calling the VGA save regs function twice, so we need to make sure it's idempotent.  That means leaving ARX in index mode after the first save operation.  Fixes hibernate on 965.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)
Keith Packard [Sun, 17 Feb 2008 03:19:29 +0000 (19:19 -0800)]
drm/i915 more registers for S3 (DSPCLK_GATE_D, CACHE_MODE_0, MI_ARB_STATE)

Failing to preserve the MI_ARB_STATE register was causing FIFO underruns on
the VGA output on my HP 2510p after resume.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm/i915: restore pipeconf regs unconditionally
Jesse Barnes [Fri, 8 Feb 2008 01:33:28 +0000 (17:33 -0800)]
drm/i915: restore pipeconf regs unconditionally

On many chipsets, the checks for DPLL enable or VGA mode will prevent the pipeconf regs from being restored, which could result in a blank display or X failing to come back after resume.  So restore them unconditionally along with actually restoring pipe B's palette correctly.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years agodrm/i915: save/restore interrupt state
Jesse Barnes [Tue, 19 Feb 2008 23:39:58 +0000 (09:39 +1000)]
drm/i915: save/restore interrupt state

On resume, if the interrupt state isn't restored correctly, we may end
up with a flood of unexpected or ill-timed interrupts, which could cause
the kernel to disable the interrupt or vblank events to happen at the
wrong time.  So save/restore them properly.

Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm: convert drm from nopage to fault.
Nick Piggin [Thu, 7 Feb 2008 06:20:50 +0000 (16:20 +1000)]
drm: convert drm from nopage to fault.

Remove redundant vma range checks.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agoi915: wrap chipset types requiring hw status set ioctl
Zhenyu Wang [Tue, 19 Feb 2008 10:59:09 +0000 (20:59 +1000)]
i915: wrap chipset types requiring hw status set ioctl

Also applys to recent added new chipset.

Signed-off-by: Zhenyu Wang <zhenyu.z.wang@intel.com>
Signed-off-by: Dave Airlie <airlied@linux.ie>
18 years agodrm/radeon: add initial rs690 support to drm.
Maciej Cencora [Tue, 19 Feb 2008 11:32:45 +0000 (21:32 +1000)]
drm/radeon: add initial rs690 support to drm.

This adds support for configuring the RS690 GART.

Signed-off-by: Dave Airlie <airlied@redhat.com>
18 years ago[NET]: Messed multicast lists after dev_mc_sync/unsync
Jorge Boncompte [DTI2] [Tue, 19 Feb 2008 22:17:04 +0000 (14:17 -0800)]
[NET]: Messed multicast lists after dev_mc_sync/unsync

Commit a0a400d79e3dd7843e7e81baa3ef2957bdc292d0 ("[NET]: dev_mcast:
add multicast list synchronization helpers") from you introduced a new
field "da_synced" to struct dev_addr_list that is not properly
initialized to 0. So when any of the current users (8021q, macvlan,
mac80211) calls dev_mc_sync/unsync they mess the address list for both
devices.

The attached patch fixed it for me and avoid future problems.

Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
18 years agoAdd missing init section definitions
Sam Ravnborg [Tue, 19 Feb 2008 20:00:18 +0000 (21:00 +0100)]
Add missing init section definitions

When adding __devinitconst etc. the __initconst variant
were missed.
Add this one and proper definitions for .head.text for use
in .S files.
The naming .head.text is preferred over .text.head as the
latter will conflict for a function named head when introducing
-ffunctions-sections.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
18 years agokbuild: fix reversed symbol name order in modpost
Geert Uytterhoeven [Sun, 17 Feb 2008 13:12:10 +0000 (14:12 +0100)]
kbuild: fix reversed symbol name order in modpost

XXXINIT_TO_INIT and XXXEXIT_TO_EXIT warnings use the reversed symbol name order
in the suggestion, e.g.:

    WARNING: vmlinux.o(.meminit.text+0x36c): Section mismatch in reference from the function free_area_init_core() to the function .init.text:setup_usemap()
    The function __meminit free_area_init_core() references
    a function __init setup_usemap().
    If free_area_init_core is only used by setup_usemap then
    annotate free_area_init_core with a matching annotation.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
18 years agoDocumentation: correction to debugging-via-ohci1394
Stefan Richter [Mon, 18 Feb 2008 20:38:35 +0000 (21:38 +0100)]
Documentation: correction to debugging-via-ohci1394

Rectify a factoid about firewire-ohci.

Acked-by: Ingo Molnar <mingo@elte.hu>
Also fix a typo spotted by Bernhard Kaindl.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
18 years agoieee1394: sbp2: fix rescan-scsi-bus
Stefan Richter [Sun, 17 Feb 2008 13:57:10 +0000 (14:57 +0100)]
ieee1394: sbp2: fix rescan-scsi-bus

rescan-scsi-bus used to add SBP-2 targets which weren't there.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
18 years agofirewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device
Stefan Richter [Tue, 19 Feb 2008 08:05:49 +0000 (09:05 +0100)]
firewire: fw-sbp2: fix NULL pointer deref. in scsi_remove_device

Fix a kernel bug when unplugging an SBP-2 device after having its
scsi_device already removed via the "delete" sysfs attribute.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
18 years agofirewire: fw-sbp2: fix NULL pointer deref. in slave_alloc
Stefan Richter [Sun, 17 Feb 2008 13:56:19 +0000 (14:56 +0100)]
firewire: fw-sbp2: fix NULL pointer deref. in slave_alloc

Fix a kernel bug when running rescan-scsi-bus while a FireWire disk is
connected:  http://bugzilla.kernel.org/show_bug.cgi?id=10008

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
18 years agofirewire: fw-sbp2: (try to) avoid I/O errors during reconnect
Stefan Richter [Sat, 16 Feb 2008 15:37:28 +0000 (16:37 +0100)]
firewire: fw-sbp2: (try to) avoid I/O errors during reconnect

While fw-sbp2 takes the necessary time to reconnect to a logical unit
after bus reset, the SCSI core keeps sending new commands.  They are all
immediately completed with host busy status, and application clients or
filesystems will break quickly.  The SCSI device might even be taken
offline:  http://bugzilla.kernel.org/show_bug.cgi?id=9734

The only remedy seems to be to block the SCSI device until reconnect.
Alas the SCSI core has no useful API to block only one logical unit i.e.
the scsi_device, therefore we block the entire Scsi_Host.  This
currently corresponds to an SBP-2 target.  In case of targets with
multiple logical units, we need to satisfy the dependencies between
logical units by carefully tracking the blocking state of the target and
its units.  We block all logical units of a target as soon as one of
them needs to be blocked, and keep them blocked until all of them are
ready to be unblocked.

Furthermore, as the history of the old sbp2 driver has shown, the
scsi_block_requests() API is a minefield with high potential of
deadlocks.  We therefore take extra measures to keep logical units
unblocked during __scsi_add_device() and during shutdown.

This avoids I/O errors during reconnect in many but alas not in all
cases.  There may still be errors after a re-login had to be performed.
Also, some bridges have been seen to cease fetching management ORBs if
I/O went on up until a bus reset.  In these cases, all management ORBs
time out after mgt_orb_timeout.  The old sbp2 driver is less vulnerable
or maybe not vulnerable to this, for as yet unknown reasons.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
18 years agoIB/mthca: Free correct MPT on error exit from mthca_fmr_alloc()
Roland Dreier [Tue, 19 Feb 2008 18:42:50 +0000 (10:42 -0800)]
IB/mthca: Free correct MPT on error exit from mthca_fmr_alloc()

When mthca_fmr_alloc() returns an error, it should free the MPT at the
index key, not mr->ibmr.lkey, since the lkey has been mangled by
hw_index_to_key() and no longer is the real index.  This bug causes
corruption of the MPT table free bitmap when mthca_fmr_alloc() fails.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoIPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out
Pradeep Satyanarayana [Tue, 12 Feb 2008 23:00:59 +0000 (15:00 -0800)]
IPoIB/cm: Fix ipoib_cm_dev_stop() cleanup when drain times out

Commit efcd9971 ("IPoIB/cm: Factor out ipoib_cm_free_rx_reap_list()")
introduced a bug in ipoib_cm_dev_stop() when the receive drain times
out.  In that case, the function moves all the pending rx stuff into a
private list but then calls ipoib_cm_free_rx_reap_list(), which
handles a different list.

Fix this by moving everything to the rx_reap_list that will actually
get freed up.

This fixes <https://bugs.openfabrics.org/show_bug.cgi?id=906>.

Signed-off-by: Pradeep Satyanarayana <pradeeps@linux.vnet.ibm.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
18 years agoRevert "SLUB: Alternate fast paths using cmpxchg_local"
Linus Torvalds [Tue, 19 Feb 2008 17:08:49 +0000 (09:08 -0800)]
Revert "SLUB: Alternate fast paths using cmpxchg_local"

This reverts commit 1f84260c8ce3b1ce26d4c1d6dedc2f33a3a29c0c, which is
suspected to be the reason for some very occasional and hard-to-trigger
crashes that usually look related to memory allocation (mostly reported
in networking, but since that's generally the most common source of
shortlived allocations - and allocations in interrupt contexts - that in
itself is not a big clue).

See for example
http://bugzilla.kernel.org/show_bug.cgi?id=9973
http://lkml.org/lkml/2008/2/19/278
etc.

One promising suspicion for what the root cause of bug is (which also
explains why it's so hard to trigger in practice) came from Eric
Dumazet:

   "I wonder how SLUB_FASTPATH is supposed to work, since it is affected
    by a classical ABA problem of lockless algo.

    cmpxchg_local(&c->freelist, object, object[c->offset]) can succeed,
    while an interrupt came (on this cpu), and several allocations were
    done, and one free was performed at the end of this interruption, so
    'object' was recycled.

    c->freelist can then contain the previous value (object), but
    object[c->offset] was changed by IRQ.

    We then put back in freelist an already allocated object."

but another reason for the revert is simply that everybody agrees that
this code was the main suspect just by virtue of the pattern of oopses.

Cc: Torsten Kaiser <just.for.lkml@googlemail.com>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
18 years ago[MIPS] BCM47XX: Use new SSB SPROM data structure
Aurelien Jarno [Mon, 18 Feb 2008 10:04:31 +0000 (11:04 +0100)]
[MIPS] BCM47XX: Use new SSB SPROM data structure

Switch the BCM47XX code to the new SPROM data structure now that the old
one has been removed.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] WGT634U: Register MTD as platform device.
Aurelien Jarno [Thu, 7 Feb 2008 02:17:16 +0000 (03:17 +0100)]
[MIPS] WGT634U: Register MTD as platform device.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] BCM47xx: Add defconfig file.
Aurelien Jarno [Mon, 18 Feb 2008 11:23:27 +0000 (12:23 +0100)]
[MIPS] BCM47xx: Add defconfig file.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] RM: fix EISA=n compilation
Adrian Bunk [Sun, 17 Feb 2008 21:59:48 +0000 (23:59 +0200)]
[MIPS] RM: fix EISA=n compilation

This patch fixes the following build error with CONFIG_EISA=n caused by
commit 231a35d37293ab88d325a9cb94e5474c156282c0:

<--  snip -->

...
  LD      .tmp_vmlinux1
arch/mips/sni/built-in.o: In function `snirm_a20r_setup_devinit':
a20r.c:(.init.text+0x42c): undefined reference to `sni_eisa_root_init'
a20r.c:(.init.text+0x42c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
arch/mips/sni/built-in.o: In function `snirm_setup_devinit':
rm200.c:(.init.text+0x52c): undefined reference to `sni_eisa_root_init'
rm200.c:(.init.text+0x52c): relocation truncated to fit: R_MIPS_26 against `sni_eisa_root_init'
make[1]: *** [.tmp_vmlinux1] Error 1

<--  snip  -->

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] PCI: Coding style fixes for pcibios_enable_resources.
Ralf Baechle [Tue, 19 Feb 2008 16:01:20 +0000 (16:01 +0000)]
[MIPS] PCI: Coding style fixes for pcibios_enable_resources.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] PCI: Port i386 PCI fixes.
Ralf Baechle [Tue, 19 Feb 2008 15:59:33 +0000 (15:59 +0000)]
[MIPS] PCI: Port i386 PCI fixes.

The MIPS version of pcibios_enalbe_resources did not have the fixes
from ed6d14f9760857c745206c978b80352fc09cfd19 yet which under circumstances
similar to x86 might result in failures.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Qemu: finish platform removal
Adrian Bunk [Sun, 17 Feb 2008 20:09:51 +0000 (22:09 +0200)]
[MIPS] Qemu: finish platform removal

Two files were omitted from the recent removal of the qemu platform.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Wire up the timerfd_*() o32 system calls
Dmitri Vorobiev [Mon, 18 Feb 2008 21:02:37 +0000 (00:02 +0300)]
[MIPS] Wire up the timerfd_*() o32 system calls

This patch enables the system calls timerfd_create(), timerfd_settime()
and timerfd_gettime() for MIPS architecture.

Please see the following Bugzilla entry for more details:

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

This was tested using a Malta 4Kc board in both little-endian and
big-endian modes. The unit test program is available from the URL
above.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
[Ralf: Added N64, N32 and O32 bits on 64-bit kernels.]
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] IP28: Add defconfig file
Thomas Bogendoerfer [Mon, 18 Feb 2008 21:38:32 +0000 (22:38 +0100)]
[MIPS] IP28: Add defconfig file

Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure.
Thiemo Seufer [Thu, 14 Feb 2008 16:58:25 +0000 (16:58 +0000)]
[MIPS] SB1: Fix CONFIG_SIBYTE_DMA_PAGEOPS build failure.

Fix type mismatch warnings for 64-bit kernel builds which trigger -Werror.
The problem affects only SB-1 kernels with CONFIG_SIBYTE_DMA_PAGEOPS
enabled.

Signed-off-by: Thiemo Seufer <ths@networkno.de>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] BCM1480: Remove stray function call resulting in infinite recursion
Ralf Baechle [Mon, 18 Feb 2008 18:49:48 +0000 (18:49 +0000)]
[MIPS] BCM1480: Remove stray function call resulting in infinite recursion

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix buggy invocations of kmap_coherent()
Ralf Baechle [Sat, 16 Feb 2008 22:34:25 +0000 (22:34 +0000)]
[MIPS] Fix buggy invocations of kmap_coherent()

kmap_coherent will only work correctly if the page it is called on is
not marked dirty.  If it's dirty the kernel address of the page should
be used instead of a temporary mapping.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Fix broken rm7000/rm9000 interrupt handling
Thomas Koeller [Mon, 11 Feb 2008 22:42:12 +0000 (23:42 +0100)]
[MIPS] Fix broken rm7000/rm9000 interrupt handling

Properly acknowledge RM7K and RM9K interrupts. Before this, interrupts were
permanently masked after their first occurrence, making them non-functional.

Signed-off-by: Thomas Koeller <thomas.koeller@baslerweb.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Handle I-cache coherency in flush_cache_range()
Ralf Baechle [Mon, 11 Feb 2008 14:51:40 +0000 (14:51 +0000)]
[MIPS] Handle I-cache coherency in flush_cache_range()

So far flush_cache_range() did't consider the I-cache largely because it
did rarely ever matter to real world code.  This was working primarily
because normally code and data are don't share the same pages - with the
exception of MIPS16 code which uses address constants embedded between
the code.   The following sequence of events may break the code:

 o MIPS16 executable being loaded
 o dynamic linker relocates the address constants embedded into the code:
 o   Uses mprotect(2) to make code pages PROT_READ|PROT_WRITE
 o   Performs the actual relocations by writing to the pages which likely
     are COW.  Because no PROT_EXEC is set I-cache coherence will not be
     considered.
 o   Uses mprotect(2) to switch code pages back to PROT_READ|PROT_EXEC.
     This results in a call to flush_cache_range() which also does not
     consider I-caches.
 o => executing the page just having been relocated may now result in the
   I-cache getting refilled with stale data from memory.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] IP27: Add missing ~ in DMA code.
Ralf Baechle [Fri, 8 Feb 2008 13:13:27 +0000 (13:13 +0000)]
[MIPS] IP27: Add missing ~ in DMA code.

Harmless since this function is not being called on I/O coherent systems
such as IP27.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[MIPS] Use find_task_by_vpid in system calls
Pavel Emelyanov [Tue, 5 Feb 2008 07:44:24 +0000 (23:44 -0800)]
[MIPS] Use find_task_by_vpid in system calls

There are some places left in mips, that lookup task in initial namespace,
while the code doing so gets the pid from the user space and thus must
treat it as virtual.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
18 years ago[SCSI] ips: fix data buffer accessors conversion bug
FUJITA Tomonori [Tue, 19 Feb 2008 08:02:27 +0000 (17:02 +0900)]
[SCSI] ips: fix data buffer accessors conversion bug

This fixes a bug that can't handle a passthru command with more than
two sg entries.

Big thanks to Tim Pepper for debugging the problem.

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Acked-by: Mark Salyzyn <Mark_Salyzyn@adaptec.com>
Cc: Stable Tree <stable@kernel.org>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
18 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Tue, 19 Feb 2008 16:04:23 +0000 (08:04 -0800)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] qdio: FCP/SCSI write I/O stagnates on LPAR
  [S390] Fix futex_atomic_cmpxchg_std inline assembly.
  [S390] dcss: Fix Unlikely(x) != y
  [S390] sclp: clean up send/receive naming scheme
  [S390] etr: fix compile error on !SMP
  [S390] qdio: fix qdio_activate timeout handling.
  [S390] Initialize per cpu lowcores on cpu hotplug.
  [S390] find bit corner case.
  [S390] dasd: fix locking in __dasd_device_process_final_queue
  [S390] Make sure enabled wait psw is loaded in default_idle.
  [S390] Let NR_CPUS default to 32/64 on s390/s390x.
  [S390] cio: Do timed recovery on workqueue.
  [S390] cio: Remember to initialize recovery_lock.

18 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Tue, 19 Feb 2008 16:03:02 +0000 (08:03 -0800)]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  libata: implement drain buffers
  libata: eliminate the home grown dma padding in favour of
  block: clear drain buffer if draining for write command
  block: implement request_queue->dma_drain_needed
  block: add request->raw_data_len
  block: update bio according to DMA alignment padding
  libata: update ATAPI overflow draining
  elevator: make elevator_get() attempt to load the appropriate module
  cfq-iosched: add hlist for browsing parallel to the radix tree
  block: make blk_rq_map_user() clear ->bio if it unmaps it
  fs/block_dev.c: remove #if 0'ed code
  make struct def_blk_aops static
  make blk_settings_init() static
  make blk_ioc_init() static
  make blk-core.c:request_cachep static again

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Tue, 19 Feb 2008 16:02:04 +0000 (08:02 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog

* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
  [WATCHDOG] HP ProLiant WatchDog driver
  [WATCHDOG] blackfin Watchdog driver: relocate all strings used in __init functions to __initdata
  [WATCHDOG] Convert mtx1 wdt to be a platform device and use generic GPIO API
  [WATCHDOG] Add support for SB1 hardware watchdog

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq
Linus Torvalds [Tue, 19 Feb 2008 15:54:02 +0000 (07:54 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq

* git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-genirq:
  genirq: do not leave interupts enabled on free_irq
  genirq: spurious.c: use time_* macros

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Tue, 19 Feb 2008 15:53:28 +0000 (07:53 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC64]: Add regs_return_value().
  [SPARC64]: Kill pcic_present().
  [SPARC]: Kill 'prom_palette'.
  [ATYFB]: Kill 'prom_palette' sparc code.
  [SPARC64]: Kill 'prom_keyboard'.
  [SPARC]: Kill extern decl of 'panic_setup'.
  [SPARC64]: Delete 'boot_flags'.
  [SPARC64]: Kill unused function 'kernel_enter_debugger'.
  [SPARC64] arch/sparc64/kernel/unaligned.c: Use time_* macros
  [SPARC64]: Always register a PROM based early console.
  [SPARC64]: Update defconfig.
  [SPARC64]: Add -mtune=ultrasparc3 if possible.
  [SPARC64]: Remove Makefile code for ancient gcc and binutils.
  [SPARC64]: Remove DEBUG_BOOTMEM.
  [SPARC64]: Use shorter "get_zeroed_page" call.
  [SPARC]: Use shorter form of "get_zeroed_page".
  [SPARC]: video/cg14.c and video/sbuslib.c build fixes

18 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Tue, 19 Feb 2008 15:52:45 +0000 (07:52 -0800)]
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (60 commits)
  [NIU]: Bump driver version and release date.
  [NIU]: Fix BMAC alternate MAC address indexing.
  net: fix kernel-doc warnings in header files
  [IPV6]: Use BUG_ON instead of if + BUG in fib6_del_route.
  [IPV6]: dst_entry leak in ip4ip6_err. (resend)
  bluetooth: do not move child device other than rfcomm
  bluetooth: put hci dev after del conn
  [NET]: Elminate spurious print_mac() calls.
  [BLUETOOTH] hci_sysfs.c: Kill build warning.
  [NET]: Remove MAC_FMT
  net/8021q/vlan_dev.c: Use print_mac.
  [XFRM]: Fix ordering issue in xfrm_dst_hash_transfer().
  [BLUETOOTH] net/bluetooth/hci_core.c: Use time_* macros
  [IPV6]: Fix hardcoded removing of old module code
  [NETLABEL]: Move some initialization code into __init section.
  [NETLABEL]: Shrink the genl-ops registration code.
  [AX25] ax25_out: check skb for NULL in ax25_kick()
  [TCP]: Fix tcp_v4_send_synack() comment
  [IPV4]: fix alignment of IP-Config output
  Documentation: fix tcp.txt
  ...

18 years agoSmack: unlabeled outgoing ambient packets
Casey Schaufler [Fri, 15 Feb 2008 23:24:25 +0000 (15:24 -0800)]
Smack: unlabeled outgoing ambient packets

Smack uses CIPSO labeling, but allows for unlabeled packets by
specifying an "ambient" label that is applied to incoming unlabeled
packets.

Because the other end of the connection may dislike IP options, and ssh
is one know application that behaves thus, it is prudent to respond in
kind.

This patch changes the network labeling behavior such that an outgoing
packet that would be given a CIPSO label that matches the ambient label
is left unlabeled.  An "unlbl" domain is added and the netlabel
defaulting mechanism invoked rather than assuming that everything is
CIPSO.  Locking has been added around changes to the ambient label as
the mechanisms used to do so are more involved.

Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Paul Moore <paul.moore@hp.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>