Dave Jones [Fri, 8 Feb 2002 09:43:32 +0000 (01:43 -0800)]
[PATCH] fix serial close hang
2.4/2.5 kernels suffer from an infinitely long hang when a serial tty device
is closed, and there are characters waiting to be sent. The hang occurs in
tty_wait_until_sent.
There is a timeout 'closing_wait' which defines how long to wait for the TX
buffers to empty; the problem is that the serial layer totally ignores it.
It is stored in two structures, 'info' and 'state'. It is initialised in
the 'state' structure, but used from the 'info' structure.
It turns out that 'hub6' was also missing.
I'm not currently clear what the expected behaviour should be when the
timeout is changed via setserial, and others have the port open - I've
opted to preserve the timeout until all users close the port. It's
trivial to change this behaviour though.
Dave Jones [Fri, 8 Feb 2002 09:43:23 +0000 (01:43 -0800)]
[PATCH] text.lock -> subsection changes.
Make spinlocks etc use subsections of their parent sections instead of
an ELF section of their own - needed for newer binutils when the parent
sector is removed.
Dave Jones [Fri, 8 Feb 2002 09:43:16 +0000 (01:43 -0800)]
[PATCH] handle out of spec SMP athlons.
Newer Athlons have means of checking if they are SMP capable or not.
This code adds checks that printk a warning on systems not intended
for SMP, and set the taint flag that modutils is already aware of.
The taint code is also improved to use defines instead of magic numbers.
Jeff Garzik [Fri, 8 Feb 2002 13:11:31 +0000 (08:11 -0500)]
After Al Viro's recent swapfile cleanup, the swap_device member of
swap_info_struct became pretty much superfluous. As we are minimizing
kdev_t usage anyway, I took the opportunity to remove swap_device
member, and replace the remaining usages with SWP_BLOCKDEV bit flag.
Adding SWP_BLOCKDEV in turn motivated a small cleanup of the
SWP_xxx bit flags and their usage.
Patch has been in light testing for a couple weeks, and
has been glanced at by Al. "looks sane"
Jeff Garzik [Fri, 8 Feb 2002 13:38:05 +0000 (08:38 -0500)]
Update eepro100 net driver link state tracking:
* Initialize interface carrier state in speedo_open.
* Update previous netif_carrier_{on,off} change to use
linux/mii.h constants.
Contributor: Andrew Morton, with modifications from me
Jeff Garzik [Fri, 8 Feb 2002 13:36:39 +0000 (08:36 -0500)]
Fix natsemi net driver rx-related hang, by polling for RX events
on all RX interrupts. Prior to this fix, RX FIFO overrun and RX
buffer overrun interrupts did not trigger an RX poll; now they do.
Jeff Garzik [Fri, 8 Feb 2002 13:35:21 +0000 (08:35 -0500)]
Update tulip net driver to indicate link beat to system,
via netif_carrier_{on,off}. Some placeholders to do this were
already in the code, making this an even easier and more obvious patch.
Also, decrease time until next link beat check, if link beat
is not present. (previously the code would wait 60 seconds until
next check, regardless of current link state)
Jeff Garzik [Fri, 8 Feb 2002 13:32:41 +0000 (08:32 -0500)]
tulip net driver updates:
* Add support for Conexant tulip clones.
* Do not store eeprom data on stack (128 or 512 bytes), it's a
large object, and also, we already have a copy in kmalloc'd RAM.
Jeff Garzik [Fri, 8 Feb 2002 13:27:49 +0000 (08:27 -0500)]
Add config option to enable natsemi net driver hardware bug workaround.
"some" systems with "some" cables see a large amount of errors,
due to a hardware bug. This bug is (apparently) not probe-able;
however it only appears on rare reference boards and the like,
so we simply add a config option and default the option to OFF.
Further detail:
When CONFIG_NATSEMI_CABLE_MAGIC option is enabled, PMDCSR_VAL
register value becomes 0x1898, a value provided by a NatSemi
app note. This enables a workaround for a hardware bug
which is (apparently) not probe-able. Luckily the hardware bug
is (apparently) not common either, so we default to disabling
this workaround.
David Howells [Thu, 7 Feb 2002 06:56:27 +0000 (22:56 -0800)]
[PATCH] thread information block
syscall latency improvement
* There's now an asm/thread_info.h header file with the basic structure
def and asm offsets in it.
* There's now a linux/thread_info.h header file which includes the asm
version and wraps some bitops calls to make convenience functions for
accessing the low-level flags.
* The task_struct has had some fields removed (and some flags), and has
acquired a pointer to the thread_info struct.
* task_struct's are now allocated on slabs in kernel/fork.c, whereas
thread_info structs are allocated at the bottom of the stack pages.
* Some more convenience functions are provided at the end of linux/sched.h to
access flags in other tasks (these are here because they need to access the
task_struct).
typo fix, fixing a compile time bug due to the change over to the new
filesystem definition patches in -pre2 (changes pcihpfs_fs_type to
pcihpfs_type).
Jeff Garzik [Thu, 7 Feb 2002 03:51:29 +0000 (22:51 -0500)]
eepro100 net driver link beat detection improvement.
Control interface running flag correctly, via netif_carrier_{on,off},
rather than manipulating the IFF_RUNNING bit directly from within
the driver (ug).
Contributors: Joerg Mayer, Stefans Rumpf
Jeff Garzik [Thu, 7 Feb 2002 02:45:57 +0000 (21:45 -0500)]
eepro100 net driver fix:
Second half of fix (first half of which added an embarrassingly
long time ago) which works around hardware bug at 10 mbit.
Contributors: Steve Parker, Arjan van de Ven
Matt Domsch [Thu, 7 Feb 2002 02:19:32 +0000 (18:19 -0800)]
[PATCH] BLKGETSIZE64 (bytes not sectors)
Linus, below is a patch to return the size of a device in bytes, not
in units of 512-byte sectors (which is incorrect per function
definition). Tim Pepper submitted an equivalent patch for 2.4.x, now
included in 2.4.18-pre4. Please apply.
Vojtech Pavlik [Thu, 7 Feb 2002 01:46:57 +0000 (17:46 -0800)]
[PATCH] Input drivers, step #3
This patch updates the input core to the current version, fixing a bunch
of bugs, adding hotplug support and a listing of available input devices
in /proc. The later is very useful for troubleshooting.
Jeff Garzik [Thu, 7 Feb 2002 00:14:36 +0000 (19:14 -0500)]
Remove deprecated SIOCDEVPRIVATE ioctls from several net drivers. The same capabilities have been accessible via SIOCxMIIxxx ioctls
since their introduction in 2.4.x, and it's DaveM's intention to
eventually remove SIOCDEVPRIVATE during the 2.5.x series.
Jeff Garzik [Thu, 7 Feb 2002 00:07:28 +0000 (19:07 -0500)]
8139too net driver updates:
* Support new clone board.
* Count rx-lost-in-ring events.
* Support ethtool-compatible bitmapped printk message enable number.
* Support MII ethtool helper interface, and associated ioctls.
* Replace some MII-related magic numbers with linux/mii.h constants.
* Add in optional (and hopefully preferred... after testing) code
for resetting RX DMA engine on error.
Jeff Garzik [Wed, 6 Feb 2002 23:58:37 +0000 (18:58 -0500)]
fealnx net driver updates:
* Support MII ethtool helper interface, and associated ioctls.
* Replace some MII-related magic numbers with constants from linux/mii.h.
* Remove deprecated SIOCDEVPRIVATE ioctls, SIOCxMIIxxx ioctl replacements
have been in place since 2.4.x.
Jeff Garzik [Wed, 6 Feb 2002 23:53:50 +0000 (18:53 -0500)]
8139cp net driver updates:
* Support MII ethtool helper interface, and associated ioctls.
* Remove unused CP_CHIP_VERSION constant.
* Update to-do list in driver header.
Jeff Garzik [Wed, 6 Feb 2002 23:40:57 +0000 (18:40 -0500)]
via-rhine net driver updates:
* Support MII ethtool helper library, and associated ioctls.
* Replace some MII-related magic numbers with constants from linux/mii.h.
* Remove deprecated SIOCDEVPRIVATE ioctl usage, SIOCxMIIxxx is the
supported (and already present) replacement.
Jeff Garzik [Wed, 6 Feb 2002 23:35:55 +0000 (18:35 -0500)]
winbond-840 (tulip clone) net driver updates:
* Support MII ethtool helper interface, and related ioctls.
* Replace some MII-related magic numbers with constants.
Jeff Garzik [Wed, 6 Feb 2002 23:31:49 +0000 (18:31 -0500)]
sundance net driver updates:
* Properly identify 4-port server NIC.
* Add new NIC to PCI ids list.
* Fix multicast bug.
Contributed by the vendor, D-Link.
Jeff Garzik [Wed, 6 Feb 2002 22:43:39 +0000 (17:43 -0500)]
Obvious updates to the alpha port, for recent 2.5.[123] API changes.
More changes are needed to the task struct/scheduler area before
the alpha port will boot again; this flushes the easy stuff.
Alexander Viro [Wed, 6 Feb 2002 14:34:55 +0000 (06:34 -0800)]
[PATCH] (9/9) more ->get_sb() stuff
More ->get_sb() patches: nfs. It still acts as nodev - what we want to
(and can) do now is to give it enough smarts to recognize that same tree
might be already mounted.