diff --git a/[refs] b/[refs]
index b5b66e50c53c..89ceda81628d 100644
--- a/[refs]
+++ b/[refs]
@@ -1,2 +1,2 @@
---
-refs/heads/master: 096e5bdaf166791e128ed3b9190542412559333b
+refs/heads/master: 8427829711b35e0e62668618cec577f65c102935
diff --git a/trunk/arch/mips/Kconfig b/trunk/arch/mips/Kconfig
index 74ba76378113..76f1cea6ddc9 100644
--- a/trunk/arch/mips/Kconfig
+++ b/trunk/arch/mips/Kconfig
@@ -427,7 +427,6 @@ config MOMENCO_OCELOT_G
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_64BIT_KERNEL
select SYS_SUPPORTS_BIG_ENDIAN
- select ARCH_SPARSEMEM_ENABLE
help
The Ocelot is a MIPS-based Single Board Computer (SBC) made by
Momentum Computer .
@@ -1631,9 +1630,6 @@ config ARCH_DISCONTIGMEM_ENABLE
or have huge holes in the physical address space for other reasons.
See for more.
-config ARCH_SPARSEMEM_ENABLE
- bool
-
config ARCH_SPARSEMEM_ENABLE
bool
select SPARSEMEM_STATIC
diff --git a/trunk/fs/jfs/file.c b/trunk/fs/jfs/file.c
index aa9132d04920..34181b8f5a0a 100644
--- a/trunk/fs/jfs/file.c
+++ b/trunk/fs/jfs/file.c
@@ -109,8 +109,6 @@ const struct file_operations jfs_file_operations = {
.aio_write = generic_file_aio_write,
.mmap = generic_file_mmap,
.sendfile = generic_file_sendfile,
- .splice_read = generic_file_splice_read,
- .splice_write = generic_file_splice_write,
.fsync = jfs_fsync,
.release = jfs_release,
.ioctl = jfs_ioctl,
diff --git a/trunk/include/asm-sparc64/futex.h b/trunk/include/asm-sparc64/futex.h
index 7392fc4a954e..dee40206b221 100644
--- a/trunk/include/asm-sparc64/futex.h
+++ b/trunk/include/asm-sparc64/futex.h
@@ -87,22 +87,24 @@ static inline int
futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval)
{
__asm__ __volatile__(
- "\n1: casa [%3] %%asi, %2, %0\n"
- "2:\n"
+ "\n1: lduwa [%2] %%asi, %0\n"
+ "2: casa [%2] %%asi, %0, %1\n"
+ "3:\n"
" .section .fixup,#alloc,#execinstr\n"
" .align 4\n"
- "3: ba 2b\n"
- " mov %4, %0\n"
+ "4: ba 3b\n"
+ " mov %3, %0\n"
" .previous\n"
" .section __ex_table,\"a\"\n"
" .align 4\n"
- " .word 1b, 3b\n"
+ " .word 1b, 4b\n"
+ " .word 2b, 4b\n"
" .previous\n"
- : "=r" (newval)
- : "0" (newval), "r" (oldval), "r" (uaddr), "i" (-EFAULT)
+ : "=&r" (oldval)
+ : "r" (newval), "r" (uaddr), "i" (-EFAULT)
: "memory");
- return newval;
+ return oldval;
}
#endif /* !(_SPARC64_FUTEX_H) */
diff --git a/trunk/net/bridge/netfilter/ebtables.c b/trunk/net/bridge/netfilter/ebtables.c
index 9f85666f29f7..3df55b2bd91d 100644
--- a/trunk/net/bridge/netfilter/ebtables.c
+++ b/trunk/net/bridge/netfilter/ebtables.c
@@ -86,7 +86,7 @@ static inline int ebt_do_match (struct ebt_entry_match *m,
static inline int ebt_dev_check(char *entry, const struct net_device *device)
{
int i = 0;
- const char *devname = device->name;
+ char *devname = device->name;
if (*entry == '\0')
return 0;
diff --git a/trunk/net/ipv4/sysctl_net_ipv4.c b/trunk/net/ipv4/sysctl_net_ipv4.c
index 15061b314411..e82a5be894b5 100644
--- a/trunk/net/ipv4/sysctl_net_ipv4.c
+++ b/trunk/net/ipv4/sysctl_net_ipv4.c
@@ -129,6 +129,13 @@ static int sysctl_tcp_congestion_control(ctl_table *table, int __user *name,
return ret;
}
+static int __init tcp_congestion_default(void)
+{
+ return tcp_set_default_congestion_control(CONFIG_DEFAULT_TCP_CONG);
+}
+
+late_initcall(tcp_congestion_default);
+
ctl_table ipv4_table[] = {
{
.ctl_name = NET_IPV4_TCP_TIMESTAMPS,
diff --git a/trunk/net/ipv4/tcp_cong.c b/trunk/net/ipv4/tcp_cong.c
index 1e2982f4acd4..af0aca1e6be6 100644
--- a/trunk/net/ipv4/tcp_cong.c
+++ b/trunk/net/ipv4/tcp_cong.c
@@ -131,14 +131,6 @@ int tcp_set_default_congestion_control(const char *name)
return ret;
}
-/* Set default value from kernel configuration at bootup */
-static int __init tcp_congestion_default(void)
-{
- return tcp_set_default_congestion_control(CONFIG_DEFAULT_TCP_CONG);
-}
-late_initcall(tcp_congestion_default);
-
-
/* Get current default congestion control */
void tcp_get_default_congestion_control(char *name)
{
diff --git a/trunk/net/ipv6/xfrm6_tunnel.c b/trunk/net/ipv6/xfrm6_tunnel.c
index 7931e4f898d4..7af227bb1551 100644
--- a/trunk/net/ipv6/xfrm6_tunnel.c
+++ b/trunk/net/ipv6/xfrm6_tunnel.c
@@ -135,7 +135,7 @@ u32 xfrm6_tunnel_spi_lookup(xfrm_address_t *saddr)
x6spi = __xfrm6_tunnel_spi_lookup(saddr);
spi = x6spi ? x6spi->spi : 0;
read_unlock_bh(&xfrm6_tunnel_spi_lock);
- return htonl(spi);
+ return spi;
}
EXPORT_SYMBOL(xfrm6_tunnel_spi_lookup);
@@ -210,7 +210,7 @@ u32 xfrm6_tunnel_alloc_spi(xfrm_address_t *saddr)
spi = __xfrm6_tunnel_alloc_spi(saddr);
write_unlock_bh(&xfrm6_tunnel_spi_lock);
- return htonl(spi);
+ return spi;
}
EXPORT_SYMBOL(xfrm6_tunnel_alloc_spi);
diff --git a/trunk/net/tipc/port.c b/trunk/net/tipc/port.c
index b7f3199523ca..c1a1a76759b5 100644
--- a/trunk/net/tipc/port.c
+++ b/trunk/net/tipc/port.c
@@ -1136,12 +1136,11 @@ int tipc_publish(u32 ref, unsigned int scope, struct tipc_name_seq const *seq)
int res = -EINVAL;
p_ptr = tipc_port_lock(ref);
- if (!p_ptr)
- return -EINVAL;
-
dbg("tipc_publ %u, p_ptr = %x, conn = %x, scope = %x, "
"lower = %u, upper = %u\n",
ref, p_ptr, p_ptr->publ.connected, scope, seq->lower, seq->upper);
+ if (!p_ptr)
+ return -EINVAL;
if (p_ptr->publ.connected)
goto exit;
if (seq->lower > seq->upper)