Andi Kleen [Thu, 7 Mar 2002 08:57:13 +0000 (00:57 -0800)]
[PATCH] Two small compile fixes for x86-64
Here are two small compile fixes for x86-64 in 2.5.6pre2.
- Remove call to schedule_tail.
- Fix inline assembly of semaphores to work with latest gcc 3.1.
Urban Widmark [Thu, 7 Mar 2002 08:55:56 +0000 (00:55 -0800)]
[PATCH] smbfs unicode support
This patch adds unicode support and wants to be applied on top of the LFS
one. It uses a fake nls module to do the (little endian) unicode
translation.
Martin J. Bligh [Thu, 7 Mar 2002 08:54:03 +0000 (00:54 -0800)]
[PATCH] forward port of NUMA-Q pci patch from 2.4.19-pre2
This patch enables PCI buses on nodes above node 0 for
the NUMA-Q architecture. It also enables node-directed
port/IO, and cleans up a couple of tiny things that only
affect CONFIG_MULTIQUAD.
This is one of the very early steps on cleaning up the SCSI cdrom
driver. It gets rid of directly accessing the scsi_CDs array in favour
of using the handle we get from the generic cdrom layer. Also uses
local vars instead of many grouped scsi_CDs accesses in other places.
The gain is to get rid of the global, static array of CDROMS
in the end.
David Brownell [Thu, 7 Mar 2002 08:47:41 +0000 (00:47 -0800)]
USB
ehci-0306, iso, philips, speedups
- adds preliminary highspeed ISO support
- tweaks the driver to support the Philips EHCI
- does less in the IRQ handler
- avoids accessing one immutable PCI register
The ISO support should be enough to start writing
drivers, not that I know of any ISO devices that are
really available yet, but it's not fully cooked yet.
As a functional milestone, this means Linux now
handles all kinds of highspeed device I/O. (But it
doesn't yet handle split periodic transactions, to
full or low speed devices through USB 2.0 hubs.)
David Howells [Thu, 7 Mar 2002 08:46:44 +0000 (00:46 -0800)]
[PATCH] execve TGID dethreading bug fix
kill all subsidiary threads in a thread group when the main thread
exits.
Features:
- It sends the subsidiary threads SIGKILL with SI_DETHREAD.
- Subsidiary threads doing an execve() just leave the thread group (rather
than forcing the master thread to do an execve() which would be more POSIX
like).
David Brownell [Thu, 7 Mar 2002 08:46:43 +0000 (00:46 -0800)]
USB
hcd-0305, periodic and pci fixup
- removes the pci dependency you mentioned in the
rh_string code (friendlier to non-PCI HCs)
- makes code match doc (8859-1 chars, not just ascii)
- adds sanity checking for the periodic transfer interval,
and forces it to a power-of-two (code can leave HCDs)
- facilitates better IRQ sharing
Rusty Russell [Thu, 7 Mar 2002 08:44:55 +0000 (00:44 -0800)]
[PATCH] misc_register/request_region
These are the small subset which were obviously correct.
Evgeniy Polyakov <johnpol@2ka.mipt.ru>:
Patches check return values for request_region() and misc_register().
This patches make janitorial project TODO list a bit smaller.
Rusty Russell [Thu, 7 Mar 2002 08:44:45 +0000 (00:44 -0800)]
[PATCH] 2.5.6-pre3. Documentation
atomic ops are *not* barriers any more.
Sebastian Wilhelmi <wilhelmi@ira.uka.de>: Re: Question on your "Unreliable Guide To Locking":
> Yes, this is no longer true. The modern assumptions are that they are
> not barriers.
The compiler warns about about crd_load being defined but never used with
my config. The appended patch avoids compiling in the unused code in this
case.
[PATCH] Use phys_to_virt instead of bus_to_virt in vesafb
Several people (including Alan Cox) on lkml claimed that the BIOS
returns CPU addresses, so using phys_to_virt is actually correct -
and it makes my kernel compile again.
As vesafb only compiles on i386, using a more portable API isn't useful,
anyway.
Jaroslav Kysela [Thu, 7 Mar 2002 02:10:05 +0000 (18:10 -0800)]
[PATCH] ALSA patch for 2.5.6pre2
Hello,
this recent ALSA patch includes:
- added initial version of Config.help files
- moved /proc/asound/sndstat to /proc/asound/oss/sndstat
- moved /proc/asound/oss-devices to /proc/asound/oss/devices
- snd-rtctimer updates (blocking of RTC driver change)
- added ioctl conversion code for 32-bit applications running on 64-bit kernels
- fixed dependencies in makefiles
- wavefront driver cleanups (removed LOOPS_PER_SEC)
- created Documentation/sound/alsa directory
François Romieu [Wed, 6 Mar 2002 21:48:02 +0000 (16:48 -0500)]
WAN drivers update 5/5:
New file and directory include/linux/hdlc/ioctl.h, containing
only WAN ioctl-related definitions.
Update include/linux/if.h to reference these structures, providing
us with complete type safety, including through ioctls.
François Romieu [Wed, 6 Mar 2002 21:37:33 +0000 (16:37 -0500)]
WAN drivers update 1/5:
Add new HDLC interface, split up huge hdlc.c driver into
multiple files based on hardware type. Convert WAN drivers
to new interface.
Go Taniguchi [Wed, 6 Mar 2002 21:26:01 +0000 (16:26 -0500)]
Update pcnet32 net driver with the following changes:
v1.27 improved CSR/PROM address detection, lots of cleanups,
new pcnet32vlb module option, HP-PARISC support,
added module parameter descriptions,
initial ethtool support - Helge Deller <deller@gmx.de>
v1.27a Sun Feb 10 2002 Go Taniguchi <go@turbolinux.co.jp>
use alloc_etherdev and register_netdev
fix pci probe not increment cards_found
FD auto negotiate error workaround for xSeries250
clean up and using new mii module
Paul Gortmaker [Wed, 6 Mar 2002 21:08:23 +0000 (16:08 -0500)]
MODULE_DESC net drivers cleanup.
Idea is that if there is a valid name in MODULE_DESCRIPTION("...")
then the name of the hardware/driver should not be also repeated
in each MODULE_PARM_DESC("..."). MODULE_DESCRIPTION has been
added to essentially all the 8390 drivers.
All of the drivers changed are 8390 based, with the exception of
eepro100 and 3c509.
Kent Yoder [Wed, 6 Mar 2002 20:55:49 +0000 (15:55 -0500)]
lanstreamer token ring driver update:
08/15/01 - Added ioctl() functionality for debugging, changed netif_*_queue
calls and other incorrectness - Kent Yoder <yoder1@us.ibm.com>
11/05/01 - Restructured the interrupt function, added delays, reduced the
the number of TX descriptors to 1, which together can prevent
the card from locking up the box - <yoder1@us.ibm.com>
Martin Dalecki [Wed, 6 Mar 2002 08:49:05 +0000 (00:49 -0800)]
[PATCH] IDE 17 (not just cleanup)
This is actually an attempt to remove some stall code from
this driver. However if some *real* users complain (Not just
the usuall: "Hey - if someone!" but the "Hey I'm using this!")
I'm all open to reenable it. Since I prepared this patch
yerstoday it doesn't contain the ide_module.h fixup. This will
follow later.
- Don't use the convoluted byte type in ide-pci.c. Just use the proper
u8instead.
- Move ide_get_or_set_dma_base to the only place where it's used and
reorganize the code there by killing the unnecessary
CONFIG_BLK_DEV_IDEDMA_FORCED configuration option.
- Remove unfunctional CONFIG_PKT_TASK_IOCTL code.
- Kill unused ALTSTAT_SCREW_UP code.
- Tons of dead code removed from ide-taskfile.c (#if 0 #endif and
friends)
- Remove unused IDE_DEBUG macro as well as lots of other name space
pollution from ide.h.
- Start using the ide_lock spin-lock for protecting access to data
structures instead of the excessive interrupt disabling games.
- Shorten the proc ouput of the piix initialization module.
- Remove special /proc tape "name" output from ide-tape.c. This was
redundant data which should only show up on syslog anyway.
- Kill the REALLY_FAST_IO undef from the ide.h. This was a mistake
present since far too many years in this driver. The proper way to
deal with broken systems is to define REALLY_SLOW_IO in system
dependent headers or particular driver files. We can always
reintroduce it easy if real users will complain, since OUT_BYTE() and
similar can be used as hooks. But I don't expect anybody reporting
about this. Even on the most broken IDE chip in the world (cmd640
at VLB) undefining this *always* worked for me. Nearly all the code
pieces in the ide driver code *reverted* it's effects explicitly
anyway.
- Remove the obsolete CONFIG_BLK_DEV_4DRIVES support. This was supposed
to support 4 drivers attached at one channel on some older chipsets,
in esp. Tekram 690CD, in the last century. They where all supposed to
work at a register set starting at the base address 0x1f0. Before
complaining that this is removing functionality, please note that this
must have been broken for already quite a long time, since the ide
driver didn't contain the special device selection methods implicated
by this any longer. It didn't scan this port too if PCI host chip
support was enabled (as it is in all those distributions around
there). On the other hand this is the most prominent case of
incoherent use of the mate member in the struct hwif_s. And please
think about how big the probability is, that there are systems out
there, where there are actually 4 drivers on such a channel?
- Streamline module initialization code by removing one shoot functions.
- Make the WAIT_READY value used in case of CONFIG_APM or
CONFIG_APM_MODULE the default, since this is what really reflects the
behavior of modern drives. It won't hurt any other case and finally
removing it is reducing the necessary coverage for overall driver code
testing/analysis.
- Move the IDE_LARGE_SEEK macro to the only place where it's actually
used. Replace the IDE_MIN() and IDE_MAX() drivers with the obvious.
Remove unused SPLIT_WORD and MAKE WORD from the local header.
- Remove CMD640_DUMP_REGS from global scope, since there is no
development done on this any longer. Finally, the way the host chip
initialization routines are called changed in the time between allows
this to remain fully local to the host chip driver in question.
- Some spell checking of comments in the code. (Yeep I have extended my
Vim to do this the "Word" way with nice undercurl lines... mozilla
remains to be fixed...)
Linus Torvalds [Wed, 6 Mar 2002 08:25:30 +0000 (00:25 -0800)]
Kernel lock exclusion is actually needed in the boot sequence,
so we need to make init_idle() aware of it so that it gets the
preempt_count initialization right.
Alexander Viro [Tue, 5 Mar 2002 11:24:42 +0000 (03:24 -0800)]
[PATCH] Re: "rename" breakage?
I've found what's going on there. Basically, we should not use
__user_walk() with LOOKUP_PARENT - nd->last.name is set to the last
component of the name and freeing that name before we are done is not a
good idea.
Adam Radford [Tue, 5 Mar 2002 07:16:17 +0000 (23:16 -0800)]
[PATCH] 3ware driver update for 2.5.6-pre3
- Fix bug in tw_aen_complete() where aen's could be lost.
Fix tw_aen_drain_queue() to display useful info at init.
Set tw_host->max_id for 12 port cards.
Add ioctl support for raw command packet post from userspace
with sglist fragments (parameter and io).
- Fix read capacity to under report by 1 sector to fix get
last sector ioctl.
- Fix bug where more AEN codes weren't coming out during
driver initialization.
Improved handling of PCI aborts.
- Fix bug in tw_findcards() where AEN code could be lost.
Increase timeout in tw_aen_drain_queue() to 30 seconds.
- Re-write raw command post with data ioctl method.
Remove raid5 bounce buffers for raid5 for 6XXX for kernel 2.5
Add tw_map/unmap_scsi_sg/single_data() for kernel 2.5
Replace io_request_lock with host_lock for kernel 2.5
Set max_cmd_len to 16 for 3dm for kernel 2.5
- Set host->max_sectors back up to 256.
- Modified pci parity error handling/clearing from config space
during initialization.
- Better handling of request sense opcode and sense information
for failed commands. Add tw_decode_sense().
Replace all mdelay()'s with scsi_sleep().
- Revert mdelay's and scsi_sleep's, this caused problems on
some SMP systems.
- Add pci_set_dma_mask(), rewrite kmalloc()/virt_to_bus() to
pci_alloc/free_consistent().
There is a problem with the through-8259A mode for IRQ 0 on I/O APIC
systems. Depending on correctness of an MP table, IRQ 0 routing is either
not registered at all or registered at a wrong pin. As a result the 8254
timer IRQ only works by an accident (it's edge-triggered and never
disabled/enabled so it happens to survive this incorrect configuration).
A visible effect is you can't change the affinity for IRQ 0.
Following is a patch that fixes both cases referred to above. The code
looks obvious but it was additionally run-time tested just in case. The
issue is serious -- please apply the patch ASAP. As no changes were done
to io_apic.c since the development fork, the patch applies cleanly both to
2.4 and to 2.5.
Credit goes to Joe for discovering the affinity problem and providing a
fix proposal (incorporated in the final one).
- Disable configuration of the task file stuff. It is going to go away
and will be replaced by a truly abstract interface based on
functionality and *not* direct mess-up of hardware.
- Resync with 2.5.6-pre2.
- Add HPT entries to the fall-back list, since otherwise the driver
won'trecognize the drives. We will have to make this the default
behavior for allnot recognized host chip types.
- Fix compilation with no PCI host chip support enabled.
- Apply the overflow fixes for HPT366 by Vojtech Pavlik.
- Kill the one-shoot functions ide_wait_cmd_taks() ide_wait_cmd() by
moving them to the places where they are actually used. Fix a
potential buffer overflow on the way.
- Fix usage of ide.c as module. Thanks to Adam J. Richter for figuring
out what was wrong.
- Various cleanups all along as well as removal of TONS of
unfinished/dead code.
I think it's sometimes better to remove stuff, which isn't there,
instead of hoping for a "magical day" where it will be finished.
Corey Minyard [Tue, 5 Mar 2002 07:02:25 +0000 (23:02 -0800)]
[PATCH] Re: PPP and shared zlib code in 2.5
Ok, I found it. The problem was in the decompression code.
In inflate.c, in the routine zlib_inflate(), it reuses the passed-in "f"
parameter as a return value, but the PPP packet compression stuff needs
that return value later.
Robert Love [Tue, 5 Mar 2002 06:59:06 +0000 (22:59 -0800)]
[PATCH] 2.5: preempt on UP critical fix
During 2.5.5-pre schedule_tail was optimized away under UP. We need it
for preempt-kernel, too, since it decrements the preempt_count to 0
coming off do_fork.
Without this patch, CONFIG_PREEMPT + !CONFIG_SMP does not gain one very
much.
Alexander Viro [Tue, 5 Mar 2002 06:56:47 +0000 (22:56 -0800)]
[PATCH] death of is_mounted() and aother fixes
* new functions - bd_claim(bdev, holder) and bd_release(bdev).
bd_claim(bdev, holder) fails is device is already claimed by
somebody else; bd_release(bdev) gives device up.
* get_sb_bdev() claims device for fs_type; it means that we don't need
to look through entire least of superblocks anymore - just through
the list of superblocks belonging to that type (i.e. the same thing
we do for non-block filesystems; that will allow to merge quite a
bit of code afterwards).
* sys_swapon claims device for itself; free exclusion with mounting,
end of problems with bogus set_blocksize().
* is_mounted() and is_swap_partition() are gone - what we actually
wanted was "try to claim device for ourselves". Which we can do
now - without races inherent to is_mounted()/is_swap_partition().
* RAID lock_rdev() claims device for itself. I.e. we get rid of
is_mounted() in there (BTW, is_swap_partition() was missing) and
we get protection both ways - not only RAID won't take an already
mounted device, but mount won't stomp on a device claimed by RAID.
There are other places that would benefit from the same (e.g. ext3 with
external journal almost definitely wants to claim device for itself).
Notice that it's a cooperative thing - neither open() nor raw device stuff
claim the block device, so they don't care if device is mounted, etc. So
we don't break fsck and friends - exclusion is between those who know that
they want that exclusion.
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:24 +0000 (22:53 -0800)]
[PATCH] : ir256_usb_cow_urballoc.diff
ir256_usb_cow_urballoc.diff :
---------------------------
o [FEATURE] Don't use skb_cow() unless we really need to
o [CORRECT] Reorder URB init to avoid races
o [CORRECT] USB dealy adds processing time, not removes it
<Following patch from Greg KH <greg@kroah.com> himself !!!>
o [CRITICA] Use dynamically allocated URBs (instead of statically)
Jean Tourrilhes [Tue, 5 Mar 2002 06:53:19 +0000 (22:53 -0800)]
[PATCH] : ir256_lap_icmd_fix-4.diff
ir256_lap_icmd_fix-4.diff :
-------------------------
o [CORRECT] Fix Tx queue handling (remove race, keep packets in order)
o [CORRECT] Synchronise window_size & line_capacity and make sure
we never forget to increase them (would stall Tx queue)
o [FEATURE] Group common code out of if-then-else
o [FEATURE] Don't harcode LAP header size, use proper constant
o [FEATURE] Inline irlap_next_state() to decrease bloat