Micah F. Galizia [Mon, 5 Sep 2005 05:12:15 +0000 (00:12 -0500)]
Input: HID - add support for Logitech UltraX Media Remote control
The hid now supports the Logitech UltraX Media Remote control.
For now, ID 45 on the consumer usage page has been incorrectly
mapped to KEY_RADIO since no other devices uses it.
Signed-off-by: Micah F. Galizia <mfgalizi@csd.uwo.ca>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Michael Haboustak [Mon, 5 Sep 2005 05:12:01 +0000 (00:12 -0500)]
Input: HID - handle multi-transascion reports
Fixes handling of multi-transaction reports for HID devices. New
function hid_size_buffers() that calculates the longest report
for each endpoint and stores the result in the hid_device object.
These lengths are used to allocate buffers that are large enough
to store any report on the endpoint. For compatibility, the minimum
size for an endpoint buffer set to HID_BUFFER_SIZE rather than the
known optimal case (the longest report length).
It fixes bug #3063 in bugzilla.
Signed-off-by: Michael Haboustak <mike-@cinci.rr.com>
I simplified the patch a bit to use just a single buffer size.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Mon, 5 Sep 2005 05:11:41 +0000 (00:11 -0500)]
Input: atkbd - handle keyboards generating scancode 0x7f
Extend bat_xl handling to do err_xl handling, so that
keyboards using 0x7f scancode for regular keys can work.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Mon, 5 Sep 2005 05:08:08 +0000 (00:08 -0500)]
Input: HID - add more consumer usages
Extend mapping of the consumer usage page in hid-input.c to handle
more cases appearing on new USB keyboards.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Mon, 5 Sep 2005 05:07:59 +0000 (00:07 -0500)]
Input: add HID simulation mappings
Add simulation usage page mappings to hid-input.c to support
a new crop of joysticks using them to designate Rudder and
Throttle controls.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Mon, 5 Sep 2005 05:07:37 +0000 (00:07 -0500)]
Inpur: recognize and ignore Logitech vendor usages in HID
These get in our way with MX mice.
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:42:10 +0000 (01:42 -0500)]
Input: i8042 - add Lifebook E4010 to MUX blacklist
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:42:00 +0000 (01:42 -0500)]
Input: i8042 - add i8042.nokbd module option to allow supressing
creation of keyboard port.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:41:51 +0000 (01:41 -0500)]
Input: i8042 - fix IRQ printing when either KBD or AUX port
is absent from ACPI/PNP tables.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:41:38 +0000 (01:41 -0500)]
Input: make i8042_platform_init return 'real' error code
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:41:27 +0000 (01:41 -0500)]
Input: i8042 - clean up initialization code; abort if we
can't create all ports.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Ian Campbell [Sun, 4 Sep 2005 06:41:14 +0000 (01:41 -0500)]
Input: fix checking whether new keycode fits size-wise
When dev->keycodesize == sizeof(int) the old code produces
incorrect result.
Signed-off-by: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Sun, 4 Sep 2005 06:40:55 +0000 (01:40 -0500)]
Input: psmouse - add new Logitech wheel mouse model
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Vojtech Pavlik [Sun, 4 Sep 2005 06:40:43 +0000 (01:40 -0500)]
Input: ALPS - fix wheel decoding
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:40:20 +0000 (01:40 -0500)]
Input: rework psmouse attributes to reduce module size
Rearrange attribute code to use generic show and set handlers
instead of replicating them for every attribute; switch to
using attribute_group instead of creating all attributes
manually. All this saves about 4K.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Dmitry Torokhov [Sun, 4 Sep 2005 06:35:56 +0000 (01:35 -0500)]
Merge HEAD from /linux/kernel/git/torvalds/linux-2.6.git
Linus Torvalds [Fri, 2 Sep 2005 09:01:35 +0000 (02:01 -0700)]
Merge refs/heads/ieee80211-wifi from /linux/kernel/git/jgarzik/netdev-2.6
Jeff Garzik [Fri, 2 Sep 2005 08:44:25 +0000 (04:44 -0400)]
[wireless hostap] automatically select ieee80211 dependency in Kconfig
Rolf Eike Beer [Fri, 2 Sep 2005 07:03:09 +0000 (09:03 +0200)]
[PATCH] remove driverfs references from init/do_mounts.c
This patch is against 2.6.10, but still applies cleanly. It's just
s/driverfs/sysfs/ in this file.
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rolf Eike Beer [Fri, 2 Sep 2005 06:59:25 +0000 (08:59 +0200)]
[PATCH] remove driverfs references from include/linux/cpu.h and net/sunrpc/rpc_pipe.c
This patch is against 2.6.10, but still applies cleanly. It's just
s/driverfs/sysfs/ in these two files.
Signed-off-by: Rolf Eike Beer <eike-kernel@sf-tec.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Miles Bader [Fri, 2 Sep 2005 06:13:31 +0000 (15:13 +0900)]
[PATCH] v850: Add show_mem
Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Miles Bader [Fri, 2 Sep 2005 06:13:30 +0000 (15:13 +0900)]
[PATCH] v850: Update defconfigs
Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Miles Bader [Fri, 2 Sep 2005 06:13:30 +0000 (15:13 +0900)]
[PATCH] v850: Round up length passed to slram driver to a multiple of SLRAM_BLK_SZ
Signed-off-by: Miles Bader <miles@gnu.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] uclinux: use MAP_PRIVATE when mmaping code regions in flat binary loader
Use MAP_PRIVATE when calling mmap to get memory for the code region.
The flat loader was using MAP_SHARED, but underlying changes to the
MMUless mmap means this is now wrong.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: update defconfig for m68knommu
Updated defconfig for m68knommu arch.
Patch originaly submitted by Jan Dittmer <jdittmer@ppp0.net>
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: new board support in linker script
. add support for the M5235EVB board
. add support for the SOM5282 board
. add support for the MOD5272 board
. fix end of memory define for eLITE board
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: need pfn_valid macro
Need pfn_valid macro, even on MMUless platforms.
Enclose the macro args of __pa and __va in parentheses.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: use THREAD_SIZE instead of hard coded size
Use the THREAD_SIZE define when manipulating the stack instead of
hard coded values (for the 68328 and 68360 sub-architectures).
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: new family (523x) and board config support
New architecture and board configuration support for m68knommu.
. add 523x ColdFire support
. add support for SOM5282 and MOD5272 boards
. break up the 527x to be separate 5271 and 5275. There is some
subtle differences that (like RAM config) that need to be dealt with
. add option to support selecting 4k kernel stack
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: 523x ColdFire processor support in arch Makefile
Add support for the 523x ColdFire family of processors
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: cleanup showstack()
Make show_stack() consistent with other architectures.
Put the vector string names in the .rodata section.
Patch originally submitted by Philippe De Muyter <phdm@macqel.be>.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] uclinux: update MAINTAINERS entry for UCLINUX
Modify maintainers for uClinux (MMUless). Neither Dave nor Jeff
manitain the 2.6 code in mainline, so no point emailing them about
problems.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: fix ColdFire startup code to properly handle non 0 based ram
Correctly determine the end of ram for ram setups that do not
start at base address of 0. Add support for the MOD5272 board,
which doesn not have a ram base of 0.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: new family (523x) and board setup
. setup for the new 523x ColdFire family
. break up of 527x to be 5271 and 5275
. some white space cleanup
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Greg Ungerer [Fri, 2 Sep 2005 00:42:52 +0000 (10:42 +1000)]
[PATCH] m68knommu: 523x ColdFire processor init code
Low level initialization code for the 523x ColdFire processor family.
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Fri, 2 Sep 2005 07:53:36 +0000 (00:53 -0700)]
Merge HEAD from /home/rmk/linux-2.6-serial
Linus Torvalds [Fri, 2 Sep 2005 07:52:05 +0000 (00:52 -0700)]
Merge HEAD from kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Fri, 2 Sep 2005 07:48:33 +0000 (00:48 -0700)]
Merge refs/heads/ieee80211-wifi from /linux/kernel/git/jgarzik/netdev-2.6
Linus Torvalds [Fri, 2 Sep 2005 07:46:53 +0000 (00:46 -0700)]
Merge refs/heads/upstream from /linux/kernel/git/jgarzik/netdev-2.6
Jeff Garzik [Thu, 1 Sep 2005 22:02:27 +0000 (18:02 -0400)]
/spare/repo/netdev-2.6 branch 'ieee80211'
Jeff Garzik [Thu, 1 Sep 2005 22:02:01 +0000 (18:02 -0400)]
/spare/repo/netdev-2.6 branch 'master'
Russell King [Thu, 1 Sep 2005 21:41:55 +0000 (22:41 +0100)]
[ARM] Fix ARMv6 page table bits
We weren't explicitly setting the page table bits we desired
in user_prot in the protection table, which resulted in the
user mappings for v6 CPUs being marked global.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Linus Torvalds [Thu, 1 Sep 2005 17:58:18 +0000 (10:58 -0700)]
Merge refs/heads/release from /linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 1 Sep 2005 17:56:57 +0000 (10:56 -0700)]
Merge HEAD from /home/rmk/linux-2.6-arm.git
Kumar Gala [Wed, 31 Aug 2005 04:54:47 +0000 (14:54 +1000)]
[PATCH] ppc: L2 cache prefetch fixes on 745x
We run into problems if we blindly enable L2 prefetching without
checking that the L2 cache is actually enabled. Additionaly, if we
disable the L2 cache we need to ensure that we disable L2 prefetching.
Signed-off-by: Kumar Gala <kumar.gala@freescale.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt [Wed, 31 Aug 2005 04:16:53 +0000 (14:16 +1000)]
[PATCH] Fix PCI ROM mapping
This fixes a problem with pci_map_rom() which doesn't properly
update the ROM BAR value with the address thas allocated for it by the
PCI code. This problem, among other, breaks boot on Mac laptops.
It'ss a new version based on Linus latest one with better error
checking.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Gibson [Wed, 31 Aug 2005 04:34:05 +0000 (14:34 +1000)]
[PATCH] Fix bug in ppc64 dynamic hugepage support
In adjusting the logic for SLB miss for the dynamic hugepage stuff, I
messed up the !CONFIG_HUGETLB_PAGE case, failing to set the SLB flags
properly.
This fixes it. It also streamlines the logic for the HUGETLB_PAGE case
(removing a couple of branches) while we're at it.
Booted, and roughly tested on POWER5 (with and without HUGETLB_PAGE),
iSeries/RS64 (no hugepage available), and G5 (with and without
HUGETLB_PAGE).
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Adrian Bunk [Wed, 31 Aug 2005 15:43:51 +0000 (17:43 +0200)]
[PATCH] Add missing select's to DVB_BUDGET_AV
This fixes the following compile error:
...
LD .tmp_vmlinux1
drivers/built-in.o: In function `frontend_init':
budget-av.c:(.text+0xb9448): undefined reference to `tda10046_attach'
budget-av.c:(.text+0xb9518): undefined reference to `tda10021_attach'
drivers/built-in.o: In function `philips_tu1216_request_firmware':
budget-av.c:(.text+0xb937b): undefined reference to `request_firmware'
make: *** [.tmp_vmlinux1] Error 1
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Johannes Stezenbach <js@linuxtv.org>
Acked-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Thu, 1 Sep 2005 14:56:26 +0000 (15:56 +0100)]
[SERIAL] Move serial8250_*_port prototypes to linux/serial_8250.h
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 1 Sep 2005 13:51:59 +0000 (14:51 +0100)]
[ARM] Simplify setup_mm_for_reboot()
No point checking what CPU architecture level we have each time
within the loop, so precompute the base PMD flags outside the
loop.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 1 Sep 2005 13:45:18 +0000 (14:45 +0100)]
[ARM] Convert open-coded __pmd_populate to use inline function
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Russell King [Thu, 1 Sep 2005 13:25:45 +0000 (14:25 +0100)]
[SERIAL] mwave is no longer broken
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Thu, 1 Sep 2005 11:48:48 +0000 (12:48 +0100)]
[ARM] 2864/1: VST aka CONFIG_NO_IDLE_HZ support for SA11x0
Patch from Nicolas Pitre
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Thu, 1 Sep 2005 11:48:47 +0000 (12:48 +0100)]
[ARM] 2863/1: clarify comment in PXA2xx and SA1x00 timer code
Patch from Nicolas Pitre
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Thu, 1 Sep 2005 11:48:40 +0000 (12:48 +0100)]
[ARM] 2862/1: VST aka CONFIG_NO_IDLE_HZ support for PXA2xx
Patch from Nicolas Pitre
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Nicolas Pitre [Thu, 1 Sep 2005 11:37:13 +0000 (12:37 +0100)]
[ARM] 2865/2: fix fadvise64_64 syscall argument passing
Patch from Nicolas Pitre
The prototype for sys_fadvise64_64() is:
long sys_fadvise64_64(int fd, loff_t offset, loff_t len, int advice)
The argument list is therefore as follows on legacy ABI:
fd: type int (r0)
offset: type long long (r1-r2)
len: type long long (r3-sp[0])
advice: type int (sp[4])
With EABI this becomes:
fd: type int (r0)
offset: type long long (r2-r3)
len: type long long (sp[0]-sp[4])
advice: type int (sp[8])
Not only do we have ABI differences here, but the EABI version requires
one additional word on the syscall stack.
To avoid the ABI mismatch and the extra stack space required with EABI
this syscall is now defined with a different argument ordering
on ARM as follows:
long sys_arm_fadvise64_64(int fd, int advice, loff_t offset, loff_t len)
This gives us the following ABI independent argument distribution:
fd: type int (r0)
advice: type int (r1)
offset: type long long (r2-r3)
len: type long long (sp[0]-sp[4])
Now, since the syscall entry code takes care of 5 registers only by
default including the store of r4 to the stack, we need a wrapper to
store r5 to the stack as well. Because that wrapper was missing and was
always required this means that sys_fadvise64_64 never worked on ARM and
therefore we can safely reuse its syscall number for our new
sys_arm_fadvise64_64 interface.
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jouni Malinen [Mon, 29 Aug 2005 00:53:32 +0000 (17:53 -0700)]
[PATCH] hostap: Fix null pointer dereference in prism2_pccard_card_present()
local->hw_priv was initialized only after the interrupt handler was
registered. This could trigger a NULL pointer dereference in
prism2_pccard_card_present() that assumed that local->hw_priv is always
set (and it should have been). Fix this by setting local->hw_priv before
registering the interrupt handler.
Signed-off-by: Jouni Malinen <jkmaline@cc.hut.fi>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:29 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Be consistent about driver name, increment version
The iseries_veth driver tells sysfs that it's called 'iseries_veth', but if
you ask it via ethtool it thinks it's called 'veth'. I think this comes from
2.4 when the driver was called 'veth', but it's definitely called
'iseries_veth' now, so fix it.
To make sure we don't do it again define DRV_NAME and use it everywhere.
While we're at it, change the version number to 2.0, to reflect the changes
made in this patch series.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:27 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove studly caps from iseries_veth.c
Having merged iseries_veth.h, let's remove some of the studly caps that came
with it.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:25 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Incorporate iseries_veth.h in iseries_veth.c
iseries_veth.h is only used by iseries_veth.c, so merge the former into
the latter.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:21 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add sysfs support for port structs
Also to aid debugging, add sysfs support for iseries_veth's port structures.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:20 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add sysfs support for connection structs
To aid in field debugging, add sysfs support for iseries_veth's connection
structures. At the moment this is all read-only, however we could think about
adding write support for some attributes in future.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:19 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Fix bogus counting of TX errors
There's a number of problems with the way iseries_veth counts TX errors.
Firstly it counts conditions which aren't really errors as TX errors. This
includes if we don't have a connection struct for the other LPAR, or if the
other LPAR is currently down (or just doesn't want to talk to us). Neither
of these should count as TX errors.
Secondly, it counts one TX error for each LPAR that fails to accept the packet.
This can lead to TX error counts higher than the total number of packets sent
through the interface. This is confusing for users.
This patch fixes that behaviour. The non-error conditions are no longer
counted, and we introduce a new and I think saner meaning to the TX counts.
If a packet is successfully transmitted to any LPAR then it is transmitted
and tx_packets is incremented by 1.
If there is an error transmitting a packet to any LPAR then that is counted
as one error, ie. tx_errors is incremented by 1.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:18 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Simplify full-queue handling
The iseries_veth driver often has multiple netdevices sending packets over
a single connection to another LPAR. If the bandwidth to the other LPAR is
exceeded, all the netdevices must have their queues stopped.
The current code achieves this by queueing one incoming skb on the
per-netdevice port structure. When the connection is able to send more packets
we iterate through the port structs and flush any packet that is queued,
as well as restarting the associated netdevice's queue.
This arrangement makes less sense now that we have per-connection TX timers,
rather than the per-netdevice generic TX timer.
The new code simply detects when one of the connections is full, and stops
the queue of all associated netdevices. Then when a packet is acked on that
connection (ie. there is space again) all the queues are woken up.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:17 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Add a per-connection ack timer
Currently the iseries_veth driver contravenes the specification in
Documentation/networking/driver.txt, in that if packets are not acked by
the other LPAR they will sit around forever.
This patch adds a per-connection timer which fires if we've had no acks for
five seconds. This is superior to the generic TX timer because it catches
the case of a small number of packets being sent and never acked.
This fixes a bug we were seeing on real systems, where some IPv6 neighbour
discovery packets would not be acked and then prevent the module from being
removed, due to skbs lying around.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:12 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove TX timeout code
The iseries_veth driver uses the generic TX timeout watchdog, however a better
solution is in the works, so remove this code.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:09 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Use kobjects to track lifecycle of connection structs
The iseries_veth driver can attach to multiple vlans, which correspond to
multiple net devices. However there is only 1 connection between each LPAR,
so the connection structure may be shared by multiple net devices.
This makes module removal messy, because we can't deallocate the connections
until we know there are no net devices still using them. The solution is to
use ref counts on the connections, so we can delete them (actually stop) as
soon as the ref count hits zero.
This patch fixes (part of) a bug we were seeing with IPv6 sending probes to
a dead LPAR, which would then hang us forever due to leftover skbs.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:08 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Make init_connection() & destroy_connection() symmetrical
This patch makes veth_init_connection() and veth_destroy_connection()
symmetrical in that they allocate/deallocate the same data.
Currently if there's an error while initialising connections (ie. ENOMEM)
we call veth_module_cleanup(), however this will oops because we call
driver_unregister() before we've called driver_register(). I've never seen
this actually happen though.
So instead we explicitly call veth_destroy_connection() for each connection,
any that have been set up will be deallocated.
We also fix a potential leak if vio_register_driver() fails.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:07 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Only call dma_unmap_single() if dma_map_single() succeeded
The iseries_veth driver unconditionally calls dma_unmap_single() even
when the corresponding dma_map_single() may have failed.
Rework the code a bit to keep the return value from dma_unmap_single()
around, and then check if it's a dma_mapping_error() before we do
the dma_unmap_single().
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:06 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Replace lock-protected atomic with an ordinary variable
The iseries_veth driver uses atomic ops to manipulate the in_use field of
one of its per-connection structures. However all references to the
flag occur while the connection's lock is held, so the atomic ops aren't
necessary.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:05 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Remove redundant message stack lock
The iseries_veth driver keeps a stack of messages for each connection
and a lock to protect the stack. However there is also a per-connection lock
which makes the message stack lock redundant.
Remove the message stack lock and document the fact that callers of the
stack-manipulation functions must hold the connection's lock.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:02 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Fix broken promiscuous handling
Due to a logic bug, once promiscuous mode is enabled in the iseries_veth
driver it is never disabled.
The driver keeps two flags, promiscuous and all_mcast which have exactly the
same effect. This is because we only ever receive packets destined for us,
or multicast packets. So consolidate them into one promiscuous flag for
simplicity.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:29:00 +0000 (11:29 +1000)]
[PATCH] iseries_veth: Try to avoid pathological reset behaviour
The iseries_veth driver contains a state machine which is used to manage
how connections are setup and neogotiated between LPARs.
If one side of a connection resets for some reason, the two LPARs can get
stuck in a race to re-setup the connection. This can lead to the connection
being declared dead by one or both ends. In practice the connection is
declared dead by one or both ends approximately 8/10 times a connection is
reset, although it is rare for connections to be reset.
(an example here: http://michael.ellerman.id.au/files/misc/veth-trace.html)
The core of the problem is that the end that resets the connection doesn't
wait for the other end to become aware of the reset. So the resetting end
starts setting the connection back up, and then receives a reset from the
other end (which is the response to the initial reset). And so on.
We're severely limited in what we can do to fix this. The protocol between
LPARs is essentially fixed, as we have to interoperate with both OS/400
and old Linux drivers. Which also means we need a fix that only changes the
code on one end.
The only fix I've found given that, is to just blindly sleep for a bit when
resetting the connection, in the hope that the other end will get itself
sorted. Needless to say I'd love it if someone has a better idea.
This does work, I've so far been unable to get it to break, whereas without
the fix a reset of one end will lead to a dead connection ~8/10 times.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:28:59 +0000 (11:28 +1000)]
[PATCH] iseries_veth: Remove a FIXME WRT deletion of the ack_timer
The iseries_veth driver has a timer which we use to send acks. When the
connection is reset or stopped we need to delete the timer.
Currently we only call del_timer() when resetting a connection, which means
the timer might run again while the connection is being re-setup. As it turns
out that's ok, because the flags the timer consults have been reset.
It's cleaner though to call del_timer_sync() once we've dropped the lock,
although the timer may still run between us dropping the lock and calling
del_timer_sync(), but as above that's ok.
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Michael Ellerman [Thu, 1 Sep 2005 01:28:57 +0000 (11:28 +1000)]
[PATCH] iseries_veth: Cleanup error and debug messages
Currently the iseries_veth driver prints the file name and line number in its
error messages. This isn't very useful for most users, so just print
"iseries_veth: message" instead.
- convert uses of veth_printk() to veth_debug()/veth_error()/veth_info()
- make terminology consistent, ie. always refer to LPAR not lpar
- be consistent about printing return codes as %d not %x
- make format strings fit in 80 columns
Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Tony Luck [Wed, 31 Aug 2005 21:19:44 +0000 (14:19 -0700)]
Auto-update from upstream
Alan Cox [Wed, 31 Aug 2005 21:19:33 +0000 (22:19 +0100)]
[SERIAL] Convert mwave to use serial8250_(un)?register_port
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Martin Hicks [Wed, 31 Aug 2005 18:21:00 +0000 (11:21 -0700)]
[IA64] uncached allocator: use generic (not sn2 specific) functions
Change sn2-specific calls into generic functions. Without this change
the uncached allocator will not work on non-sn2 platforms.
Signed-off-by: Greg Edwards <edwardsg@sgi.com>
Signed-off-by: Martin Hicks <mort@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Sascha Hauer [Wed, 31 Aug 2005 20:48:47 +0000 (21:48 +0100)]
[ARM] 2866/1: add i.MX set_mctrl / get_mctrl functions
Patch from Sascha Hauer
This patch adds support for setting and getting RTS / CTS via
set_mtctrl / get_mctrl functions.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
David Vrabel [Wed, 31 Aug 2005 20:45:14 +0000 (21:45 +0100)]
[ARM] 2869/1: ixp4xx: correct ioread*/iowrite*
Patch from David Vrabel
Correct the ioread* and iowrite* functions. In particular, add an offset to the cookie in ioport_map so we can map I/O port ranges starting from 0 (0 is for reporting errors).
Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Catalin Marinas [Wed, 31 Aug 2005 20:45:14 +0000 (21:45 +0100)]
[ARM] 2868/1: Include linux/cpumask.h in arch/arm/common/gic.c
Patch from Catalin Marinas
Minor compilation error fix.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Steve Longerbeam [Wed, 31 Aug 2005 20:22:20 +0000 (21:22 +0100)]
[ARM] 2867/2: unaligned ldrd/strd fixups
Patch from Steve Longerbeam
Adds an implementation of unaligned LDRD and STRD fixups.
Also fixes a bug where do_alignment() would misinterpret and
fixup an unaligned LDRD/STRD as LDRH/STRH, causing memory
corruption.
This is the same as Patch #2867/1, but with minor whitespace
and comments changes, plus a check for arch-level >= v5TE
before printing ai_dword count in proc_alignment_read().
Signed-off-by: Steve Longerbeam <stevel@mwwireless.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Jeff Garzik [Wed, 31 Aug 2005 10:11:16 +0000 (06:11 -0400)]
[netdrvr de2104x] store PCI bus addresses in unsigned long
BZ# 4475.
Jeff Garzik [Wed, 31 Aug 2005 09:48:59 +0000 (05:48 -0400)]
[netdrvr tulip] new PCI ID
Noted in BZ# 2960.
Russell King [Wed, 31 Aug 2005 09:12:14 +0000 (10:12 +0100)]
[SERIAL] Clean up and fix tty transmission start/stoping
The start_tx and stop_tx methods were passed a flag to indicate
whether the start/stop was from the tty start/stop callbacks, and
some drivers used this flag to decide whether to ask the UART to
immediately stop transmission (where the UART supports such a
feature.)
There are other cases when we wish this to occur - when CTS is
lowered, or if we change from soft to hard flow control and CTS
is inactive. In these cases, this flag was false, and we would
allow the transmitter to drain before stopping.
There is really only one case where we want to let the transmitter
drain before disabling, and that's when we run out of characters
to send.
Hence, re-jig the start_tx and stop_tx methods to eliminate this
flag, and introduce new functions for the special "disable and
allow transmitter to drain" case.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Ben Dooks [Wed, 31 Aug 2005 08:42:14 +0000 (09:42 +0100)]
[ARM] 2857/2: Dynamic tick - fix OOPS if configured and not provided
Patch from Ben Dooks
timer_dyn_reprogram() fails with an OOPS if the
configuration for CONFIG_NO_IDLE_HZ is enabled, and
the system has no support for it.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Tony Luck [Tue, 30 Aug 2005 21:59:24 +0000 (14:59 -0700)]
[IA64] Low byte of current->personality is not a bitmask.
Peter Staubach pointed out that it is not correct to check
current->personality & PER_LINUX32 (this will have false
hits on several other personality values).
Signed-off-by: Tony Luck <tony.luck@intel.com>
Linus Torvalds [Tue, 30 Aug 2005 18:16:30 +0000 (11:16 -0700)]
Merge refs/heads/upstream from /linux/kernel/git/jgarzik/netdev-2.6.git
Marcelo Tosatti [Tue, 30 Aug 2005 16:40:22 +0000 (13:40 -0300)]
[PATCH] ppc32 8xx: fix warnings in m8xx_setup.c
The following patch fixes two warnings in arch/ppc/syslib/m8xx_setup.c
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ivan Kokshaysky [Tue, 30 Aug 2005 14:48:52 +0000 (18:48 +0400)]
[PATCH] x86: pci_assign_unassigned_resources() update
I had some time to think about PCI assign issues in 2.6.13-rc series.
The major problem here is that we call pci_assign_unassigned_resources()
way too early - at subsys_initcall level. Therefore we give no chances
to ACPI and PnP routines (called at fs_initcall level) to reserve their
respective resources properly, as the comments in drivers/pnp/system.c
and drivers/acpi/motherboard.c suggest:
/**
* Reserve motherboard resources after PCI claim BARs,
* but before PCI assign resources for uninitialized PCI devices
*/
So I moved the pci_assign_unassigned_resources() call to
pcibios_assign_resources() (fs_initcall), which should hopefully fix a
lot of problems and make PCIBIOS_MIN_IO tweaks unnecessary.
Other changes:
- remove resource assignment code from pcibios_assign_resources(), since
it duplicates pci_assign_unassigned_resources() functionality and
actually does nothing in 2.6.13;
- modify ROM assignment code as per Ben's suggestion: try to use firmware
settings by default (if PCI_ASSIGN_ROMS is not set);
- set CARDBUS_IO_SIZE back to 4K as it's a wonderful stress test for
various setups.
Confirmed by Tero Roponen <teanropo@cc.jyu.fi> (who had problems with
the 4kB CardBus IO size previously).
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Garzik [Tue, 30 Aug 2005 17:32:29 +0000 (13:32 -0400)]
Merge HEAD from /spare/repo/linux-2.6/.git
Tony Luck [Tue, 30 Aug 2005 16:30:09 +0000 (09:30 -0700)]
Auto-update from upstream
Linus Torvalds [Tue, 30 Aug 2005 14:47:42 +0000 (07:47 -0700)]
Merge refs/heads/for-linus from /linux/kernel/git/shaggy/jfs-2.6.git
Linus Torvalds [Tue, 30 Aug 2005 14:47:01 +0000 (07:47 -0700)]
Merge HEAD from /linux/kernel/git/perex/alsa
Linus Torvalds [Tue, 30 Aug 2005 14:45:15 +0000 (07:45 -0700)]
Merge refs/heads/drm-latest from /linux/kernel/git/airlied/drm-2.6
Clemens Ladisch [Tue, 2 Aug 2005 13:26:52 +0000 (15:26 +0200)]
[ALSA] usb-audio: throttle MIDI URB resubmits on USB errors
USB generic driver
When a USB error occurs that might indicate that the device has been
unplugged, don't resubmit the URB immediately to prevent flooding the
log with error messages before khubd has us disconnect()ed.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Takashi Iwai [Tue, 30 Aug 2005 06:58:37 +0000 (08:58 +0200)]
[PATCH] Assign device pointer to OSS devices
Add register_sound_special_device() function to allow assignment of
device pointer to a specific OSS device for HAL.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Jaroslav Kysela [Tue, 30 Aug 2005 06:48:35 +0000 (08:48 +0200)]
[ALSA] version 1.0.10rc1
Lee Revell [Mon, 29 Aug 2005 15:42:00 +0000 (17:42 +0200)]
[ALSA] Add identification for Live 5.1 [SB0220]
EMU10K1/EMU10K2 driver
Add identification for Live 5.1 [SB0220]
Signed-off-by: Lee Revell <rlrevell@joe-job.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Fri, 26 Aug 2005 15:26:40 +0000 (17:26 +0200)]
[ALSA] emu10k1 - Add missing ac97 support on SBLive! Player 5.1
EMU10K1/EMU10K2 driver
Added the missing ac97 support on SBLive! Player 5.1.
Signed-off-by: Takashi Iwai <tiwai@suse.de>