Jaroslav Kysela [Tue, 26 Feb 2002 03:47:57 +0000 (19:47 -0800)]
[PATCH] ALSA patch for 2.5.5
- added support for KERN_ prefixes for snd_printk
- verbose printk (file:number) is now optional
- fixed devfs OSS device names in soundcore
- added XRUN ioctl for PCM API
- improved support for Sound Blaster Audigy
- fixed AC3 forwarding for Sound Blaster Live!
- more fixes in dependencies in Makefiles
- llseek locking fixes for sound/core/info.c
- fixed ISA DMA allocation
- added wait() callback for ac97_codec.c and VIA686 driver
- CMIPCI driver updates
- added AMD-8111 support for Intel8x0
Dave Jones [Tue, 26 Feb 2002 03:36:01 +0000 (19:36 -0800)]
[PATCH] later DMI scan.
This moves the dmi scan to an earlier stage so that we can trap issues
such as the various laptops that don't like enabling APIC.
It's likely to be useful for trapping other similar early-boot problems.
Originally by Mikael Pettersson
Dave Jones [Tue, 26 Feb 2002 03:35:39 +0000 (19:35 -0800)]
[PATCH] un'fix' NCR scsi driver.
Linus,
Current driver in your tree has been 'fixed' by someone without
understanding just how broken it was. Numerous fixes were done in 2.4
after the 2.5 split by Alan.
This patch reverts the damage the driver does in your tree, and brings
Alan's 2.4 bits over instead. Downside: It doesn't compile.
Upside: It doesn't pretend to work and corrupt data, and at least
is the right base for people to start fixing.
Alexander Viro [Mon, 25 Feb 2002 04:19:57 +0000 (20:19 -0800)]
[PATCH] net/wanrouter/wan{proc,main}.c crapectomy
Patch below does the following:
* removes dead code from wanproc.c. When file looks like
#ifdef LINUX_2_4
<800 lines>
#else
<900 lines>
#endif
there's no excuse for keeping all that junk around.
* switches wanproc.c to use of seq_file
* removes dead code from wanmain.c (again, dead == never seen by cc1).
* fixes indentation in both
* removes buttloads of trailing spaces in these files, while we are
at it.
Alexander Viro [Mon, 25 Feb 2002 04:07:53 +0000 (20:07 -0800)]
[PATCH] (3/3) fs/super.c cleanups
Preparation to adding new method:
new helper - shutdown_super(). It is cut from kill_super() and
it had absorbed all actions done with superblock contents -
now kill_super(s) is simply
struct file_system_type *fs = s->s_type;
if (!deactivate_super(s))
return;
shutdown_super(s);
put_filesystem(fs);
Alexander Viro [Mon, 25 Feb 2002 04:07:46 +0000 (20:07 -0800)]
[PATCH] (2/3) fs/super.c cleanups
Now remove_super() is called only from kill_super(). We move
the code that closes device/drops reference to filesystem type
from remove_super() into its caller.
Alexander Viro [Mon, 25 Feb 2002 04:07:38 +0000 (20:07 -0800)]
[PATCH] (1/3) fs/super.c cleanups
* missing yield() added to grab_super() (on failure exit). Without
that we have a nasty race - if get_sb_bdev() happens just before
we grab ->s_umount in kill_super(), we are going to have
get_sb_bdev() spinning indefinitely long without yielding CPU,
so that kill_super() could make progress (and break the loop).
* in kill_super() code that does actual superblock shutdown is
wrapped in if (sb->s_root) {}. That condition is true for
all old callers of kill_super(), so we don't change existing
behaviour.
* instances of deactivate_super()/remove_super() (after failed
call of foo_fill_super()) are replaced with
up_write(&s->s_umount);
kill_super(s);
- now it becomes legitimate (kill_super() works on such guys and
does exactly what we want).
Ingo Molnar [Sat, 23 Feb 2002 20:36:00 +0000 (21:36 +0100)]
- new, less intrusive and faster migration method:
/*
* This is how migration works:
*
* 1) we queue a migration_req_t structure in the source CPU's
* runqueue and wake up that CPU's migration thread.
* 2) we down() the locked semaphore => thread blocks.
* 3) migration thread wakes up (implicitly it forces the migrated
* thread off the CPU)
* 4) it gets the migration request and checks whether the migrated
* task is still in the wrong runqueue.
* 5) if it's in the wrong runqueue then the migration thread removes
* it and puts it into the right queue.
* 6) migration thread up()s the semaphore.
* 7) we wake up and the migration is done.
*/
the lvm-patch that went into 2.5.5 missed the changes in lvm.h and is
still not compileable. This patch adds those changes. The kernel i'm
running right now has this patch and /var and /home on lvm.
Robert Love [Thu, 21 Feb 2002 04:23:39 +0000 (20:23 -0800)]
[PATCH] add lseek changes to fs porting guide
Al updated Documentation/filesystems/porting with 2.5 changes but there
is no mention of lseek. The following patch, against 2.5.5, adds lseek
to the list of functions that no longer are called with the BKL.
Robert Love [Thu, 21 Feb 2002 04:23:34 +0000 (20:23 -0800)]
[PATCH] proper lseek locking in ALSA, take 3
The attached patch implements proper locking in ALSA lseek methods.
Note ALSA has 3 lseek implementations, but only:
sound/core/info.c :: snd_info_entry_llseek()
requires locking. I wrapped the function in the BKL. According to
Jaroslav Kysela the gus_mem_proc method is only called from above. The
third lseek, in hwdep.c, clearly doesn't need locking. Without this
patch, the above lseek is not safe.
Dario Ballabio [Thu, 21 Feb 2002 04:22:10 +0000 (20:22 -0800)]
[PATCH] PATCH: scsi driver update for 2.5.5
Here enclosed patch for eata.c, eata.h, u14-34f.c, u14-34f.h
to be applied to lk-2.5.5.
eata.c:
+ Remove any reference to virt_to_bus().
+ Fix pio hang while detecting multiple HBAs.
+ Fixed a board detection bug: in a system with
multiple ISA/EISA boards, all but the first one
were erroneously detected as PCI.
u14-34f.c:
+ Remove any reference to virt_to_bus().
+ Fix pio hang while detecting multiple HBAs.
Hans Reiser [Thu, 21 Feb 2002 04:18:58 +0000 (20:18 -0800)]
[PATCH] 2.5 dropping unneded lock precense check.
After BKL was moved from the VFS into the filesystem's methods in the lookup
call, we do not need to check BKL is actually held (we know it is not).
This patch patch removes unneeded lock_depth check.
Without this patch reiserfs cannot be used on SMP.
2.5.5 Oopses at boot time with a disk in a zipdrive.
With this patch all is fine. I have not read the
patch, certainly not checked it for correctness,
just observed that it works for me.
I think the author is Rich Baum.
Jeff Garzik [Thu, 21 Feb 2002 03:26:29 +0000 (22:26 -0500)]
Update wireless net drivers wavelan and wavelan_cs to directly
use spin_[un]lock_irq{save,restore}, instead of defining static
inline functions to do the same thing (but possibly in a non-portable
way).
Russell King [Wed, 20 Feb 2002 14:46:09 +0000 (14:46 +0000)]
Remove some uses of depreciated save_flags_cli() in favour of the more
generic local_irq_save() where appropriate. (None of these are ever
going to be used on a SMP ARM machine).
Ed Vance [Wed, 20 Feb 2002 10:01:00 +0000 (05:01 -0500)]
This patch corrects PCI device id in pci_ids.h for Oxford Semi OX16PCI952
PCI/dual 16950 UART chip, and adds this entry to pci.ids. I downloaded the
datasheet today and verified that 9521 is the correct device id.
Tim Hockin [Wed, 20 Feb 2002 09:18:31 +0000 (04:18 -0500)]
Link status detection fix for natsemi net driver.
Apparently, the LSTATUS bit of BMSR latches low until a management read.
This causes ETHTOOL_GLINK to report no-link on the first read after the
link is connected. (damned QA people catch dumb stuff like this KNOWING
I'll have to fix it). This patch just forces GLINK to mdio_read() twice.
Johannes Erdfelt [Wed, 20 Feb 2002 08:00:37 +0000 (00:00 -0800)]
uhci.c didn't work well with USB storage. It would tend to stall
relatively quickly and sometimes locked up the system. It usually only
took me a couple of tries ripping a CD to reproduce the problem.
I took a long hard look at the locking in uhci.c and decided to clean
it up, fixing a couple of bugs along the way as well as documenting the
locking strategy.
With this patch applies, where I could only rip a CD a couple of times
before causing problems, I was able to rip a CD 12,000 times in a row
successfully, before I stopped it. Not a single error :)
Johannes Erdfelt [Wed, 20 Feb 2002 07:59:27 +0000 (23:59 -0800)]
[PATCH] uhci.c, fix pci dma ordering issue
There was a bug where we unmap the PCI DMA mapping and then sync the
data afterwards. This reverses the ordering as well as insures we don't
unmap the region more than once.
Dave Jones [Tue, 19 Feb 2002 09:22:48 +0000 (01:22 -0800)]
[PATCH] LVM fixes.
Numerous LVM fixes & cleanups.
Gets things compiling again, and allegedly works according to feedback.
Mostly from Anders in absence of any maintainence by LVM people.
There are two critical problems with lvm in 2.5.2-pre11 (and earlier).
* ioctls on the chardev allocates a >4k lv_t on stack. if the ioctl is
LV_CREATE, LV_EXTEND, LV_REDUCE or LV_RENAME data is copied into this
and the task_struct will most certainly be corrupted.
* sizeof(lv_t) differs between user and kernelspace. The userspace version
of the lv_t structure is much smaller than the kernelspace version. This
leads to corruption of memory in the userspace application when an lv_t is
copied from kernelspace to userspace, as in "vgdisplay -v"
The following patch addresses these two issues. It puts the user-space
version of the lv_t into a substructure of the kernelspace version. When
communicating to userspace just the userlv_t part is used. This avoids the
allocation of the lv_t on the stack by allocation just a userlv_t instead.