Sun-3 SCSI updates (from Sam Creasey):
- Define sun3scsi_release() in sun3_scsi and sun3_scsi_vme so that the
drivers will actually be loaded by the SCSI subsystem.
- Remove some warnings.
Sun-3: Use init_bootmem_node() instead of init_bootmem() for Sun-3, to avoid
setting min/max_low_pfn in init_bootmem(). This was screwing up SCSI, and the
new method is more like m68k/motorola. (from Sam Creasey)
Marc Zyngier [Sun, 28 Sep 2003 06:31:20 +0000 (02:31 -0400)]
[PATCH] ne3210 update
The enclosed patch ports the ne3210 driver over the EISA probing API.
It also fixes some ioremap/isa_memcopy_fromio problems (depending on
where the card memory was mapped) by using ioremap unconditionally and
letting memcopy_fromio do the right thing.
Finally, it removes the card from Space.c (warning, potential
interface renumbering !).
The module options are currently disabled, until Rusty's
module_param_array() patch is included. I will re-introduce them ASAP.
Jeff Garzik [Sat, 27 Sep 2003 20:15:00 +0000 (16:15 -0400)]
[MCA] don't include linux/mca-legacy.h from linux/mca.h.
As the functions and definitions in linux/mca-legacy.h are deprecated,
require that users explicitly include linux/mca-legacy.h as needed.
Prior to this change, _all_ users of linux/mca.h (i.e. proper users)
issued a warning at compile time, when the MCA legacy API was enabled.
Now only actual users of the legacy API cause warnings, not all MCA drivers.
Tangential to the patch I observed a small problem (not fixed in the patch):
MII depends on NET_ETHERNET, but USB_PEGASUS and USB_USBNET depend
only on NET.
Existing code for drivers/net/wan/z8530 is riddled with self-deadlocks
and irq flag confusion. For example:
z8530_init -> do_z8530_init -> write_zsreg
self deadlocks on the channel lock.
Several places acquire both the channel and dma lock and then
reuse the same irq flags variable - ouch.
This code at least, correctly probes (for no device case) on SMP.
Other paths verified by inspection.
Scott Feldman [Sat, 27 Sep 2003 01:51:21 +0000 (21:51 -0400)]
[e1000] flow control updates
* handle ethtool force flow control
* correctly set flow control hi/low watermarks based on size of Rx FIFO
area. The size can change if doing Jumbo Frames or, in the case of
82547, is smaller to start with.
* was not properly forcing flow control settings to fc_none if using
strict IEEE flow control override.
Replace proc_read with seq_file interface which is much cleaner.
Also, instead of searching the list of devices looking for the
name which is slow and would break if interface name changes;
store a pointer to device in the proc entry, and retrieve
it from the information saved by single_open.
There is no exported variable called smp_num_cpus! so this driver
won't build on SMP. Since the local variable is never used anyway
just get rid of it.
This applies against 2.6.0-test5-bk13 which has the last vendor
driver update.
Paul Mackerras [Sat, 27 Sep 2003 09:07:22 +0000 (19:07 +1000)]
PPC32: Adjust ucontext to conform with historical practice and with glibc.
This moves the uc_sigmask field back to where it was before. We now don't
assume the registers are at a fixed offset in the ucontext, but instead
access them through the uc_regs field as in the past. This corresponds with
a recent change in glibc CVS.
James Bottomley [Fri, 26 Sep 2003 14:11:05 +0000 (09:11 -0500)]
[PATCH] scsi_mid_low_api.txt update
From: Douglas Gilbert <dougg@torque.net>
Attached is an update of the scsi_mid_low_api text
document. The first attachment is a gzipped patch against
lk 2.6.0-test4 and the second one is the file gzipped.
Changes:
- add "Calling context:" entry to interface functions
- add "Might block:" entry to mid level functions
- drop scsi_set_device_offline() + command()
- change references to reflect transfer of headers to
include/scsi/scsi_*.h
- try to define what a "scsi host" is
- typos + grammar
Thanks to Randy Dunlap, Alan Stern amd Christoph Hellwig
for their input. Comments welcome.
[PATCH] GCC 3.3.x/3.4 compatiblity fix in include/linux/init.h
GCC 3.4 miscompiles the kernel because it silently optimizes away
data placed in the .init.setup section by the __setup() macro.
__attribute__((unused)) does only avoid the warning, but doesn't
mark the data as being used.
Since GCC 3.3, __attribute__((used)) should be applied to such
variables. The __attribute_used__ macro from linux/compiler.h already
takes care of compiler differences for us.
In this patch, I've gone a step further and proactively fixed that in
all places.
Steven Dake [Fri, 26 Sep 2003 10:55:31 +0000 (03:55 -0700)]
[PATCH] fix kernel BUG using multipath
Thanks Matt and Jens for the debug help on the multipath problem.
This solves the problem and makes multipath work properly.
There are two types of "flags" that are used in a block io request,
bi_flags, and bi_rw. bi_flags is used for flags to the block level
code, and bi_rw is used for flags to the low level device drivers.
The code in the multipath driver used the wrong flag in the wrong field.
In this case, the flag FASTFAIL (value 3) was being set to the bi_flags
field. FASTFAIL is a hint to the low level driver that it should try to
fail out quickly. Unfortunately, the value 3 is also BIO_SEG_VALID,
which is a flag to the block subsystem that the segments shouldn't be
recalculated. The result was that the wrong field was set, telling the
block layer not to recalculate the segments resulting in phys and hw
segments of 0. Not good.
Patrick Mochel [Fri, 26 Sep 2003 07:58:11 +0000 (00:58 -0700)]
[PATCH] sysfs dput crash fix
This is a new patch that includes Martin's, and makes create_dir() return
an int. That matches sysfs_create_file(), and saves a couple of
conversions back and forth between pointer and error.
Same issues as the dma mapping code, but as SN2 interrupt handling is
totally static and all irqs are allocated on bootup an never freed it's
not a speed issue.
I really wonder what someone has to smoke to call a that expensive
dispatcher just to cast the data structure back to the lowlevel one
directly afterwards...
[PATCH] ia64: simplify and speedup SN2 dma mapping
Currently the the SN2 dma mapping code uses a file systen lookup (cat /r/napali/tmp/p10 |diffstat -p1) to
find the operation vector for the underlying dma mapping implementation.
But not only there is exactly one of those implementation, also data
structures from this lowlevel driver are used in the actual Linux dma
mapping routines and quite a few assumption are made about it. So let's
just call directly in the lowlevel code and give up this utter bullshit.
These strange mixups of Linux and IRIX PCI interfaces were used in SGI's
2.4 tree for their port of the IRIX scsi code. They have no business to
stgay in 2.6.
David Mosberger [Fri, 26 Sep 2003 06:43:36 +0000 (23:43 -0700)]
ia64: Patch by Christoph Hellwig: None of the exported symbols is referenced
by a module, even more the file doesn't compile when
CONFIG_IA64_SGI_SN_DEBUG is set.
It checked for the flags beeing 0, which it always was for a long
time. It looks a bit fishy thus, so if someone wants to audit
srb.flags audit please do so.