11 years agodrivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning
John W. Linville [Wed, 2 Apr 2008 00:59:32 +0000]
drivers/net/wireless/iwlwifi/iwl-debugfs.c: fix another '%llu' warning

drivers/net/wireless/iwlwifi/iwl-debugfs.c: In function ‘iwl_dbgfs_stations_read’:
drivers/net/wireless/iwlwifi/iwl-debugfs.c:247: warning: format ‘%llu’ expects type ‘long long unsigned int’, but argument 4 has type ‘u64’

Cc: Reinette Chatre <reinette.chatre@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: add station aid into ieee80211_tx_control
Chr [Tue, 1 Apr 2008 19:45:18 +0000]
mac80211: add station aid into ieee80211_tx_control

This patch is necessary for the upcoming Accesspoint patch for p54.

Signed-off-by: Christian Lamparter <chunkeey@web.de>
Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agowavelan_cs: stop inlining largish static functions
Denys Vlasenko [Tue, 1 Apr 2008 00:56:32 +0000]
wavelan_cs: stop inlining largish static functions

Hi John,

Can you please take a look at this patch?

drivers/net/wireless/wavelan_cs.c has unusually large number
of static inline functions - 27.

I looked through them and 20 of them do not seem to warrant inlining.
Some are really big; others call mdelay(1) or busy-wait for a bit
to be set in a hardware register - it's pointless
to optimize such functions for speed.

This patch removes "inline" from these static function
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:

   text    data     bss     dec     hex filename
  17020     372       8   17400    43f8 linux-2.6-ALLYES/drivers/net/wireless/wavelan_cs.o
  14032     356       8   14396    383c linux-2.6.inline-ALLYES/drivers/net/wireless/wavelan_cs.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
--
vda
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoprism54: set carrier flags correctly
Luis R. Rodriguez [Tue, 1 Apr 2008 19:17:36 +0000]
prism54: set carrier flags correctly

> prism54 should set the carrier flags correctly when it thinks the
> link can be used.

Agreed, so sure, this is OK but I rather we turn the carrier on
or off *before* sending an event, like this.

Signed-off-by: Roy Marples <uberlord@gentoo.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agossb: Turn suspend/resume upside down
Michael Buesch [Sat, 29 Mar 2008 23:10:50 +0000]
ssb: Turn suspend/resume upside down

Turn the SSB bus suspend mechanism upside down.
Instead of deciding by an internal reference count when to suspend/resume,
let the parent bus call us in their suspend/resume routine.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agob43: Add PIO support for PCMCIA devices
Michael Buesch [Sat, 29 Mar 2008 20:01:16 +0000]
b43: Add PIO support for PCMCIA devices

This adds PIO support back (D'oh!) for PCMCIA devices.
This is a complete rewrite of the old PIO code. It does actually work
and we get reasonable performance out of it on a modern machine.
On a PowerBook G4 I get a few MBit for TX and a few more for RX.
So it doesn't work as well as DMA (of course), but it's a _lot_ faster
than the old PIO code (only got a few kBit with that).

The limiting factor is the host CPU speed. So it will generate 100%
CPU usage when the network interface is heavily loaded. A voluntary preemption
point in the RX path makes sure Desktop Latency isn't hurt.

PIO is needed for 16bit PCMCIA devices, as we really don't want to poke with
the braindead DMA mechanisms on PCMCIA sockets. Additionally, not all
PCMCIA sockets do actually support DMA in 16bit mode (mine doesn't).

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: Eliminate association from beacon
Tomas Winkler [Fri, 28 Mar 2008 23:33:35 +0000]
iwlwifi: Eliminate association from beacon

This patch removes association from beacon
using bss_info_change handler for association

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: add association capabilty and timing info into bss_conf
Tomas Winkler [Fri, 28 Mar 2008 23:33:34 +0000]
mac80211: add association capabilty and timing info into bss_conf

This patch adds assocation capability, timestamp (tsf) and beacon interval
to bss_conf. This is required for successful assocation of iwlwifi drivers

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoiwlwifi: eliminate conf_ht
Tomas Winkler [Fri, 28 Mar 2008 23:33:33 +0000]
iwlwifi: eliminate conf_ht

This patch eliminates the use of conf_ht in iwlwifi driver, replacing it
with bss_info_changed.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agomac80211: eliminate conf_ht
Tomas Winkler [Fri, 28 Mar 2008 23:33:32 +0000]
mac80211: eliminate conf_ht

This patch eliminates the use of conf_ht, replacing it with
bss_info_changed.

Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Ron Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agossb-pcmcia: IRQ and DMA related fixes
Michael Buesch [Fri, 28 Mar 2008 09:34:55 +0000]
ssb-pcmcia: IRQ and DMA related fixes

Here come some IRQ and DMA related fixes for the ssb PCMCIA-host code.
Not much to say, actually. I think the patch explains itself.

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoRevert "mac80211: use a struct for bss->mesh_config"
John W. Linville [Tue, 8 Apr 2008 18:15:46 +0000]
Revert "mac80211: use a struct for bss->mesh_config"

This reverts commit 6c4711b4697d93424e4b1f76a9929ba844d714a5.

That patch breaks mesh config comparison between beacons/probe reponses, so
every beacon from a mesh network would be added as a new bss. Since the
comparison has to be performed for every received beacon I believe it is best to
save the mesh config in a format easy to compare, rather than do a bunch of
unaligned accesses to compare field by field.

Signed-off-by: John W. Linville <linville@tuxdriver.com>

11 years agoMerge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuj...
David S. Miller [Tue, 8 Apr 2008 09:33:36 +0000]
Merge branch 'net-2.6.26-isatap-20080403' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-dev

11 years ago[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail.
YOSHIFUJI Hideaki [Sat, 5 Apr 2008 13:17:39 +0000]
[IPV6] MROUTE: Use skb_tail_pointer(skb) instead of skb->tail.

This bug resulted in compilation error on 64bit machines.
Pointed out by Rami Rosen <roszenrami@gmail.com>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:56 +0000]
[IPV6]: Comment MRT6_xxx sockopts in include/linux/in6.h.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] MROUTE: Support PIM-SM (SSM).
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:54 +0000]
[IPV6] MROUTE: Support PIM-SM (SSM).

Based on ancient patch by Mickael Hoerdt
<hoerdt@clarinet.u-strasbg.fr>, which is available at
<http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] MROUTE: Support multicast forwarding.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:53 +0000]
[IPV6] MROUTE: Support multicast forwarding.

Based on ancient patch by Mickael Hoerdt
<hoerdt@clarinet.u-strasbg.fr>, which is available at
<http://www-r2.u-strasbg.fr/~hoerdt/dev/linux_ipv6_mforwarding/patch-linux-ipv6-mforwarding-0.1a>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV4] MROUTE: Adjust include files for user-space.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:52 +0000]
[IPV4] MROUTE: Adjust include files for user-space.

<linux/mroute.h> needs <linux/types.h>.
Avoid including <linux/in.h> in user-space, which conflicts with
standard <netinet/in.h>.
Add basic struct and constant in <linux/pim.h>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV4] MROUTE: Move PIM definitions to <linux/pim.h>.
YOSHIFUJI Hideaki [Thu, 3 Apr 2008 00:22:09 +0000]
[IPV4] MROUTE: Move PIM definitions to <linux/pim.h>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] ADDRCONF: Fix array size for sysctls.
YOSHIFUJI Hideaki [Mon, 24 Mar 2008 15:25:11 +0000]
[IPV6] ADDRCONF: Fix array size for sysctls.

We have been using __NET_IPV6_MAX for adjusting the size of array
for sysctl table, but it does not work any longer because of the
deprecation of NET_IPV6_xxx constants.  Let's use DEVCONF_MAX
instead.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[ATM] drivers/atm/ambassador.c: stop inlining largish static functions
Denys Vlasenko [Thu, 3 Apr 2008 21:59:55 +0000]
[ATM] drivers/atm/ambassador.c: stop inlining largish static functions

drivers/atm/ambassador.c has unusually large number
of static inline functions - 22.

I looked through them and half of them seem to be too big
to warrant inlining.

This patch removes "inline" from these static functions
(regardless of number of callsites - gcc nowadays auto-inlines
statics with one callsite).

Size difference for 32bit x86:
   text    data     bss     dec     hex filename
  10209    8488       4   18701    490d linux-2.6-ALLYES/drivers/atm/ambassador.o
   9462    8488       4   17954    4622 linux-2.6.inline-ALLYES/drivers/atm/ambassador.o

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Thu, 3 Apr 2008 21:33:42 +0000]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6

11 years ago[NETNS]: Use TCP control socket from a correct namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:32:00 +0000]
[NETNS]: Use TCP control socket from a correct namespace.

Signed-off-by: Denis V.Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[NETNS]: Create tcp control socket in the each namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:31:33 +0000]
[NETNS]: Create tcp control socket in the each namespace.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[IPV6]: Simplify IPv6 control sockets creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:31:03 +0000]
[IPV6]: Simplify IPv6 control sockets creation.

Do this by replacing sock_create_kern with inet_ctl_sock_create.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[INET]: uc_ttl assignment in inet_ctl_sock_create is redundant.
Denis V. Lunev [Thu, 3 Apr 2008 21:30:12 +0000]
[INET]: uc_ttl assignment in inet_ctl_sock_create is redundant.

uc_ttl is initialized in inet(6)_create and never changed except
setsockopt ioctl. Remove this assignment.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[ICMP]: Simplify ICMP control socket creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:29:00 +0000]
[ICMP]: Simplify ICMP control socket creation.

Replace sock_create_kern with inet_ctl_sock_create.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[NETNS]: Inet control socket should not hold a namespace.
Denis V. Lunev [Thu, 3 Apr 2008 21:28:30 +0000]
[NETNS]: Inet control socket should not hold a namespace.

This is a generic requirement, so make inet_ctl_sock_create namespace
aware and create a inet_ctl_sock_destroy wrapper around
sk_release_kernel.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[INET]: Let inet_ctl_sock_create return sock rather than socket.
Denis V. Lunev [Thu, 3 Apr 2008 21:27:58 +0000]
[INET]: Let inet_ctl_sock_create return sock rather than socket.

All upper protocol layers are already use sock internally.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[SCTP]: Replace socket with sock for SCTP control socket.
Denis V. Lunev [Thu, 3 Apr 2008 21:27:26 +0000]
[SCTP]: Replace socket with sock for SCTP control socket.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[SCTP]: Use inet_ctl_sock_create for control socket creation.
Denis V. Lunev [Thu, 3 Apr 2008 21:26:36 +0000]
[SCTP]: Use inet_ctl_sock_create for control socket creation.

sk->sk_proc->(un)hash is noop right now, so the unification is correct.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.
Denis V. Lunev [Thu, 3 Apr 2008 21:22:32 +0000]
[INET]: Rename inet_csk_ctl_sock_create to inet_ctl_sock_create.

This call is nothing common with INET connection sockets code. It
simply creates an unhashes kernel sockets for protocol messages.

Move the new call into af_inet.c after the rename.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[DCCP]: dccp_v(4|6)_ctl_socket is leaked.
Denis V. Lunev [Thu, 3 Apr 2008 21:21:33 +0000]
[DCCP]: dccp_v(4|6)_ctl_socket is leaked.

This seems a purism as module can't be unloaded, but though if cleanup
method is present it should be correct and clean all staff created.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[DCCP]: Replace socket with sock for reset sending.
Denis V. Lunev [Thu, 3 Apr 2008 21:20:52 +0000]
[DCCP]: Replace socket with sock for reset sending.

Replace dccp_v(4|6)_ctl_socket with sock to unify a code with TCP/ICMP.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[TCP]: Replace socket with sock for reset sending.
Denis V. Lunev [Thu, 3 Apr 2008 21:19:38 +0000]
[TCP]: Replace socket with sock for reset sending.

Replace tcp_socket with tcp_sock. This is more effective (less
derefferences on fast paths). Additionally, the approach is unified to
one used in ICMP.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[NETNS]: Declare init_net even without CONFIG_NET defined.
Denis V. Lunev [Thu, 3 Apr 2008 20:04:33 +0000]
[NETNS]: Declare init_net even without CONFIG_NET defined.

This does not look good, but there is no other choice. The compilation
without CONFIG_NET is broken and can not be fixed with ease.

After that there is no need for the following commits:
1567ca7eec7664b8be3b07755ac59dc1b1ec76cb
3edf8fa5ccf10688a9280b5cbca8ed3947c42866
2d38f9a4f8d2ebdc799f03eecf82345825495711

Revert them.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoMerge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Thu, 3 Apr 2008 05:35:23 +0000]
Merge branch 'master' of git://git./linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/s2io.c

11 years ago[IPV6] NDISC: Don't rely on node-type hint from L2 unless required.
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 03:59:18 +0000]
[IPV6] NDISC: Don't rely on node-type hint from L2 unless required.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6]: Unify ip6_onlink() and ipip6_onlink().
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 02:54:23 +0000]
[IPV6]: Unify ip6_onlink() and ipip6_onlink().

Both are identical, let's create ipv6_chk_prefix() and use it
in both places.

11 years ago[IPV6] NDISC: Ignore route information with /0 prefix from interior router.
YOSHIFUJI Hideaki [Sun, 16 Mar 2008 03:56:52 +0000]
[IPV6] NDISC: Ignore route information with /0 prefix from interior router.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL.
YOSHIFUJI Hideaki [Mon, 24 Mar 2008 09:28:39 +0000]
[IPV6] SIT: Add SIOCGETPRL ioctl to get/dump PRL.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL.
YOSHIFUJI Hideaki [Sat, 22 Mar 2008 08:50:59 +0000]
[IPV6] SIT: Disallow 0.0.0.0 in PRL and Flush PRL if given for DEL.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] SIT: Fix locking issues in PRL management.
YOSHIFUJI Hideaki [Sat, 22 Mar 2008 08:42:57 +0000]
[IPV6] SIT: Fix locking issues in PRL management.

To protect PRL list, use ipip6_lock.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years ago[IPV6] SIT: Add PRL management for ISATAP.
Templin, Fred L [Tue, 11 Mar 2008 22:35:59 +0000]
[IPV6] SIT: Add PRL management for ISATAP.

This patch updates the Linux the Intra-Site Automatic Tunnel Addressing
Protocol (ISATAP) implementation. It places the ISATAP potential router
list (PRL) in the kernel and adds three new private ioctls for PRL
management.

[Add several changes of structure name, constant names etc. - yoshfuji]

Signed-off-by: Fred L. Templin <fred.l.templin@boeing.com>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
Linus Torvalds [Wed, 2 Apr 2008 22:56:18 +0000]
Merge git://git./linux/kernel/git/gregkh/usb-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6:
  USB: ohci: fix 2 timers to fire at jiffies + 1s
  USB: Allow initialization of broken keyspan serial adapters.
  USB: fix bug in sg initialization in usbtest
  USB: serial: fix regression in Visor/Palm OS module for kernels >= 2.6.24
  USB: cp2101: Add identifiers for the Telegesys ETRX2USB
  USB: serial: ti_usb_3410_5052: Correct TUSB3410 endpoint requirements.
  USB: another ehci_iaa_watchdog fix

11 years agoalpha: get_current(): don't add zero to current_thread_info()->task
Andrew Morton [Wed, 2 Apr 2008 20:04:52 +0000]
alpha: get_current(): don't add zero to current_thread_info()->task

A nasty compile error:

In file included from security/keys/internal.h:16,
                 from security/keys/sysctl.c:14:
include/linux/key-ui.h: In function 'key_permission':
include/linux/key-ui.h:51: error: invalid use of undefined type 'struct task_struct'

apparently the compiler has decided that it needs to know sizeof(task_struct)
so that it can add zero to a task_struct* (which is rather dumb of it).

Getting task_struct in scope in these deeply-nested headers is scary-looking,
so let's just remove the "+ 0".

Cc: David Howells <dhowells@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agomarkers: use synchronize_sched()
Mathieu Desnoyers [Wed, 2 Apr 2008 20:04:51 +0000]
markers: use synchronize_sched()

Markers do not mix well with CONFIG_PREEMPT_RCU because it uses
preempt_disable/enable() and not rcu_read_lock/unlock for minimal
intrusiveness.  We would need call_sched and sched_barrier primitives.

Currently, the modification (connection and disconnection) of probes
from markers requires changes to the data structure done in RCU-style :
a new data structure is created, the pointer is changed atomically, a
quiescent state is reached and then the old data structure is freed.

The quiescent state is reached once all the currently running
preempt_disable regions are done running.  We use the call_rcu mechanism
to execute kfree() after such quiescent state has been reached.
However, the new CONFIG_PREEMPT_RCU version of call_rcu and rcu_barrier
does not guarantee that all preempt_disable code regions have finished,
hence the race.

The "proper" way to do this is to use rcu_read_lock/unlock, but we don't
want to use it to minimize intrusiveness on the traced system.  (we do
not want the marker code to call into much of the OS code, because it
would quickly restrict what can and cannot be instrumented, such as the
scheduler).

The temporary fix, until we get call_rcu_sched and rcu_barrier_sched in
mainline, is to use synchronize_sched before each call_rcu calls, so we
wait for the quiescent state in the system call code path.  It will slow
down batch marker enable/disable, but will make sure the race is gone.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agovmcoreinfo: add the symbol "phys_base"
Ken'ichi Ohmichi [Wed, 2 Apr 2008 20:04:50 +0000]
vmcoreinfo: add the symbol "phys_base"

Fix the problem that makedumpfile sometimes fails on x86_64 machine.

This patch adds the symbol "phys_base" to a vmcoreinfo data.  The
vmcoreinfo data has the minimum debugging information only for dump
filtering.  makedumpfile (dump filtering command) gets it to distinguish
unnecessary pages, and makedumpfile creates a small dumpfile.

On x86_64 kernel which compiled with CONFIG_PHYSICAL_START=0x0 and
CONFIG_RELOCATABLE=y, makedumpfile fails like the following:

 # makedumpfile -d31 /proc/vmcore dumpfile
 The kernel version is not supported.
 The created dumpfile may be incomplete.
 _exclude_free_page: Can't get next online node.

 makedumpfile Failed.
 #

The cause is the lack of the symbol "phys_base" in a vmcoreinfo data.
If the symbol "phys_base" does not exist, makedumpfile considers an
x86_64 kernel as non relocatable.  As the result, makedumpfile
misunderstands the physical address where the kernel is loaded, and it
cannot translate a kernel virtual address to physical address correctly.

To fix this problem, this patch adds the symbol "phys_base" to a
vmcoreinfo data.

Signed-off-by: Ken'ichi Ohmichi <oomichi@mxs.nes.nec.co.jp>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: <stable@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoefs: update error msg to not refer to deleted read_inode()
Robert P. J. Day [Wed, 2 Apr 2008 20:04:49 +0000]
efs: update error msg to not refer to deleted read_inode()

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoChar: rio, fix sparse warnings
Jiri Slaby [Wed, 2 Apr 2008 20:04:48 +0000]
Char: rio, fix sparse warnings

Add some locks and unlocks to some code paths.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoChar: ip2, fix sparse warnings
Jiri Slaby [Wed, 2 Apr 2008 20:04:48 +0000]
Char: ip2, fix sparse warnings

Unlock two grabbed locks on some paths.

Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agonbd: prevent sock_xmit from attempting to use a NULL socket
Mike Snitzer [Wed, 2 Apr 2008 20:04:47 +0000]
nbd: prevent sock_xmit from attempting to use a NULL socket

NBD does not protect the nbd_device's socket from becoming NULL during
receives.

This closes a race with the NBD_CLEAR_SOCK ioctl (nbd-client -d) setting
the nbd_device's socket to NULL right before NBD calls sock_xmit.

Signed-off-by: Mike Snitzer <snitzer@gmail.com>
Cc: Paul Clements <paul.clements@steeleye.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agodoc: fix typo in SubmittingPatches
Jim Meyering [Wed, 2 Apr 2008 20:04:46 +0000]
doc: fix typo in SubmittingPatches

Signed-off-by: Jim Meyering <meyering@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoFix typos in Documentation/unaligned-memory-access.txt
Dmitri Vorobiev [Wed, 2 Apr 2008 20:04:45 +0000]
Fix typos in Documentation/unaligned-memory-access.txt

This patch deletes a couple of superfluous word occurrences in the
document Documentation/unaligned-memory-access.txt.

Thanks to Sebastien Dugue for the remark about English usage.

Signed-off-by: Dmitri Vorobiev <dmitri.vorobiev@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoalpha: fix ALSA DMA mmap crash
Ivan Kokshaysky [Wed, 2 Apr 2008 20:04:43 +0000]
alpha: fix ALSA DMA mmap crash

Make dma_alloc_coherent respect gfp flags (__GFP_COMP is one that
matters).

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Tested-by: Michael Cree <mcree@orcon.net.nz>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoatmel_serial: fix uart/console concurrent access
Marc Pignat [Wed, 2 Apr 2008 20:04:42 +0000]
atmel_serial: fix uart/console concurrent access

Strange chars appear on the serial port when a printk and a printf
happens at the same time.  This is caused by the pdc sending chars while
atmel_console_write (called from printk) is executing

Concurent access of uart and console to the same port leads to corrupted
data to be transmitted, so disable tx dma (PDC) while writing to the
console.

Signed-off-by: Marc Pignat <marc.pignat@hevs.ch>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoatmel_serial: avoid stopping pdc during transmission
Michael Trimarchi [Wed, 2 Apr 2008 20:04:41 +0000]
atmel_serial: avoid stopping pdc during transmission

I found a problem related to losing data during pdc transmission in
atmel_serial: connect ttyS1 with ttyS2 using a loopback cable, send 30
byte of packet from one to the other and waiting for 30 byte.  On the
other side just read and echo the data received.

We always call atmel_tx_dma() from the tasklet regardless of what interrupt
triggered it.

Signed-off-by: michael <trimarchi@gandalf.sssup.it>
Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agokvm: provide kvm.h for all architecture: fixes headers_install
Christian Borntraeger [Wed, 2 Apr 2008 20:04:40 +0000]
kvm: provide kvm.h for all architecture: fixes headers_install

Currently include/linux/kvm.h is not considered by make headers_install,
because Kbuild cannot handle " unifdef-$(CONFIG_FOO) += foo.h.  This problem
was introduced by

commit fb56dbb31c4738a3918db81fd24da732ce3b4ae6
Author: Avi Kivity <avi@qumranet.com>
Date:   Sun Dec 2 10:50:06 2007 +0200

    KVM: Export include/linux/kvm.h only if $ARCH actually supports KVM

    Currently, make headers_check barfs due to <asm/kvm.h>, which <linux/kvm.h>
    includes, not existing.  Rather than add a zillion <asm/kvm.h>s, export kvm.
    only if the arch actually supports it.

Signed-off-by: Avi Kivity <avi@qumranet.com>

which makes this an 2.6.25 regression.

One way of solving the issue is to enhance Kbuild, but Avi and David conviced
me, that changing headers_install is not the way to go.  This patch changes
the definition for linux/kvm.h to unifdef-y.

If  unifdef-y is used for linux/kvm.h "make headers_check" will fail on all
architectures without asm/kvm.h.  Therefore, this patch also provides
asm/kvm.h on all architectures.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Avi Kivity <avi@qumranet.com>
Cc: Sam Ravnborg <sam@ravnborg.org
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoUSB: ohci: fix 2 timers to fire at jiffies + 1s
Richard Kennedy [Fri, 28 Mar 2008 21:50:30 +0000]
USB: ohci: fix 2 timers to fire at jiffies + 1s

Code inspection discovered in 2 places timers were being incorrectly setup
using round_jiffies_relative(HZ).  The timer would then fire at time (0 <= T <
HZ).

Fix them to use round_jiffies(jiffies + HZ);

Signed-off-by: Richard Kennedy <richard@rsk.demon.co.uk>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: David Brownell <david-b@pacbell.net>
Cc: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: Allow initialization of broken keyspan serial adapters.
Clark Rawlins [Thu, 27 Mar 2008 13:56:17 +0000]
USB: Allow initialization of broken keyspan serial adapters.

Fixes the keyspan driver after the addition of additional
checking of driver requirements introduced in usb-serial.c
commit 063a2da8f01806906f7d7b1a1424b9afddebc443.  The initialization
of the keyspan usb_serial_driver structs were not initializing the
num_interrupt_out field and the additional checking was rejecting
the end point so the driver wouldn't finish initializing.

This commit initializes the fields to NUM_DONT_CARE.
It works for the keyspan USA-49WG and doesn't break the USA-19HS
which are the two keyspan devices I have to test with.

Signed-off-by: Clark Rawlins <clark.rawlins@escient.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: fix bug in sg initialization in usbtest
Alan Stern [Thu, 27 Mar 2008 14:15:22 +0000]
USB: fix bug in sg initialization in usbtest

This patch (as1062) fixes a bug in the scatter-gather initialization
code in the usbtest driver.  When the sg-helper conversion was
performed, it wasn't done correctly.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: serial: fix regression in Visor/Palm OS module for kernels >= 2.6.24
Brad Sawatzky [Wed, 26 Mar 2008 02:32:43 +0000]
USB: serial: fix regression in Visor/Palm OS module for kernels >= 2.6.24

Fixes a bug/inconsistency revealed by the additional sanity checking in
   commit 063a2da8f01806906f7d7b1a1424b9afddebc443
introduced in the original 2.6.24 branch.

The Handspring Visor / PalmOS 4 device structure defines .num_bulk_out=2
but the usb-serial probe returns num_bulk_out=3, triggering the check in
the above commit and forcing a bail out when the device (a Garmin iQue in
my case) attempts to connect.  The patch bumps the expected number of
endpoints to 3.

FWIW, this patch will probably solve the following kernel bug report for
Treo users (identical symptoms, different model PalmOS units):
  <http://bugzilla.kernel.org/show_bug.cgi?id=10118>

Signed-off-by: Brad Sawatzky <brad+kernel@swatter.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: cp2101: Add identifiers for the Telegesys ETRX2USB
Florian Fainelli [Tue, 25 Mar 2008 16:32:16 +0000]
USB: cp2101: Add identifiers for the Telegesys ETRX2USB

This patch adds support for the Telegesys ETRX2USB which
works fine with the cp2101 driver.

Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu>
Tested-by: Xavier Carcelle <xavier.carcelle@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: serial: ti_usb_3410_5052: Correct TUSB3410 endpoint requirements.
Robert Spanton [Sun, 23 Mar 2008 19:47:23 +0000]
USB: serial: ti_usb_3410_5052: Correct TUSB3410 endpoint requirements.

The changes introduced in commit
063a2da8f01806906f7d7b1a1424b9afddebc443 changed the semantics of the
num_interrupt_in, num_interrupt_out, num_bulk_in and num_bulk_out
entries of the usb_serial_driver struct to be the number of endpoints
the device has when probed.

This patch changes the ti_1port_device usb_serial_driver struct to
reflect this change.  The single port devices only have 1
bulk_out endpoint in their initial configuration, and so this patch
changes the number of other types to NUM_DONT_CARE.

The same change probably needs doing to the ti_2port_device struct,
but I don't have a two port device at hand.

Signed-off-by: Robert Spanton <rspanton@zepler.net>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoUSB: another ehci_iaa_watchdog fix
David Brownell [Wed, 2 Apr 2008 20:40:20 +0000]
USB: another ehci_iaa_watchdog fix

This patch, suggested by Alan Stern, fixes the hung USB issues
on my notebook from suspend/resume cycles.

It does so by eliminating some confusion about the internal state
machine associated with unlinking from the EHCI async schedule ring,
which caused a recent regression:

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

Signed-off-by: Mark Lord <mlord@pobox.com>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Wed, 2 Apr 2008 19:34:33 +0000]
Merge git://git./linux/kernel/git/bart/ide-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:
  ide: use ->ata_input_data in ide_driveid_update()
  ide-h8300: 32-bit I/O is unsupported
  ide/legacy/q40ide.c: add MODULE_LICENSE
  ide/legacy/macide: add MODULE_LICENSE
  ide/legacy/falconide.c: add MODULE_LICENSE
  ide/legacy/buddha.c: add MODULE_LICENSE
  ide/legacy/gayle.c: add MODULE_LICENSE
  ide/h8300/ide-h8300.c: add MODULE_LICENSE
  ide/cris/ide-cris.c: add MODULE_LICENSE
  ide/arm/ide_arm.c: add MODULE_LICENSE
  ide/ppc/pmac.c: add MODULE_LICENSE
  ide/ppc/mpc8xx.c: add MODULE_LICENSE
  ide/pci/cmd640.c: add MODULE_LICENSE
  ide-pnp.c: add MODULE_LICENSE

11 years agoide: use ->ata_input_data in ide_driveid_update()
Bartlomiej Zolnierkiewicz [Wed, 2 Apr 2008 19:22:05 +0000]
ide: use ->ata_input_data in ide_driveid_update()

Use ->ata_input_data method instead of calling ata_input_data() directly.

Currently it matters only for (broken) ide-cris host driver but it may
change in the future.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide-h8300: 32-bit I/O is unsupported
Bartlomiej Zolnierkiewicz [Wed, 2 Apr 2008 19:22:04 +0000]
ide-h8300: 32-bit I/O is unsupported

This host driver doesn't support 32-bit I/O (it sets hwif->INSL/OUTSL
to NULL) so IDE_HFLAG_NO_IO_32BIT host flag needs to be set.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/legacy/q40ide.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:04 +0000]
ide/legacy/q40ide.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/legacy/macide: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:04 +0000]
ide/legacy/macide: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/legacy/falconide.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:04 +0000]
ide/legacy/falconide.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/legacy/buddha.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:04 +0000]
ide/legacy/buddha.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/legacy/gayle.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:04 +0000]
ide/legacy/gayle.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/h8300/ide-h8300.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:03 +0000]
ide/h8300/ide-h8300.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/cris/ide-cris.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:03 +0000]
ide/cris/ide-cris.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/arm/ide_arm.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:03 +0000]
ide/arm/ide_arm.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/ppc/pmac.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:03 +0000]
ide/ppc/pmac.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/ppc/mpc8xx.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:03 +0000]
ide/ppc/mpc8xx.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide/pci/cmd640.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:02 +0000]
ide/pci/cmd640.c: add MODULE_LICENSE

Now that it can be built modular it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agoide-pnp.c: add MODULE_LICENSE
Adrian Bunk [Wed, 2 Apr 2008 19:22:02 +0000]
ide-pnp.c: add MODULE_LICENSE

Now that it's in an own module it needs a MODULE_LICENSE.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

11 years agosky2: fix suspend/resume races
Stephen Hemminger [Wed, 2 Apr 2008 16:03:23 +0000]
sky2: fix suspend/resume races

There are a couple of possible races on suspend/resume.
First the driver needs to block new packets from being queued for Tx.
The other less likely problem is the watchdog timer going off
during resume.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
Linus Torvalds [Wed, 2 Apr 2008 14:50:49 +0000]
Merge git://git./linux/kernel/git/mchehab/v4l-dvb

* git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb:
  V4L/DVB (7486): radio-cadet: wrap PNP probe code in #ifdef CONFIG_PNP
  V4L/DVB (7485): v4l2-int-device.c: add MODULE_LICENSE
  V4L/DVB (7466): Avoid minor model number warning when an OEM HVR1250 board is detected
  V4L/DVB (7465): Fix eeprom parsing and errors on the HVR1800 products
  V4L/DVB (7464): Convert driver to use a single SRAM memory map
  V4L/DVB (7461): bttv: fix missed index check
  V4L/DVB (7400): bttv: Add a radio compat_ioctl file operation
  V4L/DVB (7278): bttv: Re-enable radio tuner support for VIDIOCGFREQ/VIDIOCSFREQ ioctls
  V4L/DVB (7277): bttv: Re-enabling radio support requires the use of struct bttv_fh

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
Linus Torvalds [Wed, 2 Apr 2008 14:47:31 +0000]
Merge git://git./linux/kernel/git/jejb/scsi-rc-fixes-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] mvsas: check subsystem id
  [SCSI] mvsas: get phy info.
  [SCSI] mvsas: fix the buffer of rx DMA overflow bug
  [SCSI] mvsas: retry aborting task.
  [SCSI] mvsas: check hd whether unplugged
  [SCSI] mvsas : interrupt handling
  [SCSI] mvsas: a tag handler implementation
  [SCSI] mvsas: fill in error info record and phy mode6 bits.
  [SCSI] libsas: Warn if ATA device detected but CONFIG_SCSI_SAS_ATA not set
  [SCSI] hosts.c: fixes for "no error" reported after error scenarios
  Revert "[SCSI] fix bsg queue oops with iscsi logout"

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Wed, 2 Apr 2008 14:46:41 +0000]
Merge git://git./linux/kernel/git/davem/sparc-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: remove unused calc_npages() in iommu_common.h
  sparc64: add the segment boundary checking to IOMMUs while merging SG entries
  [SPARC64]: Don't open-code {get,put}_cpu_var() in flush_tlb_pending().

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Wed, 2 Apr 2008 14:46:18 +0000]
Merge git://git./linux/kernel/git/davem/net-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (45 commits)
  [VLAN]: Proc entry is not renamed when vlan device name changes.
  [IPV6]: Fix ICMP relookup error path dst leak
  [ATM] drivers/atm/iphase.c: compilation warning fix
  IPv6: do not create temporary adresses with too short preferred lifetime
  IPv6: only update the lifetime of the relevant temporary address
  bluetooth : __rfcomm_dlc_close lock fix
  bluetooth : use lockdep sub-classes for diffrent bluetooth protocol
  [ROSE/AX25] af_rose: rose_release() fix
  mac80211: correct use_short_preamble handling
  b43: Fix PCMCIA IRQ routing
  b43: Add DMA mapping failure messages
  mac80211: trigger ieee80211_sta_work after opening interface
  [LLC]: skb allocation size for responses
  [IP] UDP: Use SEQ_START_TOKEN.
  [NET]: Remove Documentation/networking/sk98lin.txt
  [ATM] atm/idt77252.c: Make 2 functions static
  [ATM]: Make atm/he.c:read_prom_byte() static
  [IPV6] MCAST: Ensure to check multicast listener(s).
  [LLC]: Kill llc_station_mac_sa symbol export.
  forcedeth: fix locking bug with netconsole
  ...

11 years agoMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
Linus Torvalds [Wed, 2 Apr 2008 14:45:49 +0000]
Merge branch 'for-linus' of git://git./linux/kernel/git/jmorris/selinux-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/selinux-2.6:
  selinux: handle files opened with flags 3 by checking ioctl permission

11 years agoMerge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
Linus Torvalds [Wed, 2 Apr 2008 14:43:53 +0000]
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block

* 'for-linus' of git://git.kernel.dk/linux-2.6-block:
  cfq-iosched: fix rcu freeing of cfq io contexts
  Fix bounce setting for 64-bit

11 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Linus Torvalds [Wed, 2 Apr 2008 14:43:37 +0000]
Merge git://git./linux/kernel/git/herbert/crypto-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  [CRYPTO] xcbc: Fix crash when ipsec uses xcbc-mac with big data chunk

11 years agoafs: add missing up_write() on return
Sven Schnelle [Wed, 2 Apr 2008 12:17:18 +0000]
afs: add missing up_write() on return

If afs_cell_alloc() fails, afs_cells_sem doesn't get unlocked, which
leads to a deadlock.  Unlock it before returning.

Signed-off-by: Sven Schnelle <svens@stackframe.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

11 years agocfq-iosched: fix rcu freeing of cfq io contexts
Fabio Checconi [Wed, 2 Apr 2008 12:31:02 +0000]
cfq-iosched: fix rcu freeing of cfq io contexts

SLAB_DESTROY_BY_RCU is not a direct substitute for normal call_rcu()
freeing, since it'll page freeing but NOT object freeing. So change
cfq to do the freeing on its own.

Signed-off-by: Fabio Checconi <fabio@gandalf.sssup.it>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

11 years ago[NETNS]: Do not include net/net_namespace.h from seq_file.h
Denis V. Lunev [Wed, 2 Apr 2008 07:10:28 +0000]
[NETNS]: Do not include net/net_namespace.h from seq_file.h

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c.
Denis V. Lunev [Wed, 2 Apr 2008 07:10:04 +0000]
[NETNS]: Remove ifdef CONFIG_NET braces in fs/proc/proc_net.c.

They are redundant as this file is linked in iff CONFIG_NET is turned
on.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[NETNS]: Merge ifdef CONFIG_NET in include/net/net_namespace.h.
Denis V. Lunev [Wed, 2 Apr 2008 07:09:29 +0000]
[NETNS]: Merge ifdef CONFIG_NET in include/net/net_namespace.h.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[VLAN]: Proc entry is not renamed when vlan device name changes.
Pavel Emelyanov [Wed, 2 Apr 2008 07:08:01 +0000]
[VLAN]: Proc entry is not renamed when vlan device name changes.

This may lead to situations, when each of two proc entries produce
data for the other's device.

Looks like a BUG, so this patch is for net-2.6. It will not apply to
net-2.6.26 since dev->nd_net access is replaced with dev_net(dev)
one.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoFix bounce setting for 64-bit
Andrea Arcangeli [Wed, 2 Apr 2008 07:06:44 +0000]
Fix bounce setting for 64-bit

Looking a bit closer into this regression the reason this can't be
right is that dma_addr common default is BLK_BOUNCE_HIGH and most
machines have less than 4G. So if you do:

    if (b_pfn <= (min_t(u64, 0xffffffff, BLK_BOUNCE_HIGH) >> PAGE_SHIFT))
dma = 1

that will translate to:

     if (BLK_BOUNCE_HIGH <= BLK_BOUNCE_HIGH)
      dma = 1

So for 99% of hardware this will trigger unnecessary GFP_DMA
allocations and isa pooling operations.

Also note how the 32bit code still does b_pfn < blk_max_low_pfn.

I guess this is what you were looking after. I didn't verify but as
far as I can tell, this will stop the regression with isa dma
operations at boot for 99% of blkdev/memory combinations out there and
I guess this fixes the setups with >4G of ram and 32bit pci cards as
well (this also retains symmetry with the 32bit code).

Signed-off-by: Andrea Arcangeli <andrea@qumranet.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

11 years ago[IPV6]: Fix ICMP relookup error path dst leak
Herbert Xu [Wed, 2 Apr 2008 07:06:09 +0000]
[IPV6]: Fix ICMP relookup error path dst leak

When we encounter an error while looking up the dst the second
time we need to drop the first dst.  This patch is pretty much
the same as the one for IPv4.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years ago[ATM] drivers/atm/iphase.c: compilation warning fix
Leonardo Potenza [Wed, 2 Apr 2008 07:03:00 +0000]
[ATM] drivers/atm/iphase.c: compilation warning fix

Removed the warning messages:
drivers/atm/iphase.c:961: warning: 'tcnter' defined but not used
drivers/atm/iphase.c:963: warning: 'xdump' defined but not used

tcnter and xdump() are used only in debug build

Signed-off-by: Leonardo Potenza <lpotenza@inwind.it>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoIPv6: do not create temporary adresses with too short preferred lifetime
Benoit Boissinot [Wed, 2 Apr 2008 07:01:35 +0000]
IPv6: do not create temporary adresses with too short preferred lifetime

From RFC341:
A temporary address is created only if this calculated Preferred
Lifetime is greater than REGEN_ADVANCE time units.  In particular, an
implementation must not create a temporary address with a zero
Preferred Lifetime.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agoIPv6: only update the lifetime of the relevant temporary address
Benoit Boissinot [Wed, 2 Apr 2008 07:00:58 +0000]
IPv6: only update the lifetime of the relevant temporary address

When receiving a prefix information from a routeur, only update the
lifetimes of the temporary address associated with that prefix.

Otherwise if one deprecated prefix is advertized, all your temporary
addresses will become deprecated.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>

11 years agobluetooth : __rfcomm_dlc_close lock fix
Dave Young [Wed, 2 Apr 2008 06:59:06 +0000]
bluetooth : __rfcomm_dlc_close lock fix

Lockdep warning will be trigged while rfcomm connection closing.

The locks taken in rfcomm_dev_add:
rfcomm_dev_lock --> d->lock

In __rfcomm_dlc_close:
d->lock --> rfcomm_dev_lock (in rfcomm_dev_state_change)

There's two way to fix it, one is in rfcomm_dev_add we first locking
d->lock then the rfcomm_dev_lock

The other (in this patch), remove the locking of d->lock for
rfcomm_dev_state_change because just locking "d->state = BT_CLOSED;"
is enough.

[  295.002046] =======================================================
[  295.002046] [ INFO: possible circular locking dependency detected ]
[  295.002046] 2.6.25-rc7 #1
[  295.002046] -------------------------------------------------------
[  295.002046] krfcommd/2705 is trying to acquire lock:
[  295.002046]  (rfcomm_dev_lock){-.--}, at: [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]
[  295.002046]
[  295.002046] but task is already holding lock:
[  295.002046]  (&d->lock){--..}, at: [<f899c533>] __rfcomm_dlc_close+0x43/0xd0 [rfcomm]
[  295.002046]
[  295.002046] which lock already depends on the new lock.
[  295.002046]
[  295.002046]
[  295.002046] the existing dependency chain (in reverse order) is:
[  295.002046]
[  295.002046] -> #1 (&d->lock){--..}:
[  295.002046]        [<c0149b23>] check_prev_add+0xd3/0x200
[  295.002046]        [<c0149ce5>] check_prevs_add+0x95/0xe0
[  295.002046]        [<c0149f6f>] validate_chain+0x23f/0x320
[  295.002046]        [<c014b7b1>] __lock_acquire+0x1c1/0x760
[  295.002046]        [<c014c349>] lock_acquire+0x79/0xb0
[  295.002046]        [<c03d6b99>] _spin_lock+0x39/0x80
[  295.002046]        [<f89a01c0>] rfcomm_dev_add+0x240/0x360 [rfcomm]
[  295.002046]        [<f89a047e>] rfcomm_create_dev+0x6e/0xe0 [rfcomm]
[  295.002046]        [<f89a0823>] rfcomm_dev_ioctl+0x33/0x60 [rfcomm]
[  295.002046]        [<f899facc>] rfcomm_sock_ioctl+0x2c/0x50 [rfcomm]
[  295.002046]        [<c0363d38>] sock_ioctl+0x118/0x240
[  295.002046]        [<c0194196>] vfs_ioctl+0x76/0x90
[  295.002046]        [<c0194446>] do_vfs_ioctl+0x56/0x140
[  295.002046]        [<c0194569>] sys_ioctl+0x39/0x60
[  295.002046]        [<c0104faa>] syscall_call+0x7/0xb
[  295.002046]        [<ffffffff>] 0xffffffff
[  295.002046]
[  295.002046] -> #0 (rfcomm_dev_lock){-.--}:
[  295.002046]        [<c0149a84>] check_prev_add+0x34/0x200
[  295.002046]        [<c0149ce5>] check_prevs_add+0x95/0xe0
[  295.002046]        [<c0149f6f>] validate_chain+0x23f/0x320
[  295.002046]        [<c014b7b1>] __lock_acquire+0x1c1/0x760
[  295.002046]        [<c014c349>] lock_acquire+0x79/0xb0
[  295.002046]        [<c03d6639>] _read_lock+0x39/0x80
[  295.002046]        [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]
[  295.002046]        [<f899c548>] __rfcomm_dlc_close+0x58/0xd0 [rfcomm]
[  295.002046]        [<f899d44f>] rfcomm_recv_ua+0x6f/0x120 [rfcomm]
[  295.002046]        [<f899e061>] rfcomm_recv_frame+0x171/0x1e0 [rfcomm]
[  295.002046]        [<f899e357>] rfcomm_run+0xe7/0x550 [rfcomm]
[  295.002046]        [<c013c18c>] kthread+0x5c/0xa0
[  295.002046]        [<c0105c07>] kernel_thread_helper+0x7/0x10
[  295.002046]        [<ffffffff>] 0xffffffff
[  295.002046]
[  295.002046] other info that might help us debug this:
[  295.002046]
[  295.002046] 2 locks held by krfcommd/2705:
[  295.002046]  #0:  (rfcomm_mutex){--..}, at: [<f899e2eb>] rfcomm_run+0x7b/0x550 [rfcomm]
[  295.002046]  #1:  (&d->lock){--..}, at: [<f899c533>] __rfcomm_dlc_close+0x43/0xd0 [rfcomm]
[  295.002046]
[  295.002046] stack backtrace:
[  295.002046] Pid: 2705, comm: krfcommd Not tainted 2.6.25-rc7 #1
[  295.002046]  [<c0128a38>] ? printk+0x18/0x20
[  295.002046]  [<c014927f>] print_circular_bug_tail+0x6f/0x80
[  295.002046]  [<c0149a84>] check_prev_add+0x34/0x200
[  295.002046]  [<c0149ce5>] check_prevs_add+0x95/0xe0
[  295.002046]  [<c0149f6f>] validate_chain+0x23f/0x320
[  295.002046]  [<c014b7b1>] __lock_acquire+0x1c1/0x760
[  295.002046]  [<c014c349>] lock_acquire+0x79/0xb0
[  295.002046]  [<f89a090a>] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]
[  295.002046]  [<c03d6639>] _read_lock+0x39/0x80
[  295.002046]  [<f89a090a>] ? rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]
[  295.002046]  [<f89a090a>] rfcomm_dev_state_change+0x6a/0xd0 [rfcomm]
[  295.002046]  [<f899c548>] __rfcomm_dlc_close+0x58/0xd0 [rfcomm]
[  295.002046]  [<f899d44f>] rfcomm_recv_ua+0x6f/0x120 [rfcomm]
[  295.002046]  [<f899e061>] rfcomm_recv_frame+0x171/0x1e0 [rfcomm]
[  295.002046]  [<c014abd9>] ? trace_hardirqs_on+0xb9/0x130
[  295.002046]  [<c03d6e89>] ? _spin_unlock_irqrestore+0x39/0x70
[  295.002046]  [<f899e357>] rfcomm_run+0xe7/0x550 [rfcomm]
[  295.002046]  [<c03d4559>] ? __sched_text_start+0x229/0x4c0
[  295.002046]  [<c0120000>] ? cpu_avg_load_per_task+0x20/0x30
[  295.002046]  [<f899e270>] ? rfcomm_run+0x0/0x550 [rfcomm]
[  295.002046]  [<c013c18c>] kthread+0x5c/0xa0
[  295.002046]  [<c013c130>] ? kthread+0x0/0xa0
[  295.002046]  [<c0105c07>] kernel_thread_helper+0x7/0x10
[  295.002046]  =======================

Signed-off-by: Dave Young <hidave.darkstar@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>