Andrew Morton [Thu, 13 Feb 2003 01:40:42 +0000 (17:40 -0800)]
[PATCH] xattr: lock_kernel() balancing fix
Patch from Andreas Gruenbacher <agruen@suse.de>
This patch fixes an unbalanced lock_kernel()/unlock_kernel() path in the ext3
extended attributes code. Instead of fixing this in fs/ext3/xattr_user.c,
the locking code is moved to fs/ext3/xattr.c, since most other types of
extended attributes will need the exact same functionality.
Andrew Morton [Thu, 13 Feb 2003 01:40:15 +0000 (17:40 -0800)]
[PATCH] Cyclone timer fixes
Patch from: john stultz <johnstul@us.ibm.com>
This patch "fixes" the timer_cyclone code by having it
initialize fast_gettimeoffset_quotient and cpu_khz in the same manner as
timer_tsc. This is required for enabling the timer_cyclone code on the
x440.
Ideally fast_gettimeoffset_quotient would not be used outside timer_tsc
and cpu_khz would be initialized generically outside the timer
subsystem. I have patches to do this, but they touch quite a bit of
generic code, and I'd rather not make the timer_cyclone enablement
(patch to follow) depend on these larger changes.
Andrew Morton [Thu, 13 Feb 2003 01:40:07 +0000 (17:40 -0800)]
[PATCH] ia32 TSC timer cleanup
Patch from: john stultz <johnstul@us.ibm.com>
This cleanup patch makes fast_gettimeoffset_quotient (a timer_tsc specific
variable) static, and replaces its usage with cpu_khz, making it timer_opt
independent.
Attempting to cat a sysfs file that returns an error will result in an
endless dump of garbage to the screen because the result of the specific show
operation was being saved to a size_t (unsigned) and then later checked for a
negative value.
Andrew Morton [Thu, 13 Feb 2003 01:39:33 +0000 (17:39 -0800)]
[PATCH] set unplug_timer.function inside blk_queue_make_request
Patch from Neil Brown <neilb@cse.unsw.edu.au>
Initialise the queue's unplug_timer inside blk_queue_make_request. This
makes the new auto-unplugging more accessable by other clients of
blk_queue_make_request - e.g. raid5, umem.
Jean Tourrilhes [Wed, 12 Feb 2003 22:15:08 +0000 (17:15 -0500)]
[irda] rx/tx wrapper path rewrites and cleanup:
o [FEATURE] Properly inline in wrapper Tx path
o [FEATURE] Rewrite/simplify/optimise wrapper Rx path
Lower CPU overhead *and* kernel image size
o [FEATURE] Add ZeroCopy in wrapper Rx path for drivers that support it
I'll update drivers later on...
Vojtech Pavlik [Wed, 12 Feb 2003 12:02:12 +0000 (13:02 +0100)]
input.c: joydev/mousedev update
- relax requirements on devices, joydev now allows joysticks
without buttons to work with throttles and pedals, mousedev
allows a separate mouse wheel
- remove a stray semicolon in joydev
Vojtech Pavlik [Wed, 12 Feb 2003 11:24:25 +0000 (12:24 +0100)]
input: Update AT+PS/2 mouse and keyboard drivers:
- Fix a possible deadlock with 0xfe resend command (atkbd)
- Make ->ack variables volatile (they're updated from irq)
- Fix the GETID one/two byte command to avoid any races
- Fix Logitech PS2++ extended packet detection
- Use RESET_BAT on reboot to make notebooks happy
Andrew Morton [Wed, 12 Feb 2003 05:38:37 +0000 (21:38 -0800)]
[PATCH] printk size_t qualifier confusion
My printf manpage says:
z A following integer conversion corresponds to a
size_t or ssize_t argument. (Linux libc5 has Z with
this meaning. Don't use it.)
And the opengroup spec says
z Specifies that a following d , i , o , u , x , or X conversion specifier
applies to a size_t or the corresponding signed integer type argument; or
that a following n conversion specifier applies to a pointer to a signed
integer type corresponding to a size_t argument.
yet our vsnprintf implementation has
/* 'z' support added 23/7/1999 S.H. */
/* 'z' changed to 'Z' --davidm 1/25/99 */
I guess the path of least surprise is to support both. gcc-3.2.1 doesn't
seem to care.
The locking in some OSS modules is really lousy.
Because save_flags/cli/restore_flags could be used recursivly - the
programmers pushed the locking too far the lower level.
Because on ISA cards the register sets are usually multiplexed
you had to write to an address latch and then access the data port
in an "atomic" manner.
I suggest removing the locking from ad_read/ad_write +
ad_{enter|leave}_MCE and clamping the locks wherever the functions
are called. I hope the attached patch does that correctly.
Yes, I don't like all the timeout loops while holding the locks:
high chances that a cpu is spinning in interrupt context :(
Andrew Morton [Wed, 12 Feb 2003 05:08:24 +0000 (21:08 -0800)]
[PATCH] fix fadvise64() return type
Patch from: David Mosberger <davidm@napali.hpl.hp.com>
Please remember to declare the return-type of syscall stubs as "long".
On 64-bit platforms, it's generally necessary to ensure that the
entire 64-bit return value is valid (and can be checked against
negative values).
Andrew Morton [Wed, 12 Feb 2003 05:07:17 +0000 (21:07 -0800)]
[PATCH] EATA driver fix
This driver is calling down into scsi_register with local interrupts
disabled. scsi_register performs blocking allocations, starts kernel
threads, etc. slab debugging gets offended by someone performing blocking
operations with local interrupts disabled.