* removed ancient-kernel compat code from sk_mca.h. I leave
it to janitors to remove the now-useless SKMCA_xxx wrappers.
* removed ancient-kernel compat code from sk_mca.c.
* s/SKMCA_NETDEV/net_device/
* fixed static net_device initialization (this will go away
when dynamic-alloc patches land)
Miles Bader [Sun, 31 Aug 2003 07:02:03 +0000 (00:02 -0700)]
[PATCH] Give v850 its own version of the vmlinux.lds.h RODATA macro
While it would be nice to keep using the generic version of RODATA, the
v850's linker-script structure is sufficiently different from that of
typical archs that it's not possible to use RODATA as it's currently
defined. I earlier suggested splitting the generic definition of RODATA
into `RODATA_CONTENTS' and `RODATA' (a wrapper around RODATA_CONTENTS)
where most archs would use RODATA, and the v850 would use
RODATA_CONTENTS, however Kai didn't like that idea.
It _may_ be possible to rewrite the v850's linker scripts into something
more typical (using lots of individual output sections), but it doesn't
seem at all straightforward, so I don't have the time to do it right
now.
Anyway, this is the short-term work-around so that Linus's kernel works
on the v850.
Alexander Viro [Sun, 31 Aug 2003 05:51:22 +0000 (22:51 -0700)]
[PATCH] dev_t handling cleanups (9/12)
struct block_device made the private part of bdevfs inodes; bd_count
is gone, we use ->i_count of inode now; separate hash is also gone and we
are using iget5_locked()/igrab()/iput() instead.
Alexander Viro [Sun, 31 Aug 2003 05:51:14 +0000 (22:51 -0700)]
[PATCH] dev_t handling cleanups (8/12)
Now that floppy_open() stores bdev in opened_bdevs[drive], we can remove
crap from floppy_read_block_0() and have it use that bdev instead of
messing with bdget_disk()/setting ->bd_disk by hand/bdput().
Alexander Viro [Sun, 31 Aug 2003 05:50:58 +0000 (22:50 -0700)]
[PATCH] dev_t handling cleanups (6/12)
- hpfs_unlink() should not try to truncate the victim unless it's a
regular file; truncate will not help for anything else and it will
screw the page cache if victim happens to be a block device.
- network filesystems should *not* invalidate page cache of block
device node when inode gets invalidated; fixed, added a new helper -
invalidate_remote_inode().
- nfs setattr syncs the file before sending SETATTR to server; that
makes a lot of sense for regular files, but not for anything else.
Fixed.
Neil Brown [Sun, 31 Aug 2003 05:43:49 +0000 (22:43 -0700)]
[PATCH] Honour the read-ahead for for reads in raid5.
If we get a failure trying to allocate a stripe_head for a read-ahead
request (the only time we can get a failure), we skip the rest of the
request and fail the whole bio.
Neil Brown [Sun, 31 Aug 2003 05:43:41 +0000 (22:43 -0700)]
[PATCH] Fix module ref counting for md.
We don't need to explicitly count references as:
- refcounting already happens for opens of /dev/md?
- when an array is active, a daughter module is loaded which
locks "md" in.
We just need to make sure we clean up properly on unload. (export_array)
Also, xor needs a null module_exit so that it can be unloaded.
[netdrvr] fix skb_padto bugs introduced when skb_padto was introduced
It seems that skb_padto security fixes in 2.4 and 2.5 trying
to fix "CAN-2003-0001:Multiple ethernet NID device drivers
do not pad frames with null bytes", do not put the skb_padto
blocks in proper places in the 3c527, eth16i, fmv18x, seeq8005,
yellowfin device drivers.
In case a driver calls skb_padto(), it is possible
that the space available in the original skb buffer tailroom is less
than the space to pad. In this case, in short, the skb_padto()
will create a new skb buffer, copy data from the original
skb buffer to a new skb buffer, free the original buffer,
and finally return the new buffer.
If this happens to the aforementioned device drivers, they come to
point to wrong data. And, for 3c527 and yellowfin, the drivers can
unexpectedly double free the original skb buffers since they still
point to the original skb buffers. The attached patch against
2.4.23pre1 fixes these issues.
[PATCH] cable detection fixes for HPT37x controllers
From Duncan Laurie <duncan@sun.com>
This same patch made its way into 2.4 via the -ac tree but hasn't
been put in 2.6 yet.
It fixes some cable detect issues that stem from the fact that the
cable detect pins are also used as address/data lines, so they need
to first be configured as inputs to read valid cable detect state.
Jeff Garzik [Sun, 31 Aug 2003 04:48:45 +0000 (00:48 -0400)]
[netdrvr 8139too] remove useless board names
The only thing that differentiated most of the entries in the
board_info[] table and the board_t type was the vendor branding
string for the board. This table is a pain to maintain, so we
prefer to simply use "RTL8129" or "RTL8139".
Jeff Garzik [Sat, 30 Aug 2003 22:08:02 +0000 (18:08 -0400)]
[netdrvr 8139too] make features more persistent; fix PCI DAC mode
* only set PCIDAC (64-bit PCI) bit in hardware if
sizeof(dma_addr_t) > 32. Need a better test for whether
64-bit mode is _really_ needed.
* cache chip command register in private struct. this allows
the setting of rx-vlan, rx-csum, and other features to be
persistent across the entire lifetime of the net device.
* remove dead private struct members frag_skb, dropping_frag,
and pci_using_dac.
Jeff Garzik [Sat, 30 Aug 2003 18:45:43 +0000 (14:45 -0400)]
[netdrvr 8139cp] small cleanups
* remove netif_queue_stopped test, netif_wake_queue already does that
* move vlan stuff to top of file
* remove __dev markers
* update todo list at top of file
* remove pci_set_dma_mask argument casts; ULL suffixes preferred.
Jeff Garzik [Sat, 30 Aug 2003 18:11:42 +0000 (14:11 -0400)]
[netdrvr 8139cp] support NAPI on RX path; Ditch RX frag handling.
NAPI is turned on unconditionally for the RX path. The hardware
supports interrupt mitigation, so that should be investigated too.
RX fragment handling removed. We simply ensure that we alloc
buffers large enough to hold incoming packets. Any stray RX
frags that occur (shouldn't be any) will be dropped.
Wim Van Sebroeck [Sat, 30 Aug 2003 16:48:50 +0000 (18:48 +0200)]
[WATCHDOG] wafer5823wdt.c - patch2
fix possible wafwdt_is_open race
make wdt_stop and wdt_start module params
change wd_margin to timeout and make it a module_param
make expect_close the same system as in advantechwdt.c
clean-up ioctl handling
added extra printk's to report what problem occured
add MODULE_DESCRIPTION info
Dave Jones [Fri, 29 Aug 2003 01:27:36 +0000 (02:27 +0100)]
[AGPGART] Numerous AMD64 gart driver cleanups.
From Andi Kleen.
- Fix the help text for the 8151 driver
- Fix the dependencies (must be compiled in when the IOMMU is in)
- Add __setup options for when the AGP driver is compiled in:
agp=off agp=try_unsupported
Currently only supported for the K8 driver, the other drivers
would need fixes in their module init functions too.
- Add try_unsupported support for the K8 driver.
- Add some aperture sanity checking to the K8 driver.
There are unfortunately still BIOS around that get it wrong.
- Also try to read the aperture from the AGP bridge if it is bogus
in the Northbridge. Windows only looks into the bridge and some BIOS only
put the aperture there.
[These two changes are only useful for 32bit kernels. The 64bit kernel
checks this in aperture.c anyways, and fixes it. The 32bit kernel
cannot fix a complety broken aperture currently, but at least it will
not crash now]
- Clean up handling for multiple northbridges. The paths are the same
now for as for a single NB.
- Some other minor cleanups.
François Romieu [Wed, 27 Aug 2003 14:09:50 +0000 (10:09 -0400)]
[netdrvr sis190] use PCI DMA API for RX buffers
Missing pieces for DMA-API on the Rx side:
- SiS190_init_ring: the global area for the received data is mapped.
This area is persistent during the whole driver's life.
It only needs to be unmapped in SiS190_close() as no other exit/error
path exists.
- SiS190_rx_interrupt: no map/unmap for received data buffer. A single
sync operation is done. Btw, there is no need to store the same value
in RxDescArray[cur_rx].buf_addr over and over again.
- Remove driver dependancy on CONFIG_BROKEN.