Summary of changes from v2.5.69 to v2.5.70
============================================
<torben.mathiasen@hp.com>
[PATCH] PCI Hotplug: cpqphp 66/100/133MHz PCI-X support
After being put on hold for a while (needed fixes to CCISS driver, etc) I
attached a patch that adds pci-x support to the cpqphp driver in 2.5.65.
Changes:
Adds 66/100/133MHz PCI-X support.
Adds support for dynamically chaning frequency and mode.
Changes code to also blink the power LED when powering down.
Uses the IRQ from PCI config space if the ROM resource table doesn't
provide one (would previously use the same interrupt as the hotplug
controller which would lead to bad things when trying to update routing
tables). Dan Zink should have the credit for this fix.
Changes find_slot() to cpqhp_find_slot().
Uses sysfs to display speed/freq.
Some documentation updates.
<hannal@us.ibm.com>
[PATCH] patch: remove unnecessary proc stuff from controller struct
<rusty@linux.co.intel.com>
[PATCH] PCI Hotplug: kernel-api docbook fix for now non-existant PCI hotplug
Here is a trivial documentation fix for some of recent PCI hotplug changes
that enables 'make htmldocs' to complete.
<bergner@cannon.rchland.ibm.com>
Forward port of 2.4 ppc64 signal changes.
<bergner@cannon.rchland.ibm.com>
Forward port of 2.4 ppc64 /proc/ppc64/systemcfg changes
<bergner@cannon.rchland.ibm.com>
Catch illegal FP use within the kernel since it can cause data integrity errors in userland code.
<tinglett@vnet.ibm.com>
fix cpuid to physical id needed in 2.5
<tinglett@vnet.ibm.com>
Need to turn on RI immediately after we get control from firmware as
well as when secondary cpus are started.
<anton@samba.org>
ppc64: add autofs ioctl and clean up a prototype
<anton@samba.org>
ppc64: xics cleanup
<willschm@us.ibm.com>
add #ifdef CONFIG_XMON around a XMON variable reference
<anton@samba.org>
ppc64: clean up some cpu feature checks
<willschm@us.ibm.com>
ppc64: add spinlock to chrp_progress
<anton@samba.org>
ppc64: fix NR_syscalls slip up
<anton@samba.org>
ppc64: fix for recent module changes
<jgrimm@touki.austin.ibm.com>
[SCTP] Optimize SACK generation.
Wanted to try out profiling, so brought up oprofile. Very
suprising result of sctp_tsnmap_find_gap_ack() being one of the
hot functions. This should not be! Short-circuit by not even
calling if !has_gap.
<anton@samba.org>
ppc64: return ENOSYS for unknown IPC call
<willschm@us.ibm.com>
ppc64: restore hex progress code
<anton@samba.org>
ppc64: Fix for outside of range sensor states, from John Rose
<jgrimm@touki.austin.ibm.com>
[SCTP] Use Crypto API
Rip out our own HMAC-SHA1 and replace with crypto API.
Can now choose hmac-sha1, hmac-md5, or none with regards to what
HMAC to use for cookie echo verification.
<jgrimm@touki.austin.ibm.com>
[SCTP] Add wrappers for sctp with no crypto support.
<gibbs@overdrive.btc.adaptec.com>
Change the callback argument for aic brace option parsing to u_long
to avoid casting problems with different architectures.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update (version 1.3.6)
o Correct bus hang on SE->LVD/LVD->SE tranceiver changes
o Close a race condition in handling bad scsi status that could
allow the driver to modify the waiting for selection queue while
selections were enabled.
o Perform an audit on use of del_timer() and switch to del_timer_sync()
where appropriate.
o Remove the reboot notifier hook which is unused in 2.5.X.
o Correct some driver unload bugs.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update (version 6.2.32)
o Perform an audit on use of del_timer() and switch to del_timer_sync()
where appropriate.
o Remove the reboot notifier hook which is unused in 2.5.X.
o Correct some driver unload bugs.
<jgrimm@touki.austin.ibm.com>
[SCTP] Various code cleanup.
More typedef removals and naming consistency.
Remove sctp_association_t, sctp_endpoint_t, & sctp_endpoint_common_t.
<anton@samba.org>
ppc64: segment misses from userspace must pass through do_page_fault
<davidm@tiger.hpl.hp.com>
ia64: Fix typos/whitespace related to serial code.
<jgrimm@touki.austin.ibm.com>
[SCTP] Enable SctpChecksumErrors stat
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Correct failed-wait recovery code so that the controller's registers
will not be accessed without pausing the controller first.
<jgrimm@touki.austin.ibm.com>
[SCTP] Add a generic csum_copy for sctp.
Do the sctp checksum while copying.
<jgrimm@touki.austin.ibm.com>
[SCTP] short-circuit reassembly & ordering for best case.
Short circuit normal case. First check if the chunk belongs at the
end of the queue. If so, don't bother walking the entire list, just
just put at end.
<davidm@tiger.hpl.hp.com>
ia64: Patch by Alex Williamson: forward port of the 2.4 sba_iommu.
<davidm@tiger.hpl.hp.com>
ia64: Merge Alex Williamson's sba_iommu patch.
Various small 2.5.67 fixes.
<davidm@tiger.hpl.hp.com>
ia64: Make sba_iommu get detected early enough again.
<anton@samba.org>
ppc64: use panic_on_oops sysctl
<anton@samba.org>
ppc64: use dma-window from deepest device tree node, from Dave Engebretsen
<sri@us.ibm.com>
[SCTP] getsockname()/getpeername() support for TCP-style sockets.
<jgrimm@touki.austin.ibm.com>
[SCTP] Allow private to global association.
The sctp scoping rules try to prevent accidentally sending
non-routable addresses to a peer as alternate addresses. However,
the current implementation is way too strict in that one can't
even try to send from a private address to a global address (a
pretty common real world setup with host behind NAT) even
when that's the _only_ address available.
If we find no addresses available, try looking for a private address
to send with, as a fallback.
Additionally, if we are sending with only a single address, don't
bother embedding this address in the INIT/INIT-ACK chunk.
<jgrimm@touki.austin.ibm.com>
[SCTP] Use GFP_ATOMIC, while we holding the local_addr_lock.
<alex_williamson@hp.com>
[PATCH] ia64: fix GENERIC build
This fixes a couple problems with the generic target in the latest
2.5.67 kernel. First is simply a fix for the addition of readX in
the machvec. The second gets things to link in roughly the same order
when using a generic vs zx1 flavor. With the current code, sba_init()
is called in the right place when using a zx1 flavor kernel, but
happens way too early on a generic kernel.
<alex_williamson@hp.com>
[PATCH] ia64: small ACPI fix
This fix is needed to boot on Intel-based machines.
<jgrimm@touki.austin.ibm.com>
[SCTP] Fix ipv6 addressing bug.
We are incorrectly using the rt6->rt6i_dst as our destination
address, resulting in bogus dst address when requiring a gateway.
<davidm@tiger.hpl.hp.com>
ia64: Update platform INIT handler to print a backtrace.
<kochi@hpc.bs1.fc.nec.co.jp>
[PATCH] ia64: don't waste irq vectors
This patch fixes waste of interrupt vector pool by not
allocating an interrupt vector to a GSI which has no corresponding
IO SAPIC.
<davidm@tiger.hpl.hp.com>
ia64: Export hp_acpi_csr_space() for modules.
<davidm@tiger.hpl.hp.com>
ia64: Consolidate backtrace printing in a single routine (ia64_do_show_stack()).
<davidm@tiger.hpl.hp.com>
ia64: Fix _raw_read_lock() to not switch text sections. Tidy it up with the
help of ia64_fetchadd() macro. Ditto for _raw_read_unlock().
<mochel@osdl.org>
Driver model: doc updates.
From Geert Uytterhoeven
<mochel@osdl.org>
kobject: Add better debugging for failed registrations.
From Steve Hemminger (shemminger@osdl.org)
<Matt_Domsch@dell.com>
Device Driver Dynamic PCI Device IDs
Provides a mechanism to pass new PCI device IDs to device drivers
at runtime, rather than relying only on a static compiled-in list
of supported IDs.
For each driver which has a pci_driver->probe routine, two things
are added: a probe_it file, and a dynamic_id directory. In the
dynamic_id directory is a new file, new_id.
/sys/bus/pci/drivers/e100
|-- dynamic_id
| `-- new_id
`-- probe_it
One may read the new_id file, which by default returns:
$ cat new_id
echo vendor device subvendor subdevice class classmask
where each field is a 32-bit value in ABCD (hex) format (no leading 0x).
Pass only as many fields as you need to override the defaults below.
Default vendor, device, subvendor, and subdevice fields
are set to FFFFFFFF (PCI_ANY_ID).
Default class and classmask fields are set to 0.
One may write new PCI device IDs into the new_id file:
echo "8086 1229" > new_id
which will cause a new device ID (sysfs name 0) to be added to the driver.
/sys/bus/pci/drivers/e100
|-- dynamic_id
| |-- 0
| `-- new_id
`-- probe_it
$ cat 0
00008086 00001229 ffffffff ffffffff 00000000 00000000
One can then cause the driver to probe for devices again.
echo 1 > probe_it
Individual device drivers may override the behavior of the new_id
file, for instance, if they need to also pass driver-specific
information. Likewise, reading the individual dynamic ID files
can be overridden by the driver.
This also adds an existance test field to struct driver_attribute,
necessary because we only want the probe_it file to appear iff
struct pci_driver->probe is non-NULL.
The device probing routines in pci-driver.c are enhanced to scan
first the static list of IDs, then the dynamic list (if any).
<mochel@osdl.org>
sysfs: Rewrite binary file handling.
From Matthew Wilcox.
- Remove sysfs_bin_buffer. It's a security hole.
- Remove checks for permissions; the VFS does that.
- Validate offset & count at the top level.
- Allow lower levels to return less data than was asked for.
- Allocate buffer at open & free it at close, not on each read/write.
<sri@us.ibm.com>
[SCTP] shutdown() support for TCP-style sockets.
<davidm@tiger.hpl.hp.com>
ia64: Patch by Arun Sharma: In brl_emu.c, a 64 bit value was being assigned to an
int.
<arun.sharma@intel.com>
[PATCH] ia64: make x86 shared programs work again
> It looks like dynamic x86 binaries have a problem once again (or
> still). If I try to run any shared x86 binaries, I get:
>
> $ ls.x86
> ls.x86: error while loading shared libraries: librt.so.1: cannot map zero-fill pages: Error 14
>
> Would someone take a look?
We saw this behavior with 2.5.59 also. The attached work around should
take care of the problem temporarily. Last time this happened, IA-32
programs were doing mmaps, whose size was one page bigger than the
size of the underlying file (even after rounding up the file size).
I never got a chance to figure out why glibc was doing mmaps with the
wrong size. Also, I failed to reproduce the problem with a more
recent (RH 8.0) glibc.
Which version of IA-32 glibc were you using ?
<jgrimm@touki.austin.ibm.com>
[SCTP] More typedef removals.
Continue typedef removal. Also, change sctp_chunk.num_times_sent
counter to a resent flag. There was a rather obscure, unlikely,
and in the end fairly benign bug sitting there if num_times_sent
wrapped. However, there's no need to keep this counter, as its
use was really just to know if we'd ever resent this chunk.
<bjorn_helgaas@hp.com>
[PATCH] ia64: sba_iommu workaround removal
This removes a workaround for some broken firmware that was
never released.
<bjorn_helgaas@hp.com>
[PATCH] ia64: sba_iommu vendor/function for unknown IOCs
Include id when encountering unknown IOC.
<bjorn_helgaas@hp.com>
[PATCH] ia64: sba_iommu trivial cleanup
This is mostly trivial whitespace and printk text tweaks. I did add the
segment number to a printk that previously just had the bus.
<anton@samba.org>
ppc64: chrp_progress() updates from Olof Johansson
<anton@samba.org>
ppc64: ethtool -e support, from Olof Johansson
<sri@us.ibm.com>
[SCTP] Handle accept() of a CLOSED association.
<jgrimm@touki.austin.ibm.com>
[SCTP] Track partially acked message for SEND_FAILED.
For SEND_FAILED support, we need to keep around data chunk fragments
that have been acked, where other fragments of the same message
have not. With this, Ardelle should be able to finish up the
SEND_FAILED support.
<jgrimm@touki.austin.ibm.com>
[SCTP] Fix sctp_sendmsg error path when associate fails.
<sri@us.ibm.com>
[SCTP] Return a readable event when polling on a TCP-style listening
socket with a non-empty accept queue.
<jgrimm@touki.austin.ibm.com>
[SCTP] Add some macros to clean up code.
sctp_state(asoc, STATE) // Is asoc in this state?
sctp_style(sk, STYLE) // Is sock this style?
sctp_sstate(sk, SS_STATE) // Is sock in this state?
<jgrimm@touki.austin.ibm.com>
[SCTP] Add SCTP_MAXSEG sockopt.
We'll fragment (if fragmentation not disabled) to the min of maxseg
or PMTU allowance.
<jgrimm@jgrimm.(none)>
[SCTP] Add SFR-CACC support. (Ardelle.Fan)
Submitted by Ardelle Fan. Implementation of Split Fast Retransmit -
Changeover Aware Congestion Control. Certain conditions involving
multihoming changover can result in TCP-unfriendliness. This
implements the IETF proposed method of dealing with this corner
case.
<anton@samba.org>
ppc64: update ppc64 to new IRQ API from Andrew Morton
<anton@samba.org>
ppc64: fix some compile warnings, from Andrew Morton
<anton@samba.org>
ppc64: Fix some things that got backed out in the systemcfg merge
<anton@samba.org>
ppc64: Add loop_get_status64/loop_set_status64
<davej@codemonkey.org.uk>
[CPUFREQ] Fix powernow-k7 hang.
Some laptops don't like jumping from (for eg) 800MHz->1200MHz, but
will happily go from 800->1000->1200. The problem is caused by us
changing the FID and the VID at the same time. The spec says we have
to change them seperately. This actually buys us something extra anyway,
as we can now set the FID lazily as well as the VID.
<jgrimm@touki.austin.ibm.com>
[SCTP] Fix regression in mark_missing. (Ardelle.Fan)
Followup patch by Ardelle.
<anton@samba.org>
ppc64: Andrew Morton is picking on me
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx driver Update
o Avoid pre-2.5.X mid-layer deadlock due to SCSI malloc fragmentation
For pre-2.5.X kernels, attempt to calculate a safe value
for our S/G list length. In these kernels, the midlayer
allocates an S/G array dynamically when a command is issued
using SCSI malloc. This list, which is in an OS dependent
format that must later be copied to our private S/G list, is
sized to house just the number of segments needed for the
current transfer. Since the code that sizes the SCSI malloc
pool does not take into consideration fragmentation of the
pool, executing transactions numbering just a fraction of our
concurrent transaction limit with list lengths aproaching
AH?_NSEG in length will quickly depleat the SCSI malloc pool
of usable space.
Unfortunately, the mid-layer does not properly handle this
scsi malloc failure. In kernels prior to 2.4.20, should
the device that experienced the malloc failure be idle and
never have any new I/O initiated (block queue is not "kicked"),
the process will hang indefinitely. In 2.4.20 and beyond,
the disk experiencing the failure is marked as a "starved
device", but this only helps if I/O is initiated to or completes
on that HBA. If the failure was induced by another HBA, and
no other I/O is pending on the HBA and no new transactions are
queued, we are still succeptible to the hang. (Also note that
many 2.4.X kernels do not properly lock the "some_device_starved"
and "device_starved" fields calling into question their overall
effectiveness).
By sizing our S/G list to avoid SCSI malloc pool fragmentation,
we will hopefully avoid this deadlock at least for configurations
where our own HBAs are the only ones using the SCSI subsystem.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Update
o Correct channel information in our /proc output.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx driver updates
o Work around peculiarities in the scan_scsis routines
that could, due to having duplicate devices on our
host's device list, cause tagged queing to be disabled
for devices added via /proc.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx driver updates
o Remove extra complexity and code duplication in processing
the completeq now that the completeq can be run while holding
both the ah?_lock and the done_lock.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx driver Update
o Fix style nits.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Updates
o Correct type safty of option parsing logic
o Make option toggling work correctly
o Add "probe_eisa_vlb" as an alias for the "no_probe" option so
that there is a clearly defined name associated with the command
line feature that allows eisa_vlb probes to be enabled/disabled
in the aic7xxx driver.
o PCI parity error checking defaults to being enabled.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Auto disable PCI parity error reporting after 10 parity errors
are observed. The user is given a loud warning message telling
them that eiter a device plugged into their motherboard or their
motherboard is not very healthy.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Perform a few firmware optimizations
o Correct the packetized status handler so that
it can handle CRC errors during status data packets.
<agrover@groveronline.com>
ACPI: Update to 20030424
- Remove an unused parameter from lowlevel read/write functions
- FADT initialization cleanups
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Correct "Unexpected PKT Busfree" error observed under high
tag loads.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update
o Revert ahd_pause_and_flushwork() behavior so that ENSELO can
be cleared. This makes ahd_pause_and_flushwork() more effective
when the bus is hung.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Upate
o Switch to handling bad SCSI status as a sequencer interrupt
instead of having the kernel proccess these failures via
the completion queue. This is done because:
- The old scheme required us to pause the sequencer and clear
critical sections for each SCB. It seems that these pause
actions, if coincident with a sequencer FIFO interrupt, would
result in a FIFO interrupt getting lost or directing to the
wrong FIFO. This caused hangs when the driver was stressed
under high "queue full" loads.
- The completion code assumed that it was always called with
the sequencer running. This may not be the case in timeout
processing where completions occur manually via
ahd_pause_and_flushwork().
- With this scheme, the extra expense of clearing critical
sections is avoided since the sequencer will only self pause
once all pending selections have cleared and it is not in
a critical section.
<anton@samba.org>
ppc64: remove numa_node_exists, from Martin Bligh
<gibbs@overdrive.btc.adaptec.com>
aic7xxx_osm.h, aic7xxx_osm.c, aic79xx_osm.h, aic79xx_osm.c:
Remove pre-2.2.X kernel support.
<anton@samba.org>
ppc64: clear up the cpu<-> node mappings, and cache them, from Matt Dobson
<gibbs@overdrive.btc.adaptec.com>
Aic79xx and Aic7xxx driver Update
o Fix build on 2.5.X
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Updates
o Adapt to new IRQ handler declaration/behavior for 2.5.X
<jgrimm@touki.austin.ibm.com>
[SCTP] Control chunk bundling.
Control chunks should be bundled (implementor's guide advises
specifically of case were ERROR should be bundled with CE to avoid
race condition. Patch introduces a outq_cork/outq_uncork to
immediate transferral of control chunks and then release to the
packet bundling code.
<davej@tetrachloride.(none)>
[AGPGART] Hammer GART can use generic enable routines now.
<davej@tetrachloride.(none)>
[AGPGART] intel agp init cleanups.
From Christoph Hellwig.
(1) Kill the _setup functions - most of it can be nice, static
structs - the few remainders are handled better elsewhere
(2) _one_ big switch in ->probe assigning these tables.
Almost 200 lOC gone and it's even readable :)
<davej@tetrachloride.(none)>
[AGPGART] Remove unneeded enums from intel gart driver.
<davej@tetrachloride.(none)>
[AGPGART] Remove unused ALi enums.
<davej@tetrachloride.(none)>
[AGPGART] Remove stale comment
<davej@tetrachloride.(none)>
[AGPGART] Fix typo in via-agp. s/PM400/P4M400/
<davej@tetrachloride.(none)>
[AGPGART] Remove useless enums from serverworks gart driver
<davej@tetrachloride.(none)>
[AGPGART] Remove unneeded enums from AMD k7 gart driver
<davej@tetrachloride.(none)>
[AGPGART] More setup routine -> static struct conversions.
Again from Christoph Hellwig.
<davej@tetrachloride.(none)>
[AGPGART] Replace enum users with own methods.
By introducing a few extra functions, we can kill off a few extra members
of the enum. More work from Christoph Hellwig.
<davej@tetrachloride.(none)>
[AGPGART] Merge NVIDIA nForce / nForce2 AGP driver.
Based upon code written by NVIDIA for agpgart 2.4, forward ported and
cleaned up slightly by me. This still needs work, and is untested.
<davej@tetrachloride.(none)>
[AGPGART] Makefile cleanups.
- the makefile is not the right place to describe the driver
- remove some junk
<davej@tetrachloride.(none)>
[AGPGART] Remove unneeded settings of bridge->type.
It's now done in the static structs.
<davej@tetrachloride.(none)>
[AGPGART] Add symbolic constants for AGP mode setting.
bye bye icky hardcoded values.
<davej@tetrachloride.(none)>
[AGPGART] Add more defines to kill off hardcoded values
<davej@tetrachloride.(none)>
[AGPGART] Don't configure agp bridges more than once if there is >1 of them.
<davej@tetrachloride.(none)>
[AGPGART] use symbols instead of hardcoded values in generic-3.0
Lots more work to do here.
<davej@tetrachloride.(none)>
[AGPGART] Convert several functions to return void.
They only ever returned a single value.
<davej@tetrachloride.(none)>
[AGPGART] Fall back to non-isochronous xfers if setting up isochronous xfers fails.
<davej@tetrachloride.(none)>
[AGPGART] Fix typo that stopped nvidia GART driver being built
<davej@tetrachloride.(none)>
[AGPGART] EXPORT_SYMBOL cleanups. Also move the global_cache_flush routine to generic.c
<davej@tetrachloride.(none)>
[AGPGART] Move function description comments from headers to the code they document.
<davej@tetrachloride.(none)>
[AGPGART] kdoc'ify some of the function header comments.
<davej@tetrachloride.(none)>
[AGPGART] Move function prototypes to headers.
<davej@tetrachloride.(none)>
[AGPGART] Misc backend source tidy up.
<davej@tetrachloride.(none)>
[AGPGART] Remove semaphore abstraction.
<davej@tetrachloride.(none)>
[AGPGART] i855PM support from Bill Nottingham.
Mainly adding a PCI id, unfortunately, requires
renaming the i855GM PCI ids to avoid name conflict. Also renames some
of the i855GM constants from i855PM to i855GM.
<davej@tetrachloride.(none)>
[AGPGART] Fix kconfig dependancies.
- Don't show x86 GARTs on alpha
<greg@kroah.com>
[PATCH] i2c: fix oops on startup of it87 driver.
<sri@us.ibm.com>
[SCTP] sctp_sendmsg() updates for TCP-style sockets.
<davej@codemonkey.org.uk>
[AGPGART] fix macros that expect agp_bridge in global scope
From Christoph Hellwig
<davej@codemonkey.org.uk>
[AGPGART] cleanup agp backend.c a bit
More from Christoph.
Most style nitpicks and a bit more explicitly passing struct
agp_bridge_data around.
<davej@codemonkey.org.uk>
[AGPGART] Nvidia GART cleanups.
Christoph cleaned up a lot of the mess here. We're back to nearly killing
off the chipset_type enum, moved the register definitions to the code that
uses it, and given it a proper pci .remove function.
<davej@codemonkey.org.uk>
[AGPGART] Add back dummy module exit to keep things happy.
<davej@codemonkey.org.uk>
[AGPGART] don't dereference agp_bridge in generic-3.0.c
Yet more from Christoph..
>If agp_3_0_node_enable gets a struct agp_bridge_data * all of the
>generic-3.0.c can be cleaned up easily to never look at agp_bridge
>directly. Now only backend.c, generic.c and the actual drivers
>are left looking at it:)
<davej@codemonkey.org.uk>
[AGPGART] give all agpgart drivers a ->remove pci method.
You guessed it, yup. from Christoph again.
<davej@codemonkey.org.uk>
[AGPGART] proper agp_bridge_driver.
Christoph with the goods once more...
>Okay, this does the converion for all drivers, it's ontop of my
>previous patches. enum chipset_type has shrunk to NOT_SUPPORTED
>and SUPPORTED, but I'd like to postpone killing it entirely
>or replacing it by a bool - drm pokes into this and we need to
>redo the agpgart <-> drm interface for support of multiple garts
>anyway.
<davej@codemonkey.org.uk>
[AGPGART] Fix Kconfig typo
<davej@codemonkey.org.uk>
[AGPGART] Shrink chipset_type enum (compile fix)
Missing part of hch's last cset.
<anton@samba.org>
ppc64: remove iomem_resource.end hack
<stevef@steveft21.ltcsamba>
Fix cifs_show_options to display mount options in a way that is more
consistent with other filesystems
<davej@codemonkey.org.uk>
[AGPGART] Fix linking error.
<jgrimm@touki.austin.ibm.com>
[SCTP] Make fragmented messages know how to SEND_FAIL themselves.
If a message were fragmented, it was getting SEND_FAILed in all
sorts of random order or not at all. Now each "message" tracks its
own fragments and can SEND_FAIL itself and all its fragments.
<davej@codemonkey.org.uk>
[CPUFREQ] Acer Aspire's have broken PST tables in one BIOS rev. DMI blacklist it.
<rmk@flint.arm.linux.org.uk>
[ARM] Miscellaneous minor fixes.
- comment fixes
- remove unnecessary asm/proc-fns.h include
- fix buggy compiler version traps
<jgrimm@death.austin.ibm.com>
[SCTP] Free up data chunks that don't get accepted by primitive_SEND.
Fix memory leak.
<anton@samba.org>
[PATCH] Re: Make sym2 driver use pci_enable_device
> The sym2 driver should use the generic pci_enable_device() and
> pci_set_master() functions.
Sorry, wrong patch. We need to read COMMAND after doing
pci_enable_device/pci_set_master. We should also check the return
valie of pci_enable_device.
Anton
===== drivers/scsi/sym53c8xx_2/sym_glue.c 1.16 vs edited =====
<hch@lst.de>
[PATCH] split private and public scsi headers
Two new headers:
scsi_priv.h - for macros/declarations private to the scsi midlayer
(= not EXPORT_SYMBOL()ed)
scsi_logging.h - for SCSI_LOG_* and friends, semi-private to the
midlayer and the upper drivers. One abuse of this
in dpt_i2o killed.
<hch@lst.de>
[PATCH] kill scsi_dump_status
Is someone still using the echo dump > /proc/scsi/scsi feature? I think
we should kill it as we're getting much nicer output from sysfs these
days..
<hch@lst.de>
[PATCH] kill pcmcia driver bind_info horror
Currenty pcmcia drivers do a loop on their devices for issuing a
SCSI_IOCTL_GET_IDLUN ioctl from kernelspace and passing dev->type
to userspace so cardmgr can guess the the dev_t and find the
device node of it.
But it doesn't actually use it but only pass it as optional arguments
to it's poor-man's hotplug scripts. So kill this horror of, we
have proper hotplug scripts in 2.5. And here we go, the first big
host->my_devices abuser is gone.
<hch@lst.de>
[PATCH] use scsi_report_bus_reset() in scsi_erroc.c
Currently scsi_error.c has two opencoded copies for
scsi_report_bus_reset. Get rid of them.
<hch@lst.de>
[PATCH] fix scsi_debug compile warning
spin_lock_irqsave takes an unsigned long.
<hch@lst.de>
[PATCH] remove dead struct scsi_device members
->scpnt_wait is initialized and cpqfc calls wake_up on it but no one
ever waits for it, ->allow_revalidate is completly unused.
<hch@lst.de>
[PATCH] remove dead scsi_cmnd members
->reset_chain is initialized by the midlayer only used in BusLogic's old EH
code (which is never called and thus can be #if 0'ed out until someone with
the hardware updates it to new EH), ->done_late is never used.
<hch@lst.de>
[PATCH] scsi_requeuest_fn
Okay, when doing some other stuff I looked over this one, and it's
a bit confusing to read:
- using a goto completed where a simple break would be sufficient
- using for (;;) for a perfectly fine while loop
- ...
but what's more interesting is that the spinlock handling in here,
when we switch from sdev_lock/queue_lock to host_lock we
do a spin_unlock_irq followed by a spin_lock_irqsave - but we
we just enabled interrupts so the save isn't nessecary at all, even
more we can just do spin_unlock/spin_lock when keeping them
disabled. Also we drop host_lock in the middle of this function,
just to reacquire it a tad later in scsi_dispatch_cmd, but fixing
that need a bit more thinking as there's another caller for
scsi_dispatch_cmd.
<hch@lst.de>
[PATCH] move max_sectors intitalization fully to scsi_register
Addresses the fixme in scsi_alloc_queue.
<heiko.carstens@de.ibm.com>
[PATCH] set data direction in sd_synchronize_cache in sd.c
Hi,
the following patch sets the data direction in sd_synchronize_cache
to SCSI_DATA_NONE. Otherwise the data direction would be
SCSI_DATA_UNKNOWN, which is at least a problem for the zfcp
lldd, since it expects a value differently from unknown.
Please apply, thanks.
Heiko
<hch@lst.de>
[PATCH] Re: unchecked_isa_dma on sparcv9
On Tue, Apr 29, 2003 at 12:15:11AM -0700, David S. Miller wrote:
> The only thing host->unchecked_isa_dma = 1 does is to add a __GFP_DMA
> flag to certain memory allocations, but IIRC __GFP_DMA is a noop on
> sparcv9. So what is this supposed to do?
>
> It's bogus, delete it.
James, could you please apply the following patch?
<dougg@torque.net>
[PATCH] blk SCSI_IOCTL_SEND_COMMAND
While playing with RH9.0 and 2.5.68 I found that
scsi_unique_id (called from devlabel) oopsed on
a regular basis during bootup.
This patch addresses flakiness in sense buffer
handling (in the failure case a disk didn't support
VPD page 0x83).
<patmans@us.ibm.com>
Compile fix for scsi_syms.c
I had to add an include of scsi_logging.h to compile with logging configured:
<paulus@samba.org>
[PATCH] i2c: i2c-keywest.c irq handler type
This patch changes the interrupt handler routine in i2c-keywest.c to
return an irqreturn_t.
<greg@kroah.com>
i2c: fix up the MAINTAINERS i2c entry
Removed the dead web page and email address, and merged with the sensors entry
and added myself.
<hch@lst.de>
[PATCH] nuke some superflous externs
No idea why those were ever added to scsi.c and scsi_syms.c, they're
properly declared in the headers.
<sri@us.ibm.com>
[SCTP] Initialize missing ipv4 fields of a AF_INET6 accept socket.
<sri@us.ibm.com>
[SCTP] SO_LINGER socket option for TCP-style sockets.
<marcel@holtmann.org>
[Bluetooth] Compile fix for URB_ZERO_PACKET
This patch fixes the compile problem with URB_ZERO_PACKET.
<davej@codemonkey.org.uk>
[AGPGART] Add some debugging printk's. Based on Linus' earlier patch.
<davej@codemonkey.org.uk>
[CPUFREQ] Remove not needed ;'s from macro definitions.
<davej@codemonkey.org.uk>
[AGPGART] Bulletproofing. NULL ptrs after freeing them.
<anton@samba.org>
ppc64: ioctl32 updates
<davej@codemonkey.org.uk>
[AGPGART] Remove duplicate code in i810/i830 alloc_by_type functions.
<davej@codemonkey.org.uk>
[AGPGART] Fix incorrect type warning.
<davej@codemonkey.org.uk>
[AGPGART] Move debugging macros to header so they can be used in other parts of agpgart.
<davej@codemonkey.org.uk>
[AGPGART] more kconfig cleanups
- Alphabetical order of items.
- Fixup the IOMMU dependancy problem (Roman Zippel)
- Word all options similarly (Add 'chipset' to some descriptions)
- Remove unused CONFIG_AGP_GART
- Fix up incomplete alpha tristate
<jgrimm@touki.austin.ibm.com>
[SCTP] Add sinfo_timetolive support.
sinfo_timetolive lets the application specify 'timed reliability'
for a message. That is, the message really only has a use to
the peer up to this timeout. Without PR-SCTP, we can throw away
such timed out messages if we haven't yet assigned TSN/SSNs to
them. If we have, there is nothing we can do until we support
PR-SCTP extension.
<hch@lst.de>
[PATCH] update NCR_D700 for new-style probing
Pretty big patch and untested due to lack of hardware, so handle
it with care :)
<jejb@raven.il.steeleye.com>
Fix NCR_D700 driver
This should complete the hch conversion to the new style probing.
Tested and works fine.
<gibbs@overdrive.btc.adaptec.com>
Aic79xx Driver Update (version 1.3.8)
o Correct a few BE processor bugs
o Print an additional diagnostic during recovery processing
<gibbs@overdrive.btc.adaptec.com>
Update Aic79xx and Aic7xxx Documenation
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update (6.2.33)
o Correct MODULE_INFO string.
o Bump version number.
<greg@kroah.com>
[PATCH] USB: replace kdev_t with int in usb_interface structure, as only drivers with the USB major use it.
<davej@codemonkey.org.uk>
[AGPGART] Kill off some typedefs.
Note, I'm leaving behind the ones not in #ifdef __KERNEL__ for now, as I'm
not sure just what userspace stuff that might break.
<davej@codemonkey.org.uk>
[AGPGART] missing %p in debug printk
<davej@codemonkey.org.uk>
[AGPGART] Turn on debugging printks for a while.
Lets see if we can't track down some of the stranger reports.
Also fix up the macro not to printk some ': ' it doesnt need to.
<anton@samba.org>
ppc64: rework fast SLB miss handler castout code
<anton@samba.org>
ppc64: firmware flash fix from Olof Johansson
<greg@kroah.com>
Cset exclude: linux-usb@gemeinhardt.info|ChangeSet|20030429230539|30870
<greg@kroah.com>
[PATCH] USB: vicam: fix bugs in writing to proc files that were found by the CHECKER project
<per.winkvist@telia.com>
[PATCH] USB: more unusual_devs.h changes
I've modified James Courtier-Dutton description from Optio 430 => Optio
2/3/400 since it applies to Optio 330 and possible 230 too.
Attached are the patch that was tried with Pentax Optio S and Optio 330 RS.
I've talked to Pete Zaitcev and he said I should be using CB instead since
more devices liked that better... so I leave that to you!
<david-b@pacbell.net>
[PATCH] USB: ehci i/o watchdog
This patch adds a new "I/O watchdog" role to the existing
timer code, and cleans it up a bit. If you want to run
EHCI without IRQs, it's now simple: disable them, and
tweak the timer appropriately.
The patch should help with these reported problems.
(a) Bulk I/O sometimes seems to stop progressing. Not
trouble in itself, but usb-storage and scsi could
wedge deeply because of bugs in their fault recovery;
and then the problems could break khubd and rmmod...
(b) Some periodic transfers need to be "jumpstarted".
Usually seen with a high speed hub.
<paulus@samba.org>
[PATCH] Update mesh.c and mac53c94.c drivers
This patch updates the mesh and mac53c94 SCSI host bus adaptor
drivers so that their interrupt routines return an irqreturn_t.
Please apply.
Thanks,
Paul.
<gibbs@scsiguy.com>
[PATCH] fix aci7xxx locking problem
> On Thu, May 01, 2003 at 04:28:12PM -0600, Justin T. Gibbs wrote:
>> Folks,
>>
>> I've just uploaded version 1.3.8 of the aic79xx driver and version
>> 6.2.33 of the aic7xxx driver. Both are available for 2.4.X and
>> 2.5.X kernels in either bk send format or as a tarball from here:
>>
>> http://people.FreeBSD.org/~gibbs/linux/SRC/
>
> Hi Justin,
>
> I've just tested it and I still have the deadlock on SMP. I also tried with
> noapic, but it didn't change. I have reduced the TCQ from 253 to 32, and I
> had the impression that it was more difficult to trigger, although I cannot
> be certain. With 32, I could boot and go to about half the 'make -j 8 dep',
> while it hanged during init script with 253. I may retest by the week-end, but
> now I'm going to sleep. Now I'm back to 6.2.28 and everything's OK.
Can you try with this patch? It seems I forgot to pull part of a change
from the aic79xx driver into the aic7xxx driver. This could easily cause
a lock order reversal. <sigh>
<hch@lst.de>
[PATCH] remove scsi_device proc printing from drivers
A bunch of drivers contain loops over host->my_devices in their
proc_info method just to printout info we already get from sysfs.
Kill those, the ones that actually add additional information
from their private data need to get sysfs attributes for the fist.
BTW, does someone have opintions on reading of /proc/scsi/scsi?
It's just a duplication of the sysfs tree so it should probably
go away also. OTOH there's a slightly higher chance on userland
actually using this than for the LLDDs..
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx Driver Update
o Fix Aic7xxx driver locking in the AHC_SCSI_HAS_HOST_LOCK == 0 case.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Updates
o Misc compiler error and code cleanups.
<gibbs@overdrive.btc.adaptec.com>
Aic7xxx and Aic79xx Driver Update
o Build with -Werror
<sri@us.ibm.com>
[SCTP] Use prepare_to_wait()/finish_wait() interfaces.
<davej@codemonkey.org.uk>
[AGPGART] Intel I875P support.
From Matt Tolentino.
<acme@conectiva.com.br>
o ipx headers: Coding Style code reformatting
<davem@nuts.ninka.net>
[NET]: Use dump_stack in neigh_destroy.
<davem@nuts.ninka.net>
[NET]: Fix typo in previous neighbour.c change.
<steve@gw.chygwyn.com>
[DECNET]: Add netfilter subdir for decnet and add the routing grabulator.
<paulus@samba.org>
[PPP]: Rest of compression module changes, oops.
<davem@nuts.ninka.net>
[ATM]: mpc.c warning fixes.
<davem@nuts.ninka.net>
[NETFILTER IPV6]: Fix warnings.
<davej@codemonkey.org.uk>
[AGPGART] Disable debugging printk's again.
With the 'AGP bug' solved, we don't need this noise for a while...
<acme@conectiva.com.br>
o list.h: implement list_for_each_entry_safe
<acme@conectiva.com.br>
o ipx: convert ipx_interface handling to use list_head
<jgrimm@touki.austin.ibm.com>
[SCTP] Use put_user() in get_peer_addr_params (reported by yjf@standford.edu)
Standford Checker reported direct touch of user space.
<davej@codemonkey.org.uk>
[AGPGART] Skip devices with no AGP headers sooner.
<Matt_Domsch@dell.com>
Shrink dynids feature set
Per recommendation from GregKH:
Remove directory 'dynamic_id'
Remove exporting dynamic_id/0 files
Remove probe_it driver attribute
Move new_id into driver directory as a driver attribute. Make it
probe when new IDs are added.
Move attribute existance test into pci-driver.c completely.
<davej@codemonkey.org.uk>
[AGPGART] Store agp revision in agp_bridge struct.
There are a few places we do spec revision compliance checks, this cset
generalises that function, and removes some duplicated functionality.
<davej@codemonkey.org.uk>
[AGPGART] Work around AMD 8151 errata.
Some revisions incorrectly report they support v3.5 of the AGP spec, when
they are actually only 3.0 compliant.
<bunk@fs.tum.de>
[PATCH] USB: kill the last occurances of usb_serial_get_by_minor
I got an error at the final linking of 2.5.68-bk11. It seems the patch
below is needed.
<geert@linux-m68k.org>
[PATCH] USB: Big endian RTL8150
The RTL8150 USB Ethernet driver doesn't work on big endian machines. Here are
patches (for both 2.4.x and 2.5.x) to fix that. The fix was tested on the
2.4.20 and 2.4.21-rc1 version of the driver on big endian MIPS.
Changes:
- Fix endianness of rx_creg (from Dimitri Torfs <Dimitri.Torfs@sonycom.com>)
- Kill unused last parameter of async_set_registers()
<davem@redhat.com>
[PATCH] USB speedtouch fix
Missing header file. Please apply.
<philipp@void.at>
[PATCH] USB: unusual_devs.h patch
<Matt_Domsch@dell.com>
PCI dynids - documentation fixes, id_table NULL check
<hch@lst.de>
[PATCH] move all host templates into .c files
Oookay - I really got upset by that tmeplates in headers crap when
grepping for certain methods. The patch below moves all templates
from the headers into the actual implementation files and removes
the ifdef mess for unmaintained drivers - for maintained support
gazillion kernel releases drivers like gdth I've kept them.
This means a driver works fine without any problems for all modular
builds and builtin kernel >= 2.4.0. If you want certain drivers
to work with 2.0/2.2 statyic builds too I can hack something up for
you, but I'd prefer not supporting stuff like that anymore.
Tested by compiling all drivers with make -k and not getting more
warnings than before :)
<nicolas@dupeux.net>
[PATCH] USB: UNUSUAL_DEV for aiptek pocketcam
Here is the unusual_dev entry i'm using to get my digital camera.
diff -cr linux/drivers/usb/storage/unusual_devs.h linux_vaxvms/drivers/usb/storage/unusual_devs.h
*** linux/drivers/usb/storage/unusual_devs.h 2003-03-14 21:32:46.000000000 +0100
<andmike@us.ibm.com>
[PATCH] scsi host sysfs support again [1/4]
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
This patch removes the shost_devclass device class support that was
previously added, but incomplete.
EDESC
drivers/acorn/scsi/acornscsi.c | 1 -
drivers/acorn/scsi/arxescsi.c | 1 -
drivers/acorn/scsi/cumana_1.c | 1 -
drivers/acorn/scsi/cumana_2.c | 1 -
drivers/acorn/scsi/eesox.c | 1 -
drivers/acorn/scsi/oak.c | 1 -
drivers/acorn/scsi/powertec.c | 1 -
drivers/scsi/scsi_sysfs.c | 23 -----------------------
8 files changed, 30 deletions(-)
<andmike@us.ibm.com>
[PATCH] scsi host sysfs support again [2/4]
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
This patch changes the structure of sdebug_host_info and changes the
method / order of driver model cleanup.
EDESC
drivers/scsi/scsi_debug.c | 215 ++++++++++++++++++++++++----------------------
drivers/scsi/scsi_debug.h | 2
2 files changed, 115 insertions(+), 102 deletions(-)
<andmike@us.ibm.com>
[PATCH] scsi host sysfs support again [3/4]
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
Change scsi host to class device model. Change scsi host and scsi device
to release when ref count goes to zero.
EDESC
drivers/scsi/hosts.c | 23 +++++------------------
drivers/scsi/hosts.h | 20 ++++++++++++++------
drivers/scsi/scsi_scan.c | 4 +---
3 files changed, 20 insertions(+), 27 deletions(-)
<andmike@us.ibm.com>
[PATCH] scsi host sysfs support again [4/4]
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
Change scsi sysfs to support scsi host class device and call release
functions when ref count goes to zero.
EDESC
drivers/scsi/scsi_sysfs.c | 111 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 96 insertions(+), 15 deletions(-)
<Matt_Domsch@dell.com>
pci.h whitespace cleanups
<jgrimm@touki.austin.ibm.com>
[SCTP] Support SCTP ECN on ipv6.
<acme@conectiva.com.br>
o ipx: convert ipx_route to use list_head
<davem@nuts.ninka.net>
[IPSEC]: Fix SADB_EALG_{3,}DESCBC values.
<davem@nuts.ninka.net>
[ATM]: Fix some CPP pasting in ambassador driver.
<chas@locutus.cmf.nrl.navy.mil>
[ATM]: Fix excessive stack usage in iphase driver.
<chas@locutus.cmf.nrl.navy.mil>
[ATM]: svcs possible race with sigd.
<steve@gw.chygwyn.com>
[FS]: Add seq_release_private and proc_net_fops_create helpers.
<steve@gw.chygwyn.com>
[DECNET]: seq file conversions and fixes.
o Removed blksize from decnet device parameters - use the device mtu like we
ought to.
o Removed /proc/net/decnet_route file - I don't think anybody ever used it
and it was lacking a full enough description of the routes to be useful.
ip -D route list is much better :-)
o Added rt_local_src entry to decnet routes so that we get the local source
address right when forwarding.
o Added correct proto argument to struct flowi for routing
o MSG_MORE in sendmsg (ignored, but accepted whereas before we'd error)
o /proc/net/decnet converted to seq_file
o /proc/net/decnet_dev converted to seq_file
o /proc/net/decnet_cache converted to seq_file
o Use pskb_may_pull() and add code to linearize skbs on the input path
except for those containing data.
o Fixed returned packet code (mostly - some left to do)
o update_pmtu() method for decnet dst entries (ip_gre device assumes this
method exists - well I think it does :-)
o Fixed bug in forwarding to get IE bit set correctly
o Fixed compile bugs with CONFIG_DECNET_ROUTE_FWMARK pointed out by Adrian
Bunk
o Fixed zero dest code to grab an address from loopback
o Fixed local routes in dn_route_output_slow()
o Fixed error case in dn_route_input/output_slow() pointed out by Rusty
<rusty@rustcorp.com.au>
[NETFILTER]: Fix Module Usage in ipchains and ipfwadm.
Gets rid of some warnings. Manipulating our own module count inside the
sockopt is safe, because unregistering that sockopt will block.
<rusty@rustcorp.com.au>
[NETFILTER]: Make NAT code handle non-linear skbs.
Makes the NAT code and all NAT helpers handle non-linear skbs.
Main trick is to introduce skb_ip_make_writable which handles all
the decloning, linearizing, etc.
<davem@nuts.ninka.net>
[NETFILTER]: ip_nat_proto_{icmp,udp}.c need ip_nat_core.h
<davem@nuts.ninka.net>
[IPV6]: Kill spurious module_{get,put}().
<davem@nuts.ninka.net>
[BLUETOOTH]: Fix hci_usb build.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix offset in ICMPV6_HDR_FIELD messages.
<yoshfuji@linux-ipv6.org>
[IPV^]: Use correct icmp6 type in ip6_pkt_discard.
<davem@nuts.ninka.net>
[SPARC64]: Only use power interrupt when button property exists.
<chas@cmf.nrl.navy.mil>
[ATM]: Fix foul up in lec driver.
<Matt_Domsch@dell.com>
dynids: call driver_attach() when new IDs are added
This causes the driver to create proper device symlinks in sysfs when
new IDs are added and thus new devices found by the driver.
drivers/base/bus.c
make driver_attach non-static
drivers/pci/pci-driver.c
delete probe_each_pci_dev, call driver_attach instead.
Whitespace cleanups.
include/linux/device.h
add declaration of driver_attach.
<davidm@tiger.hpl.hp.com>
ia64: Improve spinlock code to handle contention in shared routine called
with a special convention. Various minor fixes for gcc-pre3.4.
<jejb@raven.il.steeleye.com>
Add .release template method to scsi_debug.c
Lost in the hch/andmike merge
<davem@nuts.ninka.net>
[IPV6]: Remove illogical bug check in fib6_del.
<davej@codemonkey.org.uk>
[AGPGART] Only enable isochronous transfers on AGP3.5 chipsets.
The standard says that 3.0 chipsets don't support these extensions.
Move the isoch stuff out into isoch.c leaving behind a shell for basic
AGP3.0 enabling (to be written).
<davej@codemonkey.org.uk>
[AGPGART] Remove unneeded exports.
These functions should only be called indirectly from agp_generic_enable()
<arun.sharma@intel.com>
[PATCH] ia64: fix ia32 emulation of rlimit et al
<eranian@hpl.hp.com>
[PATCH] ia64: perfmon update
Please apply the following patch on top of 2.5.6x. This patch does the
following:
- repair broken system-wide overflow notification
- repair broken per-process notification
- fix a problem in the resrved bitmask for opcode
matcher8,9 for McKinley as reported by UIUC.
- forcing of bit2 for pmc8/pmc9 now part of reserved bitmask
- add the unsecure option to perfmon
- update to perfmon 1.4 (similar to 2.4)
<elenstev@mesatop.com>
[PATCH] ia64: spelling fixes
<davidm@tiger.hpl.hp.com>
ia64: Manual merge of Steve's spelling fixes.
<alex_williamson@hp.com>
[PATCH] ia64: fix timer interrupts getting lost
This patch fixes the issue of some CPUs not showing timer interrupts
going off. Seems during the process of sync'ing the itc, we jumped over
the next timer value. This patch is against 2.5.67 + ia64. I haven't
seen the problem on 2.4, but a quick looks seems like it's potentially
an issue there too.
<alex_williamson@hp.com>
[PATCH] ia64: interrupt fixes/cleanup
Here's some cleanups/fixes/changes for interrupts on 2.5.67 + ia64.
Specifically:
- Cleanup some ugliness with polarity/trigger setup.
- Add iosapic_enable_intr() to set_rte on an interupt when the
device is enabled. IMHO, we really only want to unmask RTEs
for PRTs we might actually use. This moves the interrupt
distribution here too.
- When changing a vector from edge to level, call register_intr()
to do it so all the data structures get set correctly. If we
have to guess how to setup an interupt and get it wrong, this
should close some holes in changing it back to the correct type.
- Register the HCDP interrupt in 8250_hcdp - this is where we have
to guess the polarity/trigger. The real handler will get fixed
up via PCI setup or ACPI namespace serial support, this gets it
associated w/ the port at setup. This should allow interrupts
to work when using builtin UARTs as console on HP Itanium2 boxes.
<bjorn_helgaas@hp.com>
[PATCH] ia64: multi-ioport space support
This has been in my 2.4 BK tree for a while, but I should have
posted it in case there's feedback from other people working
on large machines. So here it is, in four parts:
1 enhance __ia64_mk_io_addr(port)
2 enhance pcibios_scan_root to get multiple mem & io windows
from ACPI _CRS, and fixup all the resources
3 add support for /proc/iomem and /proc/ioports
4 trivial (whitespace, copyright, and move pcibios_fixup_device_resources
closer to related code)
The current scheme is that IO ports are 64 bits, with the low 24
bits being the port number within an IO port space, and the upper
bits identifying the space. There is currently a limit of 16
spaces.
<bjorn_helgaas@hp.com>
[PATCH] ia64: multi-ioport space support (part 2 of 4)
enhance pcibios_scan_root to get multiple mem & io windows from ACPI _CRS,
and fixup all the resources
<bjorn_helgaas@hp.com>
[PATCH] ia64: multi-ioport space support (part 3 of 4)
add support for /proc/iomem and /proc/ioports
<bjorn_helgaas@hp.com>
[PATCH] ia64: multi-ioport space support (part 3 of 4)
trivial (whitespace, copyright, and move pcibios_fixup_device_resources
closer to related code)
<bjorn_helgaas@hp.com>
[PATCH] ia64: new IOC recognition
This is a trivial patch that makes sba_iommu recognize a new IOC.
Only change is that it will print
IOC: sx1000 0.1 HPA 0xf8120002000 IOVA space 1024Mb at 0x80000000
instead of
IOC: Unknown (103c:127c) 0.1 HPA 0xf8120002000 IOVA space 1024Mb
at 0x80000000
<bjorn_helgaas@hp.com>
[PATCH] ia64: vendor-specific ACPI resource cleanup
This is to
- handle _CRS with multiple vendor-specific resources
- use acpi_walk_resources() instead of doing it by hand
- make lookup of vendor resource by GUID generic
- cleanup now-unused helper functions
(This depends on the previous IO port space patches, because
they removed the last of acpi_get_addr_space()).
My hope is that acpi_vendor_resource_match() and
acpi_find_vendor_resource() can someday move into ACPI,
but that probably depends on getting the idea of labelling
vendor resources with a GUID into the spec. HP does this
and I think is working on putting it in the spec.
<petrides@redhat.com>
[PATCH] ia64: fixes for semtimedop() ia32-compat handling
Here are two fixes for the ia32-compatibility mode handling
for the new semtimedop() system call for the ia64 architecture.
The first problem was that treatment of user-mode calls to semtimedop()
with a NULL 4th (struct timespec *) parameter was inconsistent with the
behavior of the same executable on i386 and also with a natively compiled
ia64 binary. A NULL 4th arg to semtimedop() should result in no timeout
being used (like a straight semop() call) rather than in an EFAULT error.
The second problem was that a legitimate semtimedop() with a timeout was
also resulting in an EFAULT because the fetch of the internal timespec
strucure by sys_semtimedop() from semtimedop32()'s kernel stack was
treated as an invalid user-data reference. This requires temporarily
switching the addressing limit with set_fs(), further requiring that
appropriate parameter checking by performed prior to the switch.
The const qualifier was removed from the (struct compat_timespec *) arg
to semtimedop32() so that the call to get_compat_timespec() wouldn't
generate a compilation warning.
<davidm@tiger.hpl.hp.com>
ia64: Manual merge of Bjorn Helgaas' sba_iommu patch to make it use seq_file.
<jejb@raven.il.steeleye.com>
fix syntax error in ncr53c8xx from hch conversion
<jejb@raven.il.steeleye.com>
fix missed conversion of to_scsi_host -> dev_to_shost in sim710
<jejb@raven.il.steeleye.com>
add missing asm/io.h to scsi/dc395x.c
<roland@frob.com>
[PATCH] core dump psinfo.pr_sname letter fix
This patch makes the state letter in the pr_sname field in core dumps
correct for stopped and zombie threads. The order needed to be changed when
the TASK_* values changed. This matches the letters used in sched.c:show_task.
<greg@kroah.com>
[PATCH] PCI Hotplug: fix up the compaq driver to work properly again.
<greg@kroah.com>
[PATCH] PCI Hotplug: fix up the ibm driver to work properly again.
<greg@kroah.com>
[PATCH] PCI Hotplug: fix compiler warning in ibm driver.
<greg@kroah.com>
[PATCH] PCI Hotplug: fix up the acpi driver to work properly again.
<greg@kroah.com>
[PATCH] PCI Hotplug: fix dependancies for CONFIG_HOTPLUG_PCI_ACPI
Thanks to Adrian Bunk <bunk@fs.tum.de> for pointing this out.
<greg@kroah.com>
PCI Hotplug: export the acpi_resource_to_address64 function, as the acpi pci hotplug driver needs it.
<davidm@tiger.hpl.hp.com>
mca.c:
(show_min_state): Fix typo r11 -> r12.
<kraxel@bytesex.org>
[PATCH] i2c #1/3: listify i2c core
This is the first of tree patches for i2c. Trying to get the i2c
cleanups finshed before 2.6.x, so we (hopefully) don't have a
ever-changing i2c subsystem in 2.7.x again (which is very annonying for
driver maintainance).
Changes:
* listify i2c-core, i.e. make it use <linux/list.h> instead of
statically-sized arrays, removed lots of ugly code :)
* added i2c_(get|put)_adapter, changed i2c-dev.c to use these
functions instead maintaining is own adapter list.
* killed the I2C_DF_DUMMY flag which had the strange semantics to
make the i2c subsystem call driver->attach_adapter on detaches.
Added a detach_adapter() callback instead.
* some other minor cleanups along the way ...
<kraxel@bytesex.org>
[PATCH] i2c #2/3: add i2c_clients_command
Changes:
* adds a i2c_clients_command() function to i2c-core which calls
the ->command() callback of all clients attached to a adapter.
* make bttv + saa7134 drivers use that function instead of mucking
with the i2c_adapter struct themself.
<kraxel@bytesex.org>
[PATCH] i2c #3/3: add class field to i2c_adapter
This is the last of three patches for i2c. It introduces a new field
to i2c_adapter which classifies the kind of hardware a i2c adapter
belongs to (analog tv card / dvb card / smbus / gfx card ...). i2c chip
drivers can use this infomation to decide whenever they want to look for
hardware on that adapter or not. It doesn't make sense to probe for a
tv tuner on a smbus for example ...
<greg@kroah.com>
[PATCH] i2c: fix compile error due to previous patches.
<warp@mercury.d2dc.net>
[PATCH] i2c: it87 patch.
More or less straight forward patch.
Fix a typo in the comments at the top.
Show all 9 voltage inputs.
Show all 3 fan inputs.
Allow you to select the temp sensor type from the sysfs interface,
instead of just with the temp_type module option.
(1 = diode, 2 = thermistor, 0 = disabled).
I'm still trying to figure out the registers for PWM fan controller
support.
<sri@us.ibm.com>
o net/socket: fix bug in sys_accept
module_put() gets called twice on error. Once via the explicit module_put and
the second via sock_release(). Also i think we should do a __module_get() with
newsock's owner(although same as the original listening sock).
<paulkf@microgate.com>
[PATCH] synclink update
- Add support for hardware version 2 (universal PCI) of synclink adapter
- Use mod_timer() function
<paulkf@microgate.com>
[PATCH] n_hdlc update
- Use C99 initializers
<arun.sharma@intel.com>
[PATCH] ia64: fix sys32_select()
<davem@nuts.ninka.net>
[IPV4/IPV6]: Set owner field in family ops.
<greg@kroah.com>
[PATCH] USB: add usb class support for usb drivers that use the USB major
This also consolodates the devfs calls for the USB drivers.
<greg@kroah.com>
[PATCH] USB: converted usblp over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted mdc800 over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted scanner over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted dabusb over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted auerswald over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted brlvger over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted rio500 over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted usblcd over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: converted usb-skeleton over to new usb_register_dev() changes.
<greg@kroah.com>
[PATCH] USB: remove #include <linux/devfs_fs_kernel.h> from some drivers that do not need it.
<greg@kroah.com>
USB: converted hiddev over to new usb_register_dev() changes.
<rddunlap@osdl.org>
[NET]: Spelling/typo fixes in rtnetlink.h
<rddunlap@osdl.org>
[IPV6]: Convert /proc/net/rt6_stats to seq_file.
<bdschuym@pandora.be>
[BRIDGE]: Change pkt_type to PACKET_HOST earlier.
<shemminger@osdl.org>
[IPV4]: Replace explicit dev->refcount bumps with dev_hold.
<akpm@digeo.com>
[NET]: Remove duplicated alloc_skb debug check.
<chas@cmf.nrl.navy.mil>
[ATM]: Add Forerunner HE support.
<chas@cmf.nrl.navy.mil>
[ATM]: Forward port br2864 to 2.5.x
<chas@cmf.nrl.navy.mil>
[ATM]: Clip locking and more atmvcc cleanup.
<rddunlap@osdl.org>
[IPV6]: Fix typos in ip6_fib.c
<rddunlap@osdl.org>
[IPV6]: Use time_after() etc. for comparing jiffies.
<olof@austin.ibm.com>
[TCP]: tcp_twkill leaves death row list in inconsistent state over tcp_timewait_kill.
<davem@nuts.ninka.net>
[ATM]: Fix build of HE driver.
<trond.myklebust@fys.uio.no>
Decrement the nr_unstable page state after the COMMIT RPC call
completes instead of before. This ensures that writeback
WB_SYNC_ALL does wait on completion.
Don't overreport the number of pages we wrote out. It is safer to
underreport.
Fix missing NFSv3 unstable write accounting in fs/fs-writeback.c
and mm/page-writeback.c
<trond.myklebust@fys.uio.no>
Fix typos in close-to-open cache consistency checking.
<trond.myklebust@fys.uio.no>
Fix a TCP race: check whether or not the socket has been disconnected
before we allow an RPC request to wait on a reply.
<trond.myklebust@fys.uio.no>
Don't use an RPC child process when reconnecting to a TCP server.
This is more efficient, and also fixes an existing deadlock
situation in which the child could be waiting for an xprt_write_lock
that was being held by the parent.
<trond.myklebust@fys.uio.no>
Ensure that if we need to reconnect the socket, we also resend
the entire RPC message
Assorted TCP reconnection fixes.
Temporarily raise the necessary CAP_NET_BIND_SERVICE capability
if we need to bind the socket to a reserved port during a TCP
reconnection. Check for CAP_NET_BIND_SERVICE at mount time.
<trond.myklebust@fys.uio.no>
Add the sk->callback_lock spinlocks to the RPC socket callbacks
in order to protect the socket from being released by one
CPU while the other is in a soft interrupt.
<cel@citi.umich.edu>
the recently-applied patch to fix the rpc_show_tasks() Oops is incomplete.
this applies over 2.5.68 and should address all of the issues in
rpc_show_tasks().
<trond.myklebust@fys.uio.no>
Ensure that Lockd and the NSM (statd) clients always use privileged
ports. Remove the existing code to temporarily raise privileges in
fs/lockd/host.c, and use the new code in net/sunrpc/xprt.c
There should no longer be a need to temporarily change the fsuid.
Remove this feature.
<trond.myklebust@fys.uio.no>
UDP and TCP zero copy code for the NFS client. The main interest
of this patch is to eliminate the use of xdr_kmap() and xdr_unmap()
by replacing them with MSG_MORE. xdr_kmap() is deadlock-prone
due to the fact that it has to kmap() several pages at the same time.
<acme@conectiva.com.br>
o ipx: ipx_interfaces outlives struct sock/socket
And thus have to do module refcounting...
<torvalds@penguin.transmeta.com>
Whee. Fix ancient mailing address.
<greg@kroah.com>
[PATCH] USB: update my copyrights in a few locations.
<chas@cmf.nrl.navy.mil>
[ATM]: assorted atm patches
<chas@cmf.nrl.navy.mil>
[ATM] remove iovcnt from atm_skb
skbs has (and has had for a while) scatter/gather support
making the scatter gather in atm redundant. the current iovcnt
schme really isnt being used anyway typically. the atm
layer will need a little more work in the future to take
advantage of the skb scatter/gather support. this patch
removes the iovcnt dependencies and gets the check for
non linear skbs right.
<davem@nuts.ninka.net>
[IPV4]: Use time_{before,after}() and proper jiffies types in route.c
<davem@nuts.ninka.net>
[IPV4]: Two minor errors in jiffies changes.
<shemminger@osdl.org>
[NET]: Kill more direct references to netdev->refcnt.
<kuznet@ms2.inr.ac.ru>
[ACENIC]: Comment out netif_wake_queue from acenic watchdog.
<David_Jeffery@adaptec.com>
[PATCH] ips 2.5 driver update [1/4] irq return update
This is the proper way to report if the interrupt
was from a serveraid or not.
David Jeffery
ips.c | 29 ++++++++++++++++-------------
ips.h | 6 +++++-
2 files changed, 21 insertions(+), 14 deletions(-)
<David_Jeffery@adaptec.com>
[PATCH] ips 2.5 driver update [2/4] missing kfree and static init s
This patch adds a missing kfree on an error path
and removes some cases where static variables
were being explicitly initiated to 0.
ips.c | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
<David_Jeffery@adaptec.com>
[PATCH] ips 2.5 driver update [3/4]: misc cleanups
This patch checks the return code of
pci_set_dma_mask for a 32bit mask, adds a break
to quiet some compilers, and adds some 2.4 compat.
code.
ips.c | 8 ++++++--
ips.h | 4 +++-
2 files changed, 9 insertions(+), 3 deletions(-)
<David_Jeffery@adaptec.com>
[PATCH] ips 2.5 driver update [4/4]: use dev_printk
Use the new dev_printk.
Thanks go to Mike Christie who originally
created this patch.
ips.c | 135 +++++++++++++++++++++++++++---------------------------------------
ips.h | 5 ++
2 files changed, 62 insertions(+), 78 deletions(-)
<hch@lst.de>
[PATCH] remove scsi_slave_attach/scsi_slave_detach
I added those two to factor out common code from the upper drivers
a long time ago, but after Doug & Lubens nice work there's nothing
left but incrementing/decrementing a counter in struct scsi_device
that's never used except in the case were we not it must be NULL
because we just walked the chain of drivers to detach every single
one..
<hch@lst.de>
[PATCH] first batch of shost sysfs fixes
(a) scsi_check_device_busy() is unused now, kill it. Btw, although I
love to see this this really means we need to imply a
scsi_set_device_offline (or even better scsi_set_host_offline)
in scsi_remove_host now..
(b) make shost_class static to scsi_sysfs.c, with the new device model
changes no LLDD needs this anymore
(c) move private prototypes where they belong.
BTW, Mike, did I miss something or will your changes make every driver
converted to scsi_add_host & co OOPS on removal now?
<hannal@us.ibm.com>
[PATCH] tc_zs tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] specialix tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] stallion tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] serial_tx3912 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] sh-sci tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] ser_a2232 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] serial167 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] rocket tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] sgi/char/sgiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] rio tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] riscom8 tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] pcxx tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] mxser tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] istallion tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] moxa tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] ip2main tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] isicom tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] esp tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] hvc_console tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] dz tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] cyclades tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] amiserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] macintosh/macserial tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] isdn/capi tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<hannal@us.ibm.com>
[PATCH] vme_scc tty_driver add .owner field remove MOD_INC/DEC_USE_COUNT
<davem@nuts.ninka.net>
[PKT_SCHED]: Kill iovcnt reference from sch_atm.c
<greg@kroah.com>
TTY: add tty class support for all tty devices.
<greg@kroah.com>
TTY: changes based on tty_register_device() paramater change.
<greg@kroah.com>
TTY: remove usb-serial sysfs dev file as it is now redundant.
<torvalds@home.transmeta.com>
Make lib/inflate.c look remotely like ANSI C, so that it can be
properly checked with the rest of the kernel.
<torvalds@home.transmeta.com>
Avoid using undefined preprocessor symbols: check CONFIG_MK7 with
"defined()" rather than using it as a value.
<jejb@mulgrave.(none)>
Update aacraid to last drop on 2.4 from Alan Cox
<jejb@mulgrave.(none)>
Update aacraid from 2.4->2.5 semantics
- stanford checker fixes (randy.dunlap)
- updated io_request_lock to correct 2.5 lock
- spelling fixes
- torvalds daemonize changes
- updated templates etc
- update scsicmd-> to scsicmd->device-> for new command alloc code
- update biosparam and add slave_configure
- gendisk name changes
- fix compile warnings
<markh@osdl.org>
[PATCH] New aacraid driver fixed.
I have the new aacraid driver working on my system now. The patch is
against the 2.5.66 updates that you gave me. I made the following
changes:
aachba.c aac_scsi_cmd()
There was a race accessing the scsicmd pointer accessing the host_lock.
I made a local pointer to the Scsi_Host so the spin_lock_irq after
aac_read wouldn't panic. I think that sometimes the I/O would be done
and the memory freed before returning invalidating the scsicmd pointer.
I made the same change in aac_io_done in case scsi_done had freed the
scsicmd memory before returning.
comminit.c aac_alloc_comm()
AdapterFibsVirtualAddress was set to the virtual address of base. I
changed it to set it to the phys address. I compared this to code
pointed to by matt domsch on the aacraid devel list on the 5th. Its
aac_alloc_comm sets this variable to the phys address. This fixed the
probelem where the entry->addr was bad. Another was to fix it I guess
would be to leave this change alone and not try to convert the address
in aac_command_normal.
dpcsup.c aac_response_normal()
Changed the bus_to_virt to the calculation we talked about last month.
dpcsup.c aac_command_normal()
Changed the bus_to_virt to the calculation.
<torvalds@home.transmeta.com>
Use "__attribute__" consistently.
<torvalds@home.transmeta.com>
Allow external checkers to overrid the "cond_syscall()" macro.
<torvalds@home.transmeta.com>
Support a "checking" mode for kernel builds, that runs a
user-supplied source checker on all C files before compiling
them.
I'll release the actual checker once I've cleaned it up a
bit more (yay, all the copyright paperwork completed!)
<akpm@digeo.com>
[PATCH] generic subarchitecture for ia32
From: Andi Kleen <ak@muc.de>
This patch adds an generic x86 subarchitecture. It is intended to provide
an dynamic interface for APIC drivers. There are already three subarchitectures
(bigsmp, summit, default) that only differ in how they drive the local APIC.
A fourth - Unisys ES7000 - is scheduled to be merged soon.
The subarchitecture concept separated this nicely, but it has the big
drawback that they are compile time options. A Linux vendor cannot
ship own binary kernel rpms for all of these machines. Runtime probing
is needed instead.
This patch adds a new "generic" subarchitecture that just acts as a
dynamic switching layer for APIC drivers. It only tries to virtualize
the APICs, no attempt is made to cover further incompatiblities.
This means machines like the Visual Workstation, pc9800 or
Voyager are not covered; but these are unlikely to be supported by
binary distributions anyways.
The generic arch reuses the existing interface in mach_ipi / mach_mpparse.h /
mach_apic.h and just pulls it using some macros into an "struct genapic"
object. The main APIC code does not recognize it, it is all hidden
in the mach-generic include files.
Auto detection of APIC types is supported in the usual way used by
existing ports like Summit - checking ACPI or mptables for specific
signatures - or it can be specified by the user using a new "apic="
boot option. I also moved the DMI scan to before the generic
subarchitecture probe, so DMI could be used in future too to probe
specific machines.
Some minor hacks were needed to avoid circular declaration of a few
symbols, but overall it's fairly clean.
The patch has been tested on a Summit machine, an generic 4 virtual CPUs
Xeon and on an ES7000.
<akpm@digeo.com>
[PATCH] Fix .altinstructions linking failures
From: Andi Kleen <ak@muc.de>
Some configs didn't link anymore because they got references from
.altinstructions to __exit functions. Fixing it at the linker level is not
easily possible. This patch just discards .text.exit at runtime instead of
link time to avoid this.
It will also fix a related problem with .eh_frame in modern gcc (so far only
observed on x86-64, but could happen on i386 too)
<akpm@digeo.com>
[PATCH] cpia driver __exit fix
From: Andi Kleen <ak@muc.de>
This driver was bogusly relying on the dropping of the __exit section at link
time. cpia_exit() is calling proc_cpia_destroy(), which doesn't even exist
if !CONFIG_MODULE.
<akpm@digeo.com>
[PATCH] fix OSS opl3sa2 compilation
From: Zwane Mwaikambo <zwane@linuxpower.ca>
There was a 2.4 merge from Alan Cox, but a few #ifdef's got shuffled around
in the process, resulting in a broken build for !CONFIG_PM
<akpm@digeo.com>
[PATCH] misc fixes
- ifdef fix in kmap_types.h (Oleg Drokin)
- remove redundant ext3 inclusions (Burton Windle)
- Fix misidentified warning printk in vmalloc.c
- radeon_cp printk warning fix (Randy Dunlap)
- Update minimum binutils version for the ".incbin" thing in vsyscall.S
- update raw driver to recent module API.
- update my email address
<akpm@digeo.com>
[PATCH] mwave build fix
From: Michael Buesch <fsdeveloper@yahoo.de> and Paul Schroeder.
mwavedd.h needs <linux/wait.h> and smapi.h
<akpm@digeo.com>
[PATCH] drm timer initialisation fix
The timer is being initialised too late (in ->open()). If modprobe fails we
get an uninitialised timer warning.
<akpm@digeo.com>
[PATCH] slab: initialisation cleanup and oops fix
From: Manfred Spraul <manfred@colorfullife.com>
attached is the promised cleanup/bugfix patch for the slab bootstrap:
- kmem_cache_init & kmem_cache_sizes_init merged into one function,
called after mem_init(). It's impossible to bring slab to an operational
state without working gfp, thus the early partial initialization is not
necessary.
- g_cpucache_up set to FULL at the end of kmem_cache_init instead of the
module init call. This is a bugfix: slab was completely initialized,
just the update of the state was missing.
- some documentation for the bootstrap added.
The minimal fix for the bug is a two-liner: move g_cpucache_up=FULL from
cpucache_init to kmem_cache_sizes_init, but I want to get rid of
kmem_cache_sizes_init, too.
<akpm@digeo.com>
[PATCH] sysrq-S, sysrq-U cleanups
From: Christoph Hellwig <hch@lst.de>
Change sysrq sync/remount from a magic bdflush hook to proper pdflush
operations. The sync operation reuses most of the regular sys_sync path now
instead of implementing it's own superblock walking and (broken) local disk
detection, the remount implementation has been moved to super.c, cleaned up
and updated for the last two years locking changes. It also shares some code
with the regular remount path now.
<akpm@digeo.com>
[PATCH] s/UPDATE_ATIME/update_atime/ cleanup
From: Stewart Smith <stewartsmith@mac.com>
Remove the UPDATE_ATIME() macro, use update_atime() directly.
<akpm@digeo.com>
[PATCH] irqreturn_t for drivers/net/pcmcia
From: Zwane Mwaikambo <zwane@linuxpower.ca>
update pcmcia drivers for new IRQ API
<akpm@digeo.com>
[PATCH] keyboard.c Fix CONFIG_MAGIC_SYSRQ+PrintScreen
From: Chris Heath <chris@heathens.co.nz>
This patch fixes the PrintScreen key when CONFIG_MAGIC_SYSRQ is enabled. It
allows you to use that key normally when Alt is not being pressed. Patch is
against kernel 2.5.68.
<akpm@digeo.com>
[PATCH] Don't use devfs names in disk_name()
From: Christoph Hellwig <hch@lst.de>
disk_name() (and hence bdevname()) are now returning devfs-style device names
when devfs is enabled.
This is nice, but these names are very long, and they overflow the 32-char
buffers which these functions use.
The choices are:
a) Use a bigger buffer (increase BDEVNAME_SIZE).
This might be practical. But how big?
b) return the name in kmalloced memory, make caller free it up. Yuk.
c) Add a print_bdevname() thing and intersperse that amongst the printk's.
This would work.
d) Just print the non-devfs device name. That's what this patch does.
<akpm@digeo.com>
[PATCH] devfs: API changes
From: Christoph Hellwig <hch@lst.de>
Some people may already have noticed that I've been revamping the devfs API
recently. The worst offender still left is devfs_register, it's prototype
is:
devfs_handle_t devfs_register(devfs_handle_t dir,
const char *name, unsigned int flags,
unsigned int major, unsigned int minor,
umode_t mode, void *ops, void *info)
Of these:
- dir and flags are always zero
- the return value is never used
- info is only used in one driver which doesn't even need it for
operation
- umode_t always describes a character device
- name very often comes from a stack buffer we sprintf'ed into
so obviously we really want a much simpler API instead. My first draft for
this was:
int devfs_mk_cdev(dev_t dev, umode_t mode,
struct file_operations *fops, void *info,
const char *fmt, ...)
this removes the unused argumens, switches to a proper dev_t for the device
number and allows to directly use a printf-like expression as name, getting
rid of the temporary buffers.
Now Al has reappeared and put the first steps of his CIDR for charater device
on public ftp and we'll soon have a similar lookup object + fops mechanism in
generic code as we already habe for blockdevices, i.e. the devfs code to
assign fops from an entry will become superflous as generic code already does
it. That means the fops and info arguments are obsolete before they were
introduced, so I'd like to propose the following API instead:
int devfs_mk_cdev(dev_t dev, umode_t mode, const char *fmt, ...)
which is much nicer anyway. The educated reader will notice that this is
exactly the same prototype devfs_mk_bdev has so I'll probably get suggestions
to merge those two into some kind of devfs_mk_node soon. Personally I don't
like that as character and blockdevices are two really separate entinities
and I'll like to keep them as separate as possible.
Example patch that introduces the API and converts drivers/input attached.
Every driver which calls devfs_mk_cdev (about 50) needs conversion. Note
that the transition can happen in pieces - devfs_register continues to work
after this patch, it's just the plan to get rid of it in the end.
<akpm@digeo.com>
[PATCH] remove partition_name()
From: Christoph Hellwig <hch@lst.de>
partition_name() is a variant of __bdevname() that caches results and
returns a pointrer to kmalloc()ed data instead of printing into a buffer.
Due to it's caching it gets utterly confused when the name for a dev_t
changes (can happen easily now with device mapper and probably in the
future with dynamic dev_t users).
It's only used by the raid code and most calls are through a wrapper,
bdev_partition_name() which takes a struct block_device * that maybe be
NULL.
The patch below changes the bdev_partition_name() to call bdevname() if
possible and the other calls where we really have nothing more than a dev_t
to __bdevname.
Btw, it would be nice if someone who knows the md code a bit better than me
could remove bdev_partition_name() in favour of direct calls to bdevname()
where possible - that would also get rid of the returns pointer to string
on stack issue that this patch can't fix yet.
<akpm@digeo.com>
[PATCH] switch most remaining drivers over to devfs_mk_bdev
From: Christoph Hellwig <hch@lst.de>
This is a pretty huge patch, but splitting it doesn't make a lot
of sense..
(USB may still need work)
<akpm@digeo.com>
[PATCH] dvbdev fixes
From: Monchi Abbad <kernel@axion.demon.nl>
I found a mistake in the dvbdev.c file when creating the dvb /devfs files,
it created /dev/dvb/adapter0device0 instead of /dev/dvb/adapter0/device0.
But here is a simple fix.
<akpm@digeo.com>
[PATCH] access_ok() race fix for 80386.
From: Manfred Spraul <manfred@colorfullife.com>
Real 80386 cpus ignore the write protected bit in the page tables when
running in supervisory mode. Thus the write protected bit must be checked by
software. The current implementation does that check during access_ok().
This can result in data corruptions, if kswapd starts a swap-out between the
access_ok and the actual write operation.
To fix this, the patch moves the check from access_ok() into
__copy_to_user_ll(), and redirects all user space writes into
__copy_to_user_ll(). The patch only affects kernels build for 80386 cpus.
Additionally, the patch removes the dead prototypes for __put_user_{1,2,4,8}.
Due to the uninlining of access_ok, the .text segment is now ~ 8 kB shorter.
<akpm@digeo.com>
[PATCH] hold i_sem on swapfiles
If a swapfile is ftruncated while in use, subsequent swapout will scribble on
the filesystem.
This is a case of root-shoot-foot, but wrecking the fs is a fairly rude
response. And it's easy to fix: hold i_sem across the life of the swapon.
<akpm@digeo.com>
[PATCH] remove unnecessary PAE pgd set
From: Dave Hansen <haveblue@us.ibm.com>, Bill Irwin
With PAE on, there are only 4 PGD entries. The kernel ones never change,
so there is no need to copy them when a vmalloc fault occurs. This was
this was causing problems with the split pmd patches, but it is still
correct for mainline.
Tested with and without PAE. I ran it in a loop turning on and off 10 swap
partitions, which is what excited the original bug.
http://bugme.osdl.org/show_bug.cgi?id=640
<akpm@digeo.com>
[PATCH] account for slab reclaim in try_to_free_pages()
try_to_free_pages() currently fails to notice that it successfully freed slab
pages via shrink_slab(). So it can keep looping and eventually call
out_of_memory(), even though there's a lot of memory now free.
And even if it doesn't do that, it can free too much memory.
The patch changes try_to_free_pages() so that it will notice freed slab pages
and will return when enough memory has been freed via shrink_slab().
Many options were considered, but must of them were unacceptably inaccurate,
intrusive or sleazy. I ended up putting the accounting into a stack-local
structure which is pointed to by current->reclaim_state.
One reason for this is that we can cleanly resurrect the current->local_pages
pool by putting it into struct reclaim_state.
(current->local_pages was removed because the per-cpu page pools in the page
allocator largely duplicate its function. But it is still possible for
interrupt-time allocations to steal just-freed pages, so we might want to put
it back some time.)
<akpm@digeo.com>
[PATCH] slab: additional debug checks
From: Manfred Spraul <manfred@colorfullife.com>
below is the promised patch for better slab debugging, against 2.5.68-mm4:
Changes:
- enable redzoning and last user accounting even for large objects, if
that doesn't waste too much memory
- document why FORCED_DEBUG doesn't enable redzoning&last user accounting
for some caches.
- check the validity of the bufctl chains in a slab in __free_blocks.
This detects double-free error for the caches without redzoning.
<akpm@digeo.com>
[PATCH] reduced overheads in fget/fput
From: Dipankar Sarma <dipankar@in.ibm.com>
fget() shows up on profiles, especially on SMP. Dipankar's patch
special-cases the situation wherein there are no sharers of current->files.
In this situation we know that no other process can close this file, so it
is not necessary to increment the file's refcount.
It's ugly as sin, but makes a substantial difference.
The test is
dd if=/dev/zero of=foo bs=1 count=1M
On 4CPU P3 xeon with 1MB L2 cache and 512MB ram:
kernel sys time std-dev
------------ -------- -------
UP - vanilla 2.104 0.028
UP - file 1.867 0.019
SMP - vanilla 2.976 0.023
SMP - file 2.719 0.026
<akpm@digeo.com>
[PATCH] allow i8042 interrupt sharing
Ed Tomlinson has a machine on which some other device grabs IRQ12 first, and
the 8042 doesn't work. Enabling shared iRQs in the 8042 driver fixes it up.
Alan has confirmed that this is OK.
<akpm@digeo.com>
[PATCH] select() speedup
From: Christoph Hellwig <hch@infradead.org>
Originally by David Mosberger, testing by Roger Luethi. From the ia64 tree.
Basically, it avoids going to memory all the time. What this does is make
life a lot easier for gcc, so it can actually do a decent amount of
optimization. The restructuring clearly is less important for out-of-order
CPUs, but even there it gives some benefits.
More specifically, the loop is now structured to operate one "unsigned long"
at a time, rather than one bit at a time. Of course, you still need to
process all the bits, but most of the relevant state in the inner loop can be
kept in registers.
Roger Luethi measured the routine on a bunch of different machines (mostly
x86, IIRC: P5, P6, Crusoe, Athlons) and performance improved there, too (and
it should definitely improve performance on any RISC-like architecture).
Roger's benchmarking results (vs number of fd's):
File TCP
Numbfer of fd's: 10 250 500 10 250 500
UP, Pentium MMX 233MHz original 8.2 108.5 212.8 11.0 180.0 356.5
UP, Pentium MMX 233MHz w/patch 7.4 87.6 171.1 10.4 163.6 323.4
MP, Pentium MMX 233MHz original 15.7 283.8 562.8 18.9 354.4 705.5
MP, Pentium MMX 233MHz w/patch 14.6 255.6 506.5 17.8 332.8 664.1
UP, Athlon 1394 MHz original 1.3 13.4 26.1 1.9 24.7 48.6
UP, Athlon 1394 MHz w/patch 1.2 11.0 21.5 1.6 22.3 43.8
MP, Athlon 1394 MHz original 1.6 22.4 44.6 1.9 30.9 60.5
MP, Athlon 1394 MHz w/patch 1.5 21.2 41.7 1.9 30.2 59.6
<akpm@digeo.com>
[PATCH] Move security_d_instantiate hook calls
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch moves the security_d_instantiate hook calls in d_instantiate and
d_splice_alias after the inode has been attached to the dentry. This
change is necessary so that security modules can internally call the
getxattr inode operation (which takes a dentry parameter) from this hook to
obtain the inode security label.
<akpm@digeo.com>
[PATCH] ext3 xattr handler for security modules
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch against 2.5.68 implements an xattr handler for ext3 to support the
use of extended attributes by security modules for storing file security
labels. As per the earlier discussion of extended attributes for security
modules, this handler uses a "security." prefix and allows for per-module
attribute names. Security checking for userspace access to these attributes
can be performed by the security module using the LSM hooks in fs/xattr.c,
and the security module is free to internally use the inode operations
without restriction for managing its security labels. Unlike the trusted
namespace, these labels are used internally for access control purposes by
the security modules, and controls over userspace access to them require
finer granularity than capable() supports.
<akpm@digeo.com>
[PATCH] ext2 xattr handler for security modules
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch against 2.5.68 implements an xattr handler for ext2 to support the
use of extended attributes by security modules for storing file security
labels. As per the earlier discussion of extended attributes for security
modules, this handler uses a "security." prefix and allows for per-module
attribute names. Security checking on userspace access to these attributes
can be performed by the security module using the LSM hooks in fs/xattr.c,
and the security module is free to internally use the inode operations
without restriction for managing its security labels. Unlike the trusted
namespace, these labels are used internally for access control purposes by
the security module, and controls over userspace access to them require finer
granularity than capable() supports.
<akpm@digeo.com>
[PATCH] Change LSM hooks in setxattr
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch against 2.5.69 adds a security_inode_post_setxattr hook so that
security modules can update the inode security structure after a successful
setxattr, and it moves the existing security_inode_setxattr hook call after
the taking the inode semaphore so that atomicity is provided for the
security check and the update to the inode security structure.
<akpm@digeo.com>
[PATCH] Work around include/linux/sunrpc/svc.h compilation
From: Grzegorz Jaskiewicz <gj@pointblue.com.pl>
gcc-2.94 fails to compile this code, alleging an invalid lvalue.
An equivalent transformation fixes it up.
<greg@kroah.com>
TTY: fix up lost devfs_mk_cdev change.
<greg@kroah.com>
USB: change core to use devfs_mk_cdev() instead of devfs_register()
<greg@kroah.com>
USB: fix up compile error in tiglusb driver due to devfs_mk_cdev() changes.
<greg@kroah.com>
TTY: add lock to tty_dev_list, and handle tty names with more than one '/'
Thanks to Al Viro for pointing out these problems.
<chas@locutus.cmf.nrl.navy.mil>
[ATM]: Kill stray ATM_PDU_OVHD reference in lec.c
<mk@linux-ipv6.org>
[IPSEC]: Fix ipcomp header handling in ipv4 IPCOMP.
<hch@lst.de>
[PATCH] rationalize scsi_queue_next & friends
(1) second arg to scsi_queue_next_request() is only ever non-NULL
inside scsi_lib.c and only used in the first conditional inside
that function - ripped out of scsi_queue_next_request() and
put into a new helper scsi_requeue_command().
(2) Most remaining callers of are in the form
scsi_put_command(cmd);
scsi_queue_next_request(q, NULL);
add a new helper, scsi_next_command() for them.
(2b) many callers of that still contain a repeated codepath, namely
everything from scsi_release_request except the final kfree.
New helper __scsi_release_request() for those.
(3) All remaining callers loop over the devices of a host and call
scsi_queue_next_request() on them - new helper
scsi_run_host_queues().
(4) scsi_queue_next_request() renamed to scsi_run_queue(), second
arg is gone and it's static to scsi_lib.c now.
<rddunlap@osdl.org>
[IPV6]: Remove incorrect comment in ip6_fib.c
<shemminger@osdl.org>
[SYSKONNECT]: /proc module handling fixup.
<shemminger@osdl.org>
[PKTGEN]: Module and dev cleanup.
<steve@gw.chygwyn.com>
[DECNET]: Decnet not obeying netdev locking (from shemminger@osdl.org).
<hch@lst.de>
[SLIP]: Move over to initcalls.
<davem@nuts.ninka.net>
[IPV4]: Fix expiration test in rt_check_expire.
<rusty@rustcorp.com.au>
[NETFILTER]: Fix skb_checksum args in ip_nat_core.c
<david-b@pacbell.net>
[PATCH] USB Gadget API (1/6)
This patch createss <linux/usb_gadget.h>, the gadget API
and inlined implementation.
There's additional kerneldoc, which I won't submit at
this time, available.
<david-b@pacbell.net>
[PATCH] Net2280 driver (2/6)
This patch creates drivers/usb/gadget/net2280.[hc],
providing a driver for NetChip's "Net2280 PCI USB 2.0
High Speed Peripheral Controller".
It implements the API included in the first patch.
The driver has behaved well with chiprev 0100 under
stress tests with Gadget Zero and the ethernet model
driver, and has passed sanity tests for chiprev 0110.
<david-b@pacbell.net>
[PATCH] USB "Gadget Zero" driver (3/6)
This patch adds "Gadget Zero" (drivers/usb/gadget/zero.c).
Gadget Zero is a simple gadget driver that's useful for
testing controller drivers, and as an example to be used
for clone/modify style development.
This driver implements two configurations, and needs only
two bulk endpoints (in addition to ep0) ... so pretty much
any USB device controller should be usable with it in
one configuration or another. It (optionally) supports
high speed devices, and has passed the USB-IF "chapter 9"
device model conformance tests.
It's worth noticing the kinds of hardware differences that
gadget drivers need to cope with. Endpoints differ, in
ways that must be reflected various ways in descriptors.
And sometimes chip errata cause interoperability problems;
for example, an sa1100 can't change configurations after
enumerating.
<david-b@pacbell.net>
[PATCH] USB Ethernet Gadget (4/6)
This patch adds an "Ethernet Gadget" driver, implementing
the CDC Ethernet model (drivers/usb/gadget/ether.c).
It interops with the current CDC Ether drivers on Linux,
both 2.4 (CDCEther, using Marcelo's latest) and 2.5
(cdc-ether with recent patches, or on 2.5.68 "usbnet")
On a net2280, this has successfully streamed dozens of
megabytes per second using "ttcp" (high speed, and using
"usbnet" on the host side), for days at a time. And no
problems using SSH/NFS/etc in lighter duty testing.
It's possible this will need tweaking to cope with UDC
bugs on Intel's pxa25x controllers, presenting itself
as a non-CDC device. (I'm told altsettings are even
more broken than originally specified to be.)
<david-b@pacbell.net>
[PATCH] USB Gadget string utility (5/6)
This adds utility code that gadget drivers can use to manage
string descriptors (drivers/usb/gadget/usbstring.c) in the
common case that the ISO-8859/1 character set is in use.
Both "Gadget Zero" and the Ethernet gadget code use this.
<david-b@pacbell.net>
[PATCH] kbuild/kbuild for USB Gadgets (6/6)
This patch adds kconfig/kbuild support for the preceding
code, so that an EXPERIMENTAL option appears in the
USB part of the config menus.
Once a USB device controller driver is configured (which
just now means net2280, but sa11x0 and pxa25x options
are just waiting for updates!), gadget driver options
are also available.
<david-b@pacbell.net>
[PATCH] USB: gadget cleanup of #ifdefs
> can you get rid of all of the #ifdef HAVE_DRIVER_MODEL stuff?
Done. Now this code "knows" it's running in a 2.5
environment, and needs modifications to run on 2.4.
I also changed the file modes in the module_parm()
calls so the parameters will be writable when they
eventually show up in sysfs; and fixed a typo.
Compile-tested with and without DEBUG enabled.
<david-b@pacbell.net>
[PATCH] USB: gadget zero, loopback config fix
If the host writes OUT packets using URB_ZERO_PACKET
(or its analogue on other USB host systems), then the
loopback configuration should set req->zero, to use that
same transfer termination policy when it writes the
response back IN to the host.
<david-b@pacbell.net>
[PATCH] USB gadget: net2280: dmachain off, zlp pio ok
This patch has two small fixes for issues that people
reported to me yesterday:
- One of the out-of-tree drivers sees odd things
happening when dma chaining is enabled. (The
in-tree drivers seem fine with it.) So disable
for now; it's easily enabled if needed.
- Zero Length Packets (ZLPs):
* Should now read/write ok with PIO.
* On DMA endpoints, explicit ZLPs need PIO.
Until they do, don't allow queuing zero length
buffers onto DMA endpoints.
<torvalds@penguin.transmeta.com>
Use the right CFLAGS for source checking. Fix grammar.
<davem@nuts.ninka.net>
[MPLS]: Add ethernet protocol numbers.
<davem@nuts.ninka.net>
[NETFILTER]: Fix icmp_reply_translation args.
<davem@nuts.ninka.net>
[MPLS]: Add MPLS support to PPP.
<maxk@qualcomm.com>
[Bluetooth] Add required infrastructure for socket module refcounting.
Initialize ->owner fields in Bluetooth protocols and drivers.
<davem@nuts.ninka.net>
[SKFDDI]: Use SET_MODULE_OWNER.
<davem@nuts.ninka.net>
[IPV6]: Pass route attributes all the way down.
<davidm@tiger.hpl.hp.com>
ia64: Patch from Asit K. Mallick: fix a few places where last_fph_cpu
wasn't updated and one place in the sigreturn path where
the fph-owner wasn't set.
<jmorris@intercode.com.au>
[IPSEC]: Use xfrm_state_put in pfkey_msg2xfrm_state.
<chas@cmf.nrl.navy.mil>
[ATM]: Make he driver code more palatable.
<davem@nuts.ninka.net>
[NETFILTER]: Fix ip_nat_core.c:manip_pkt return value checks.
<willy@debian.org>
[DLCI]: Use module_init and fix ioctl handling.
<ak@muc.de>
[NET]: Clean up socket filter compat handling.
<davej@codemonkey.org.uk>
[AGPGART] Remove duplicate copying of ->chipset in agp_copy_info()
<yoshfuji@linux-ipv6.org>
[MAINTAINERS/CREDITS]: Add entries for USAGI hackers.
<jmorris@intercode.com.au>
[XFRM]: Make use of xfrm_state_hold().
<jmorris@intercode.com.au>
[XFRM]: Use xfrm_pol_hold().
<hch@lst.de>
[NET]: Switch x25_asy over to initcalls.
<davem@nuts.ninka.net>
[XFRM]: Fix typos in xfrm_state_put() changes.
<marcel@holtmann.org>
[Bluetooth] Send the correct values in RPN response
This patch fixes a bug in rfcomm_recv_rpn(), which do not set
the correct values for xon_char, xoff_char and flow_ctrl.
<marcel@holtmann.org>
[Bluetooth] Handle priority bits in parameter negotiation
The PN response have to return the same value for the priority
bits as in the request. The priority value is now also stored
in the rfcomm_dlc structure and the default value is 7.
<torvalds@home.transmeta.com>
Make aic7xxx driver use ANSI prototypes. My checker tool refuses
to touch K&R C.
<maxk@qualcomm.com>
[Bluetooth] L2CAP config req/rsp fixes.
We have to set continuation flag in config rsp if it was set in req.
<greg@kroah.com>
[PATCH] i2c: add i2c_adapter class support
<mark@alpha.dyndns.org>
[PATCH] I2C: add more classes
Add I2C classes for analog and digital cameras, and fix a typo.
<torvalds@penguin.transmeta.com>
Annotate LDT system calls with user pointer annotations.
<torvalds@penguin.transmeta.com>
Annotate x86 system calls with user pointer annotations.
<torvalds@penguin.transmeta.com>
Fix mismatch between i387 user copy function declaration and
definition.
<torvalds@penguin.transmeta.com>
Annotate IPC system calls with user pointer annotations
<torvalds@penguin.transmeta.com>
Annotate vm86_info as a pointer to user space.
<warp@mercury.d2dc.net>
[PATCH] I2C: Another it87 patch.
This is against my last.
While the old code most definitely did /something/ to the register for
setting the fan div, the 'what' is a more interesting question.
To be honest I could not figure out what it was trying to do, because
the way it was inserting values disagreed with not only the data sheet,
but how it parsed the very same register.
This corrects the issue, and allows one to properly control the divisor
on all 3 fans, including the (much more limited) 3rd fan.
<warp@mercury.d2dc.net>
[PATCH] I2C: Yet another it87 patch.
Ok, after writing up something in the way of a perl script to make some
sense of the data for voltages, and finding that there is no sense to
make, I took a longer look at things.
The it87 driver in 2.5.x is doing some, down right /odd/ math on the
numbers for the in_input* readings, and the 2.4.x driver is doing
something quite different.
And while it might be possible to get sane numbers out of the 2.5.x
driver, people /expect/ to get the numbers that they were getting from
2.4.x.
So this patch puts things back to the simpler calculations done by the
2.4.x lm-sensors drivers, and my script confirms that the numbers come
out right.
<warp@mercury.d2dc.net>
[PATCH] I2C: And another it87 patch.
Don't provide min/max for in8, which allowed one to scribble on
registers one should not be messing with. (My fault, oops.)
The setting of the temp high/low registers was off by one, not mine this
time. While I was at it, I reordered a few other register accesses to
be base 0 instead of base 1.
The temp interface was slightly incorrect, degrees * 100 instead of
degrees * 1000, also fixed.
And lastly, when changing the fan count divisor, fix up the min setting
to still be roughly the same. (Previously the meaning of the value in
the register changed, but not the value itself, resulting in, undesired
surprises.)
<greg@kroah.com>
[PATCH] i2c: register the i2c_adapter_driver so things link up properly in sysfs
<rohit.seth@intel.com>
[PATCH] ia64: enable 1G hugepage size for Mckinley
<corbet@lwn.net>
[PATCH] cpufreq class fix
<greg@kroah.com>
[PATCH] driver core: Add driver symlink to class devices in sysfs.
Thanks to Mike Anderson for the idea for this.
<greg@kroah.com>
[PATCH] driver core: remove unneeded line in class code.
Thanks to Jonathan Corbet for pointing this out.
<maxk@qualcomm.com>
[Bluetooth] Detect and log error condition when first L2CAP fragment is too long.
<vandrove@vc.cvut.cz>
[PATCH] Fix potential runqueue deadlock
send_sig_info() has been broken since 2.5.60.
The function can be invoked from a the time interrupt (timer_interrpt ->
do_timer -> update_process_times -> -> update_one_process -> (
do_process_times, do_it_prof, do_it_virt ) -> -> send_sig ->
send_sig_info) but it uses spin_unlock_irq instead of the correct
spin_unlock_irqrestore.
This enables interrupts, and later scheduler_tick() locks runqueue
(without disabling interrupts). And if we are unlucky, a new interrupt
comes at this point. And if this interrupt tries to do wake_up() (like
RTC interrupt does), we will deadlock on runqueue lock :-(
The bug was introduced by signal-fixes-2.5.59-A4, which split the
original send_sig_info into two functions, and in one branch it started
using these unsafe spinlock variants (while the "group" variant uses
irqsave/restore correctly).
<maxk@qualcomm.com>
[Bluetooth] RFCOMM must wait for MSC exchange to complete before sending data.
<davej@codemonkey.org.uk>
[AGPGART] death of generic-3.0.c = folded into generic.c
<davej@codemonkey.org.uk>
[AGPGART] Add proper AGP3 initialisation routine.
<davej@codemonkey.org.uk>
[AGPGART] Make sure we don't poke reserved bits when enabling agp v3
<davej@codemonkey.org.uk>
[AGPGART] Add missing #defines from last checkin.
<davej@codemonkey.org.uk>
[AGPGART] Use symbolic defines for isoch registers in isoch code.
<davej@codemonkey.org.uk>
[AGPGART] CodingStyle nitpicks for isoch.c
<davidm@tiger.hpl.hp.com>
ia64: Prepare for GCC v3.4. Sync with 2.5.69.
<davidm@tiger.hpl.hp.com>
ia64: Patch by John Marvin: Add virtual mem-map support.
<davem@nuts.ninka.net>
[TCP]: NULL out newsk->owner in tcp_create_openreq_child().
<jgarzik@redhat.com>
[SCTP]: Fix missing Kconfig dependency.
<shemminger@osdl.org>
[IPV4/IPV6]: inetsw using RCU.
<yoshfuji@linux-ipv6.org>
[IPV6]: Convert /proc/net/raw6 to seq_file.
<davej@codemonkey.org.uk>
[AGPGART] Make the agp 3.5 use the agp3 code for enabling, leaving just the isoch stuff in isoch.c
<James.Bottomley@steeleye.com>
[PATCH] sd.c spinup code can go into a wild loop
This problem was reported against 2.4 by Eddie.Williams@SteelEye.com
There's a problem in the sd spinup code in that if the unit returns NOT
READY, we begin to spin it up, but thereafter if it returns anything
other than NOT READY or success, the while loop in the spinup code will
be executed *without* the 1s delay that's in the NOT READY case.
The problem was seen with a real device: Compaq multi-path storage
arrays return NOT READY to probes down inactive paths, but when the
start unit is sent to activate the path, they can then respond back with
error conditions.
The fix is to terminate the while loop for any unexpected return.
<hch@lst.de>
[PATCH] some warning fixes
<hch@lst.de>
[PATCH] fix the aacraid merge a bit more
<hch@lst.de>
[PATCH] scsi_report_device_reset
aic7xxx/79xx wants a variant of scsi_report_bus_reset that operates
only on a single device. Implement it to get rid of shost->my_devices
traversals in drivers. (and move both to scsi_error.c)
<andmike@us.ibm.com>
[PATCH] scsi_host sysfs updates scsi-misc-2.5 [1/2]
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
scsi_debug cleanups for scsi-misc-2.5
- Remove release function.
- Remove scsi_debug wrapper driver register / unregister functions.
- Douglas's target == this_id fix.
- Remove some old cleanups that where incorrect.
- Move code back into sdebug_driver_remove.
EDESC
drivers/scsi/scsi_debug.c | 78 ++++++++++++++--------------------------------
drivers/scsi/scsi_debug.h | 1
2 files changed, 25 insertions(+), 54 deletions(-)
<andmike@us.ibm.com>
[PATCH] scsi_host sysfs updates scsi-misc-2.5 [2/2]
Here is an update of the patch with the externs in scsi_priv.h
-andmike
--
Michael Anderson
andmike@us.ibm.com
DESC
scsi shost sysfs cleanups for scsi-misc-2.5
- Add LLDD short name to scsi_host struct device.
- scsi_host_release now calls scsi_free_shost.
- Switched from device_register / device_unregister and class_register
/ class_register to initialize, add, del, put pairs.
- Moved some function from scsi_register and scsi_unregister.
- Filled in scsi_host_put and scsi_host_get.
Rev 2 move externs to scsi_priv.h
EDESC
drivers/scsi/hosts.c | 33 ++++++++++++++++++++++++++++-----
drivers/scsi/scsi_priv.h | 2 ++
drivers/scsi/scsi_sysfs.c | 19 +++++++++++--------
3 files changed, 41 insertions(+), 13 deletions(-)
<hch@lst.de>
[PATCH] consolidate devlist handling in a single file
Currently it's spread all over the scsi midlayer but having this
nicely separate out to a file of it's own without exposing the
data structures sounds like a good idea.
<chas@cmf.nrl.navy.mil>
[ATM]: HE and IPHASE driver fixes.
<yoshfuji@linux-ipv6.org>
[NET]: Set file_operations->owner as appropriate.
<davem@nuts.ninka.net>
[VLAN]: vlanproc.c needs module.h
<axboe@suse.de>
[PATCH] bio_endio() increments bio->bi_sector
increment bi_sector in bio_endio() so make_request_fn drivers don't
have to do this accounting themselves.
<axboe@suse.de>
[PATCH] make MO drive work with ide-floppy/ide-cd
Resend of the ide-cd buggy debug check removal.
From der.eremit@email.de.
<axboe@suse.de>
[PATCH] shrink deadline hash size
Limit deadline hash to 32 entries instead of 1024. This has been benched
and profiled extensively and shows no increased system time.
Also, move "hot" entries to the front of the list.
<axboe@suse.de>
[PATCH] dynamic request allocation
This patch adds dynamic allocation of request structures. Right now we
are reserving 256 requests per initialized queue, which adds up to quite
a lot of memory for even a modest number of queues. For the quoted 4000
disk systems, it's a disaster.
Instead, we mempool 4 requests per queue and put an upper limit on the
number of requests that we will put in-flight as well. I've kept the 128
read/write max in-flight limit for now. It is trivial to experiement
with larger queue sizes now, but I want to change one thing at the time
(the truncate scenario doesn't look all that good with a huge number of
requests, for instance).
Patch has been in -mm for a while, I'm running it here against stock 2.5
as well. Additionally, it actually kills quite a bit of code as well
<James.Bottomley@steeleye.com>
[PATCH] Correct typo in linux/scsi/scsi.h and introduce new
I notice we seem to have a typo in the SAM_ status codes (they say
IMMEDIATE where they mean INTERMEDIATE).
I've also introduced a new macro who's job is to return true if any of
the possible good return codes is found. This means
SAM_STAT_GOOD
SAM_STAT_INTERMEDIATE
SAM_STAT_INTERMEDIATE_CONDITION_MET
and for now
SAM_STAT_COMMAND_TERMINATED
By and large, this is currently irrelevant to us, since we don't use
linked commands and I've never met a device using COMMAND TERMINATED,
but it may help us in the future.
<hch@lst.de>
[PATCH] switch sb1000 to new style net init & pnp
This cleans up the driver big time and gets rid of a big ugly wart
in setup.c. Note that I don't have the hardware so this is only
compile-tested.
<jt@bougret.hpl.hp.com>
[PATCH] irq fixes for wavelan_cs/netwave_cs
This patch for 2.5.68-bk11 will fix the irq handler of some
obsolete wireless drivers (wavelan, wavelan_cs and netwave_cs) plus
assorted fixes. All those drivers have been tested on a SMP box.
<jt@bougret.hpl.hp.com>
[PATCH] Wireless Extension 16
This patch for 2.5.68-bk11 will update Wireless Extension to
version 16 :
o increase bitrate and frequency number for 802.11g/802.11a
o enhanced iwspy support
o minor tweaks and cleanups
This patch is only for the core of WE. The patches for the
individual drivers have been sent to their respective maintainers.
Compared to the previous version I sent you a few weeks ago,
I've just updated to the latest kernel.
<jt@bougret.hpl.hp.com>
[PATCH] WE-16 for Wavelan ISA driver
This update the Wavelan ISA driver for Wireless Extension 16
(going with my previous patch).
<jt@bougret.hpl.hp.com>
[PATCH] WE-16 for Wavelan Pcmcia driver
This patch update the Wavelan Pcmcia driver for Wireless
Extensions 16, and also remove all the backward compatibility cruft
that is broken anyway.
<paulus@samba.org>
[PATCH] Update mac ethernet drivers
This patch updates the bmac and mace ethernet drivers so that their
interrupt routines return an irqreturn_t, and updates the bmac driver
to use a spinlock rather than global cli/sti.
<dean@arctic.org>
[PATCH] better ali1563 integrated ethernet support
it turns out the tulip driver is a much better driver for the integrated
ali1563 ethernet than the dmfe driver... the dmfe driver gets tx timeouts
every ~15s and can't receive over 5MB/s. but with the small tulip patch
below i'm seeing 11MB/s+ in both directions without problems.
<mzyngier@freesurf.fr>
[PATCH] depca update (was Re: [Patch] DMA mapping API for Alpha)
this patch has been sleeping
in Alan tree for quite some time. It updates the depca driver to the
EISA/sysfs API, gets rid of check_region, and properly reserve memory
region. Patch is against latest BK.
<jgarzik@redhat.com>
[bk] add useful tip to bk kernel howto
Kudos to Wayne Scott @ BitMover for this.
<mikpe@csd.uu.se>
[PATCH] restore sysenter MSRs at APM resume
This changes apm.c to invoke suspend.c's save and restore processor
state procedures around suspends, which fixes the SYSENTER MSR problem.
The patch also decouples sysenter.c from SOFTWARE_SUSPEND: the variables
used (only!) in suspend_asm.S are moved there, and the include file now
declares the procedures called from apm.c (previously they were only
called from suspend_asm.S).
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] fix lost IDE interrupt problem
Alan and I were investigating this, but we don't know why the problem
occurs.
This reverts the previous handling of masked_irq, and fixes the problem.
<jejb@raven.il.steeleye.com>
Fix thinko introduced into include/scsi/scsi.h
SAM_STAT_* are return codes, not bitmaps
<rth@kanga.twiddle.net>
[ALPHA] Fix titan_intr_nop for 2.5 irq api changes.
<davem@nuts.ninka.net>
[IPV4/IPV6]; Missing schedule_net() in inet{,6}_del_protocol.
<davem@nuts.ninka.net>
[NETFILTER]: Fix stale skb data pointer usage in ipv4 NAT.
<davej@codemonkey.org.uk>
[AGPGART] add checks to agp_copy_info() before dereferencing.
Spotted by Andi Kleen with AGPless IOMMU setup.
<davem@nuts.ninka.net>
[IPV6]: Missing sk->family check in UDPv6 multicast handling.
<torvalds@home.transmeta.com>
Bartlomiej says: 'Please revert this patch, it is unfinished.'
We'll do it *after* IDE taskfile IO is done
Cset exclude: axboe@suse.de|ChangeSet|20030511184946|49736
<david-b@pacbell.net>
[PATCH] more kbuild tweaks]
This fixes a typo reported by Geert, and more significantly
fixes static linking so that it works even when only the
device side of USB is enabled, and the host side (CONFIG_USB)
isn't.
<david-b@pacbell.net>
[PATCH] Fix big-endian USB gadget build
Initializers must be constant expressions, and thus we can't use the
complex expression "cpu_to_le*()" - the end result of which may have a
constant _value_ but the expression itself isn't a constant expression.
So use the explicitly constant "__constant_cpu_to_*()" expression
instead.
<akpm@digeo.com>
[netdrvr] remaining irqreturn_t changes
<rusty@rustcorp.com.au>
[NETFILTER]: Move ip_fw declarations into header file.
<zaitcev@redhat.com>
[SPARC]: Fix shadowing of global max_pfn, kill BOOTMEM_DEBUG.
<zaitcev@redhat.com>
[SPARC]: Allow esp to use highmem_io on sparc32.
<zaitcev@redhat.com>
[SPARC]: New compact show_regs format.
<hch@lst.de>
[PATCH] two more templates in headers
I missed aic7xxx_old and cciss_scsi. For the first it's the trivial
move, for the second it's the patch to move to scsi_add_host & friend
as already ACKed by Steve when he still was cciss maintainer.
<bgerst@didntduck.org>
[PATCH] Fix ioperm bitmap
This makes sure that the ioperm bitmap in the TSS is correctly set up
during the first ioperm() call. Without this the TSS bitmap contains
random garbage until the next context switch.
<agrover@groveronline.com>
ACPI: kobject fix (Greg KH)
Here's a small patch that fixes the logic of the kobject creation and
registration in the acpi code (since we use kobject_init(), we need to
use kobject_add(), not kobject_register() to add the kobject to the
kernel systems).
<agrover@groveronline.com>
ACPI: Allow ":" in OS override string (Ducrot Bruno)
<agrover@groveronline.com>
ACPI: Interpreter update to 20030509
Changed the subsystem initialization sequence to hold off installation of
address space handlers until the hardware has been initialized and the
system has entered ACPI mode. This is because the installation of space
handlers can cause _REG methods to be run. Previously, the _REG methods
could potentially be run before ACPI mode was enabled.
Fixed some memory leak issues related to address space handler and notify
handler installation. There were some problems with the reference count
mechanism caused by the fact that the handler objects are shared across
several namespace objects.
Fixed a reported problem where reference counts within the namespace were
not properly updated when named objects created by method execution were
deleted.
Fixed a reported problem where multiple SSDTs caused a deletion issue
during subsystem termination. Restructured the table data structures
to simplify the linked lists and the related code.
Fixed a problem where the table ID associated with secondary tables (SSDTs)
was not being propagated into the namespace objects created by those
tables. This would only present a problem for tables that are unloaded
at run-time, however.
Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE type as
the length parameter (instead of UINT32).
Solved a long-standing problem where an ALREADY_EXISTS error appears on
various systems. This problem could happen when there are multiple
PCI_Config operation regions under a single PCI root bus. This doesnt
happen very frequently, but there are some systems that do this in the
ASL.
Fixed a reported problem where the internal DeleteNode function was
incorrectly handling the case where a namespace node was the first in
the parents child list, and had additional peers (not the only child,
but first in the list of children.)
<davej@codemonkey.org.uk>
[DRM] Intel i8xx DRM modules are dependant on their AGP counterparts.
Closes bugzilla #646
<torvalds@penguin.transmeta.com>
Use '#ifdef' to test for CONFIG_xxx variables, instead of depending
on undefined preprocessor symbols evaluating to zero.
Make smpboot.c look like ANSI C with proper function declarations.
<torvalds@penguin.transmeta.com>
Add user pointer annotations.
<torvalds@penguin.transmeta.com>
Use '#ifdef' to test for CONFIG_xxx variables, instead of
depending on undefined preprocessor symbols evaluating to zero.
Make panic.c use proper function prototypes.
<torvalds@penguin.transmeta.com>
Add user pointer annotations to core sysctl files.
<shemminger@osdl.org>
[BRIDGE]: Bridge timer performance enhancement.
<shemminger@osdl.org>
[NET]: Network packet type using RCU.
* packet type converted from linked list to list_macro
* writer lock replaced with spin lock, readers use RCU
* add __dev_remove_pack for callers that cant sleep.
* af_packet changes to handle and sleeping requirements, and possible
races that could cause.
<shemminger@osdl.org>
[BRLOCK]: Kill big reader locks, no longer used.
<shemminger@osdl.org>
[IPV4/IPV6]: synchronize_kernel --> synchronize_net.
<davem@nuts.ninka.net>
[BRLOCK]: Kill stray brlock.h references in sparc/sparc64 headers.
<jmorris@intercode.com.au>
[IPSEC]: Implement proper IPIP tunnel handling for IPcomp.
<jmorris@intercode.com.au>
[CRYPTO]: Fix config dependencies.
<kazunori@miyazawa.org>
[IPV4]: Introduce ip6_append_data.
<torvalds@penguin.transmeta.com>
Add user pointer annotations to socket, file IO and signal
handling.
This pointed out a bug in x86 sys_rt_sigreturn(), btw.
<davidm@napali.hpl.hp.com>
[PATCH] Add ia64 relocation types to elf.h and clean up
There is a _lot_ of stuff in linux/elf.h that shouldn't be there.
This moves the arch-specific stuff in linux/elf.h into the corresponding
asm header files.
<davem@nuts.ninka.net>
[IPV6]: Fix two bugs in ip6_append_data changes.
- Export ip_generic_getfrag
- In udp6 increment v6 udp statistics not v4 one
<mochel@osdl.org>
kobject: Update Documentation
From Geert Uytterhoeven.
<bunk@fs.tum.de>
[NET]: wireless.c needs module.h
<davem@nuts.ninka.net>
[NETFILTER]: ip_ct_gather_frags no longer needs to linearize.
<davem@nuts.ninka.net>
[PKT_SCHED]: sch_ingress.c does not need to linearize SKBs.
<rmk@flint.arm.linux.org.uk>
[PCMCIA] Add per-socket thread to process socket events.
Add a per-socket kernel thread, which is responsible for processing
insertion, removal, battery status and ready status changes. We
also add a semaphore to prevent multiple threads trying to change
the socket suspend/present state.
This will allows us to eliminate the per-socket work queues, and
will allow us to handle the card insertion without resources
cleanly.
<andmike@us.ibm.com>
[PATCH] scsi_host sysfs updates fix release behaviour
Fix scsi sysfs init so that a scsi_unregister can be called anytime after
a scsi_register.
- Create scsi_sysfs_init_host function and call from
scsi_register.
drivers/scsi/hosts.c | 4 ++--
drivers/scsi/scsi_priv.h | 1 +
drivers/scsi/scsi_sysfs.c | 25 ++++++++++++++++---------
3 files changed, 19 insertions(+), 11 deletions(-)
<jejb@raven.il.steeleye.com>
Fix use after free in scsi_host_put
put_device will call release and free the host structure (which
contains both the generic device and the host class). We must do
the class_device_put() *before* the put_device().
<mochel@osdl.org>
driver model: Set device's kset before calling kobject_add().
Suggested by James Bottomley, and technically correct. We want the kset of
the kobjects to be set before we call kobject_add() so we can access the
kset's release method when the object is deleted.
<rmk@flint.arm.linux.org.uk>
[ARM] Update a variety of ARM drivers to use irqreturn_t.
<torvalds@home.transmeta.com>
Add user pointer annotations to mtrr driver.
<torvalds@home.transmeta.com>
Fix do_utimes() user pointer annotations.
<torvalds@home.transmeta.com>
Make sys_open() declaration match definition.
<torvalds@home.transmeta.com>
Don't use undefined preprocessor symbols in expressions.
<acme@conectiva.com.br>
o wanrouter: add missing include module.h
<elenstev@mesatop.com>
[PATCH] Use '#ifdef' to test for CONFIG_xxx variables
Don't depend on undefined preprocessor symbols evaluating to zero.
<chris@wirex.com>
[RXRPC]: Put file_operations THIS_OWNER in correct place.
<yoshfuji@linux-ipv6.org>
[NET]: nonet.c needs module.h
<acme@conectiva.com.br>
[IPV4/IPV6]: Consolidate saddr resetting into inet_reset_saddr().
<kaber@trash.net>
[XFRM]: Fix typo in __xfrm4_find_acq.
<elenstev@mesatop.com>
[PATCH] more potentially undefined preprocessor symbols
Here are three more fixes which I missed in the previous patch.
<torvalds@home.transmeta.com>
Remove extraneous NO_MATCH
<torvalds@home.transmeta.com>
Fix broken aic7xxx preprocessor conditional (that's not how
C preprocessor expressions work, guys!)
<akpm@digeo.com>
[PATCH] enable slab debugging for larger objects
Some of the fancier slab debugging options are disabled for caches whose
objects are larger than PAGE_SIZE/8, for speed/fragmentation reasons.
But this patch turns up bugs in the size-2048 slab, so it was a bad idea.
Enable the debugging for slabs up to 4096 bytes.
<akpm@digeo.com>
[PATCH] Remove __verify_write leftovers
From: Taral <taral@taral.net>
Looks like the recent access_ok fixes broke building of i386.
__verify_write is still referenced in a couple places.
<akpm@digeo.com>
[PATCH] hrtimers: fix timer_create(2) && SIGEV_NONE
From: george anzinger <george@mvista.com>
- Fix the sig_notify filtering code for the timer_create system call to
properly check for the signal number being small enought, but only if
SIG_NONE is not specified.
- Eliminate useless test of sig_notify.
<akpm@digeo.com>
[PATCH] implement module_arch_cleanup() in all architectures
From: Rusty Russell <rusty@rustcorp.com.au>, David Mosberger
The patch below updates the other platforms with module_arch_cleanup().
Also, I added more debug output to kernel/module.c since I found it useful
to be able to see the final section layout.
<akpm@digeo.com>
[PATCH] remove devfs_register
From: Christoph Hellwig <hch@lst.de>
Whee! devfs_register isn't used anymore in the whole tree and with
it some other devfs crap. Kill it for good.
<akpm@digeo.com>
[PATCH] fix pnp_test_handler return
It looks like I guessed wrong on this one.
<akpm@digeo.com>
[PATCH] fat cluster search speedup
From: Bjorn Stenberg <bjorn@haxx.se>
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
This simple patch makes the linux fat filesystem driver use the
next_cluster field in the fat_boot_fsinfo structure. This field is a hint
where to start looking for free clusters.
Using this field makes a big difference for disks connected over slow links
such as USB 1.1. Finding the first free cluster on a 40gig fat-formatted
usb disk can today take several minutes. This patch cuts it down to a
fraction of a second.
Also, commit the next_cluster search hint toand from the superblock in
write_super/fill_super.
<akpm@digeo.com>
[PATCH] Fix for vma merging refcounting bug
From: "Stephen C. Tweedie" <sct@redhat.com>
When a new vma can be merged simultaneously with its two immediate
neighbours in both directions, vma_merge() extends the predecessor vma and
deletes the successor. However, if the vma maps a file, it fails to fput()
when doing the delete, leaving the file's refcount inconsistent.
<akpm@digeo.com>
[PATCH] Commented out printk causes change in program flow in
From: Zwane Mwaikambo <zwane@linuxpower.ca>
Commented out printk causes change in program flow in cpufreq/p4-clockmod.c
<akpm@digeo.com>
[PATCH] small cleanup for __rmqueue
From: Zwane Mwaikambo <zwane@linuxpower.ca>
Removes an extra initialisation and general nitpicking.
<akpm@digeo.com>
[PATCH] export cpufreq_driver to fix oops in proc interface
From: Zwane Mwaikambo <zwane@linuxpower.ca>
The proc interface has no way of telling wether there is an active cpufreq
driver or not. This means that if you don't have a cpufreq supported
processor, this will oops in various possible places.
<akpm@digeo.com>
[PATCH] Quota write transaction size fix
From: Jan Kara <jack@suse.cz>
I'm sending a patch which changes numbers of blocks reserved for quota writes
to more appropriate values (with current values ext3 asserts can be
triggered).
<akpm@digeo.com>
[PATCH] dquot_transfer() fix
From: Jan Kara <jack@suse.cz>
I'm sending a fix which fixes potential problems (dropping references which
were not acquired) when dquot_transfer() fails.
<akpm@digeo.com>
[PATCH] Bump module ref during init.
From: Rusty Russell <rusty@rustcorp.com.au>
__module_get is theoretically allowed on module inside init, since we
already hold an implicit reference. Currently this BUG()s: make the
reference count explicit, which also simplifies delete path. Also cleans
up unload path, such that it only drops semaphore when it's actually
sleeping for rmmod --wait.
<akpm@digeo.com>
[PATCH] exit_mmap() TASK_SIZE fix
exit_mmap() currently assumes that the exitting task used virtual address
span TASK_SIZE.
But on some platforms, TASK_SIZE is variable, based on current->mm.
But exit_mmap() can be called from (say) procfs's call to mmput. In which
case current->mm has nothing to do with the mm which is being put in
mmput().
So rather than assuming that the mm which is being put is current->mm, we
need to calculate the virtual span of the mm. Add a new per-arch macro
MM_VM_SIZE() for that.
Some platforms can currently go BUG over this (where?). sparc64 is safe
because our TASK_SIZE is constant.
Platforms such as ia64 should stick the VM extent inside of mm_struct, I'd
suggest adding it to mm_context_t.
1) TASK_SIZE means what is valid for mmap()'s in the processes
address space
2) MM_VM_SIZE means where things might be mapped for a MM, including
private implementation-specific areas created by the kernel
which the user cannot access
<akpm@digeo.com>
[PATCH] semop race fix
From: Mingming Cao <cmm@us.ibm.com>
Basically, freeary() is called with the spinlock for that semaphore set
hold. But after the semaphore set is removed from the ID array by
calling sem_rmid(), there is no lock to protect the waiting queue for
that semaphore set. So, if a waiter is woken up by a signal (not by the
wakeup from freeary()), it will check the q->status and q->prev fields.
At that moment, freeary() may not have a chance to update those fields
yet.
static void freeary (int id)
{
.......
sma = sem_rmid(id);
......
/* Wake up all pending processes and let them fail with EIDRM.*/
for (q = sma->sem_pending; q; q = q->next) {
q->status = -EIDRM;
q->prev = NULL;
wake_up_process(q->sleeper); /* doesn't sleep */
}
sem_unlock(sma);
......
}
So I propose move sem_rmid() after the loop of waking up every waiters.
That could gurantee that when the waiters are woke up, the updates for
q->status and q->prev have already done. Similar thing in message queue
case. The patch is attached below. Comments are very welcomed.
I have tested this patch on 2.5.68 kernel with LTP tests, seems fine to
me. Paul, could you test this on DOTS test again? Thanks!
<akpm@digeo.com>
[PATCH] visws: fix penguin with sgi logo
From: Andrey Panin <pazke@donpac.ru>
attached patch fixes penguin with sgi framebuffer logo for
visws subarch. It was broken in 2.5.68 IIRC.
<akpm@digeo.com>
[PATCH] fix for clusterd io_apics
From: Keith Mannthey <kmannth@us.ibm.com>
The following is a patch to fix inconsistent use of the function
set_ioapic_affinity. In the current kernel it is unclear as to weather the
value being passed to the function is a cpu mask or valid apic id. In
irq_affinity_write_proc the kernel passes on a cpu mask but the kirqd thread
passes on logical apic ids. In flat apic mode this is not an issue because a
cpu mask represents the apic value. However in clustered apic mode the cpu
mask is very different from the logical apic id.
This is an attempt to do the right thing for clustered apics. I clarify that
the value being passed to set_ioapic_affinity is a cpu mask not a apicid.
Set_ioapic_affinity will do the conversion to logical apic ids. Since many
cpu masks don't map to valid apicids in clustered apic mode TARGET_CPUS is
used as a default value when such a situation occurs. I think this is a good
step in making irq_affinity clustered apic safe.
<akpm@digeo.com>
[PATCH] provide user feedback for emergency sync and remount
People like to see when the emergency sync and emergency remount operations
have completed.
<akpm@digeo.com>
[PATCH] copy_process return value fix
Rather than assuming that all the things which copy_process() calls want to
return -ENOMEM, correctly propagate the return values.
This turns out to be a no-op at present.
<akpm@digeo.com>
[PATCH] de_thread memory corruption fix
From: Manfred Spraul <manfred@colorfullife.com>
de_thread calls list_del(¤t->tasks), but current->tasks was never
added to the task list. The structure contains stale values from the parent.
switch_exec_pid() transforms a normal thread to a thread group leader.
Thread group leaders are included in the init_task.tasks linked list,
non-leaders are not in that list. The patch adds the new thread group
leader to the linked list, otherwise de_thread corrupts the task list.
<akpm@digeo.com>
[PATCH] vmalloc race fix
From: William Lee Irwin III <wli@holomorphy.com>
The new vmalloc() semantics from 2.5.32 had a race window. As things stand,
the presence of a vm_area in the vmlist protects from allocators other than
the owner examining the ptes in that area. This puts an ordering constraint
on unmapping, so that allocators are required to unmap areas before removing
them from the list or otherwise dropping the lock.
Currently, unmap_vm_area() is done outside the lock and after the area is
removed, which as we've seen from Felix von Leitner's test is oopsable.
The following patch folds calls to unmap_vm_area() into remove_vm_area() to
reinstate what are essentially the 2.4.x semantics of vfree(). This renders
a number of unmap_vm_area() calls unnecessary (and in fact oopsable since
they wipe ptes from later allocations). It's an open question as to whether
this is sufficiently performant, but it is the minimally invasive approach.
The more performant alternative is to provide the right API hooks to wipe the
vmalloc() area clean before removing them from the list, using the ownership
of the area to eliminate holding the vmlist_lock for the duration of the
unmapping. If it proves to be necessary wli is on standby to implement it.
<akpm@digeo.com>
[PATCH] Reserve the ext2/ext3 EAs for the Lustre filesystem
From: Andreas Dilger <adilger@clusterfs.com>
Below are the patches which reserve the Lustre EA index. The rest of the
code is part of the Lustre tree, which isn't working with 2.5 yet.
<akpm@digeo.com>
[PATCH] Fix arch/i386/oprofile/init.c build error
From: John M Flinchbaugh <glynis@butterfly.hjsoft.com>
this patch makes arch/i386/oprofile/init.c build.
<akpm@digeo.com>
[PATCH] Fix ext3 htree / NFS compatibility problems
Patch from "Theodore Ts'o" <tytso@mit.edu>
The following patch should (in theory) fix the htree/NFS readdir problems
that people have reported. Specifically, it should fix the NFS looping on
EOF problem with readdir, as well as the problems caused by coverting a
directory to HTREE while an NFS readdir is in progress problem.
I'd appreciate it if people who can easily replicate these NFS/htree problems
could give this patch (against BK-recent / 2.5.63) a whirl. Thanks!!
<akpm@digeo.com>
[PATCH] htree nfs fix
Patch from "Theodore Ts'o" <tytso@mit.edu>
We now use 0x7ffffff as the EOF cookie, because Linux NFS stupidly interprets
the cookie (which is supposed to be a bag of bits without necessarily any
semantic value) as a signed 64 bit integer, and then converts it to a
unsigned integer, and then blows up if it cannot be expressed be expressed as
a 32-bit value!!
In order to do this, we have to fold the hash value 0x7ffffff into the hash
value 0x7ffffffe. This is relatively safe; the only time we will lose if the
directory contains filenames that hash to both 0x7ffffffe and 0x7fffffff
(under the original hash), and the last directory entry which hashes to
0x7ffffffe is at the end of a leaf block, and the first directory entry which
hashes to 0x7fffffff is at the beginning of a leaf block.
<akpm@digeo.com>
[PATCH] ext3: htree memory leak fix
From Alex Tomas
We started using ext3_dx_readdir() for all dir_index filesystems, because
we want to return entries in hash order always, so that readdir with a
partial read + new entry added before next readdir won't be crazy.
So we now need to free the structure at filp->pricate_data even against
non-indexed directories.
<acme@conectiva.com.br>
o ipv4/ipv6: use ipv6_addr_copy where appropriate
<rmk@flint.arm.linux.org.uk>
[ARM] Allow CONFIG_PM to be enabled on all ARM platforms
<nico@org.rmk.(none)>
[ARM PATCH] 1533/1: fix count when no preload support in copy_page
Patch from Nicolas Pitre
Of course, the PLD macro is always defined even if it's empty.
Without this fix anything below ARMv5 is broken.
<rmk@flint.arm.linux.org.uk>
[ARM PATCH] 1530/1: PXA2xx IRQ handling updates
From: Nicolas Pitre.
(manual entry since bk openlogging crapped out again)
<nico@org.rmk.(none)>
[ARM PATCH] 1531/1: optimized ffs/ffz/fls for ARMv5
Patch from Nicolas Pitre
<rmk@flint.arm.linux.org.uk>
[ARM] Fix timer interrupts to use irqreturn_t
Also remove uninitialised variable warning and update mach-types.
<rmk@flint.arm.linux.org.uk>
[ARM] Add prefetch support for ARMv5.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix test_bit to return 0 or 1.
<rmk@flint.arm.linux.org.uk>
[ARM] Remove static mappings for Integrator PS/2 ports.
Request the memory region used for the keyboard and mouse ports,
and ioremap.
<rmk@flint.arm.linux.org.uk>
[ARM] switch ptrace to use an undefined instruction
This avoids a problem with the original ptrace code using a system
call (SWI) to implement single stepping; programs such as ltrace
do not expect to receive system call trace traps when breakpoints
are hit.
<stevef@steveft21.ltcsamba>
Fix readlink of dfs junctions
<torvalds@penguin.transmeta.com>
Don't make the intel-AGP driver require an AGP capabilities
pointer. The integrated graphics AGP things don't have one.
<rmk@flint.arm.linux.org.uk>
[ARM] Convert more structure initialisers to C99 syntax.
<greg@kroah.com>
[PATCH] i2c: piix4 driver: turn common error message to a debug level and rename the sysfs driver name.
<greg@kroah.com>
[PATCH] USB: fix jiffies warning in uss720.c
<romieu@fr.zoreil.com>
[PATCH] USB: patch to fix up coding style violations
<david-b@pacbell.net>
[PATCH] USB: rm debug printks in ehci and ohci
These two debug messages weren't supposed to be left in,
they're just noise.
<smb@smbnet.de>
[PATCH] USB: another usb storage addition
<david-b@pacbell.net>
[PATCH] USB: fix for multiple definition of `usb_gadget_get_string'
<david-b@pacbell.net>
[PATCH] USB: net2280 minor updates
This patch:
- Lets cleanup happen after devices disconnect
- Creates/uses a module "fifo_mode" option
- Handles the fifo_status request a bit better
<david-b@pacbell.net>
[PATCH] USB: net2280, PPC fixes
Minutes after I sent the previous patch, Gordon Strachan
sent me some big-endian fixes (for PPC).
<greg@kroah.com>
[PATCH] USB: fix break control for pl2303 driver
Thanks to Martin Evans <m.d.t.evans@qmul.ac.uk> for pointing this out.
<davem@nuts.ninka.net>
[NETFILTER]: Teach ip_fw_compat and modules to handle non-linear SKBs.
Much help provided by Rusty Russell in fixing device leak
and TOS modification handling bugs.
<bcollins@debian.org>
[PATCH] USB: Happ UGCI added as BADPAD for workaround
Greg, I sent these patches to Vojtech, and haven't heard anything back,
but they are straight forward. One simply backports the BADPAD handling
to 2.4, and both patches add Happ UGCI joysticks under the BADPAD
workaround.
<torvalds@penguin.transmeta.com>
Add user pointer annotations to core filesystem routines.
<davem@nuts.ninka.net>
[IPV6]: Check output fragmentation using dst_pmtu not dev->mtu.
<mhoffman@lightlink.com>
[PATCH] i2c: Add SiS96x I2C/SMBus driver
This patch adds support for the SMBus of SiS96x south
bridges. It is based on i2c-sis645.c from the lm sensors
project, which never made it into an official kernel and
was anyway mis-named.
This driver works on my SiS 645/961 board vs w83781d.
<davem@nuts.ninka.net>
[AIC7XXX]: Only build in biosparam function if actually used.
<davem@nuts.ninka.net>
[IPV6]: Fix ipv6_addr_copy warning in ah6.c.
<torvalds@penguin.transmeta.com>
Make x86 user-copy have user pointer annotations to match
declarations.
<torvalds@penguin.transmeta.com>
Add a few initial user pointer annotations to sound driver.
Quite a few suspicious places here that pass kernel pointers
to the internal ioctl engine.
<mochel@osdl.org>
driver model: Define BUS_ID_SIZE based on KOBJ_NAME_LEN
From Ben Collins.
<mochel@osdl.org>
driver model: Remove device_sem
This was only used to add/remove device from parent's list of children,
which we can easily replace with a write lock on the device subsys's rwsem.
<vojtech@suse.cz>
[PATCH] USB: Fix Kconfig for usb printers
On Sun, May 11, 2003 at 09:55:04PM +0200, Kronos wrote:
> Hi,
> the USB printer module is 'usblp', not 'printer':
>
<daniel@osdl.org>
[IPV6]: Missing kmem_cache_destroy calls.
<chas@cmf.nrl.navy.mil>
[ATM]: Make clip modular.
<akpm@digeo.com>
[NET]: netif_receive_skb() warning fix.
<akpm@digeo.com>
[ATM]: Fix macro pasting in HE driver.
<davem@nuts.ninka.net>
[SPARC64]: Update defconfig.
<davej@codemonkey.org.uk>
[CPUFREQ] missing export compile fix for powernow-k7
<jsimmons@infradead.org>
[PATCH] Console font size fix
The font size needs to be set for all terminals.
This was the bug that was causing dual head (vga and mda) to lock up.
<jsimmons@infradead.org>
[PATCH] Remove EDID parsing
This removes EDID support for VESA. The EDID code needs more
developement which can be done on the side.
The results where mixed. It worked for some but not for others.
<jsimmons@infradead.org>
[PATCH] Riva Framebuffer update.
This kills off warnings about unused variables.
<jsimmons@infradead.org>
[PATCH] Framebuffer console fix
This fixes a oops that happens when we map a framebuffer device to a
non-existant console.
set_con2fb_map wasn't testing to see the VC we where mapping to actually
exist. Now it does.
I also added code to fbcon_cursor to reset the hotspot if it was changed
by userland.
<acme@conectiva.com.br>
o ipv4/ipv6: call tcp_timewait_kill in tcp_tw_deschedule
After all calls to tcp_tw_deschedule we had a call to tcp_timewait_kill,
move it to the end of tcp_tw_deschedule and unexport tcp_timewait_kill,
making it static.
<davej@codemonkey.org.uk>
[AGPGART] PPC Uninorth support.
By Paul Mackerras and BenH
<davej@codemonkey.org.uk>
[AGPGART] Move AGP PM to individual drivers.
From Christoph Hellwig.
This is a lot cleaner by using the proper PCI PM infrastructure and also
fixes the breakage with the non-PCIish bridges on alpha and ia64
<davej@codemonkey.org.uk>
[AGPGART] Add printk's to error paths of agp_add_bridge
<axboe@suse.de>
[PATCH] bio walking code
Add bio traversal functionality. This is a prereq for doing ide
multiwrites safely and sanely. Patch was originally done by Suparna,
Bartlomiej picked it up and changed the design somewhat. From Bart:
Main idea is now reversed - instead of introducing rq->hard_bio as
pointer for bio to be completed and using rq->bio as pointer for bio
to be submitted, rq->cbio is introduced for submissions and rq->bio
is used for completions
This minimizes changes to block layer and assures that all existing
block users are not affected by this patch.
<axboe@suse.de>
[PATCH] ide minimum 48-bit support
This is the small patch that we all agreed on. With this patch, we do
nice big writes/reads on ide disks that support 48-bit lba.
<axboe@suse.de>
[PATCH] remove ide-cd chatty errors
Quiet down the TEST_UNIT_READY commands, we know these may fail (that's
the whole purpose of the command :-).
<axboe@suse.de>
[PATCH] Fix scsi_ioctl command direction bits
With the dynamic request allocation, we get the direction bits set for
us. This breaks the scsi_ioctl stuff, since we always pass in WRITE
there. So actually pass in the right direction instead.
<axboe@suse.de>
[PATCH] ide tcq fixes
This fixes a few problems with ide tcq, I don't know of any other known
ones (and it is solid here, survives ours of beating on it). Basically:
- Don't enable tcq if the drive isn't alone on the channel. This raises
all sorts of fun that really requires hardware support (auto poll), or
it's going to _suck_. I never wanted to do that, and no hardware I
know of supports auto-poll.
- Introduce a drive blacklist so we don't enable tcq on known broken
drives. Or enable with restrictions on some models.
- Add a check for pdc4030, apparently tcq doesn't work there (hell knows
who would be crazy enough to pull such a stunt).
<akpm@digeo.com>
[PATCH] USB: net2280 writel fix
This driver is doing a writel to some random u32, rather than to a device
register.
<davem@nuts.ninka.net>
[AF_KEY]: Force km.state to XFRM_STATE_DEAD in pfkey_msg2xfrm_state.
<kaber@trash.net>
[NET]: Fix two bogus kfree(skb).
<davej@codemonkey.org.uk>
[AGPGART] Remove duplicated masking routines, replace with agp_generic_mask_memory()
<davej@codemonkey.org.uk>
[AGPGART] Whitespace/CodingStyle cleanups
<akpm@digeo.com>
[NET]: Fix sb1000.c build.
<acme@conectiva.com.br>
o af_netlink: netlink_proto_init has to be core_initcall
As it has to happen before pktsched_init, that is called from
net_dev_init that is a subsys_initcall, making it the same
init level as netlink_proto_init, that ends up being called
_after_ net_dev_init, so when pktsched_init is called it finds
rtnetlink_links[PF_UNSPEC] as null and therefore not sets
the ->dumpit entry for RTM_GETQDISC (and the others too):
b00m, rtnetlink_rcv sends a failure message to tc.
<davem@nuts.ninka.net>
[RTNETLINK]: extern __inline__ --> static inline.
<davem@nuts.ninka.net>
[TCP]: extern __inline__ --> static inline where appropriate.
<davem@nuts.ninka.net>
[IPV6]: extern __inline__ --> static inline.
<davem@nuts.ninka.net>
[IPV4]: Fix ip_finish_output extern decl.
<davem@nuts.ninka.net>
[AX25]: extern inline --> static inline.
<davem@nuts.ninka.net>
[NET]: dev_load extern inline --> static inline.
<davem@nuts.ninka.net>
[APPLETALK]: extern inline --> static inline.
<davem@nuts.ninka.net>
[PKT_SCHED]: extern inline --> static inline
<davem@nuts.ninka.net>
[AF_UNIX]: extern inline --> static inline
<davej@codemonkey.org.uk>
[NETROM]: Fix netdevice leak, from 2.4.x
<davej@codemonkey.org.uk>
[PATCH] Fix types on inflate.c constants
This patch from Alan went into 2.4 last august with the comment
"get the types right on the lib/inflate.c constants"
<davej@codemonkey.org.uk>
[PATCH] Preemption fixes for x86 MSR driver.
wrmsr is ok, but needs cleans up, second part (rdmsr)
is currently broken.
<davej@codemonkey.org.uk>
[PATCH] Avoid ide-scsi from starting DMA too soon
This went into 2.4 with the following comments..
ide-scsi driver starts DMA as soon as it writes the ATAPI PACKET command
in command register and before sending the ATAPI command. This will
cause problems on many drives. Right way to do it is to start DMA after
sending the ATAPI command. I am attaching a patch that fixes this. This
patch will allow many more CD-RW drives to work reliably in DMA mode
than do today
Alan's comment to this diff previously..
"Thats the least of the 2.5 ide-scsi problems, but yes its probably one to add"
<davej@codemonkey.org.uk>
[PATCH] i8253 locking.
There are still a few places where we play with the RTC
directly, with no locking. This catches some of them.
<davej@codemonkey.org.uk>
[PATCH] sx memleak.
<davej@codemonkey.org.uk>
[PATCH] Fix ISDN return types.
<davej@codemonkey.org.uk>
[PATCH] Fix standards compliance bugs in the tty layer
This went into 2.4 back last August with the comment in $subject.
<davej@codemonkey.org.uk>
[PATCH] pcwatchdog firmware memory leak
<davej@codemonkey.org.uk>
[PATCH] iphase fix.
This went into 2.4 nearly a year back with the wonderfully
descriptive "Fix from maintainer" comment.
<davej@codemonkey.org.uk>
[PATCH] ASUS P4B SMBus quirks.
From Dominik Brodowski, comments says it all..
<davej@codemonkey.org.uk>
[PATCH] typo
<davej@codemonkey.org.uk>
[PATCH] Fix pnpbios switch
Erk, that's a really funny looking switch.
Every case fell through..
<davej@codemonkey.org.uk>
[PATCH] copy_to_user check for sgiserial
<davej@codemonkey.org.uk>
[PATCH] fix module-init-tools ver_linux problem.
Patch from Steven Cole to fix up ver_linux output on a system
with no module-init-tools, just modutils.
As noted in bugzilla #267 and at
http://marc.theaimsgroup.com/?l=linux-kernel&m=104492524815220&w=2
<davej@codemonkey.org.uk>
[PATCH] Shorten rcu_check_quiescent_state.
Single spin_unlock path cuts this down a little..
<davej@codemonkey.org.uk>
[PATCH] byte counters for mkiss
From 2.4 from way back 13 months ago..
<davej@codemonkey.org.uk>
[PATCH] shorten rclan debug output
From 2.4 long long ago.
<davej@codemonkey.org.uk>
[PATCH] i810 no codec fix.
Syncs up with 2.4
<davej@codemonkey.org.uk>
[PATCH] shrink zonelists.
Originally from Matt Dobson. I've been running with this for a while
in -dj, with no noticable side-effects.
Matt:
node_zonelists looks like it should really be declared of size
MAX_NR_ZONES, not GFP_ZONEMASK. GFP_ZONEMASK is currently 15, making
node_zonelists an array of 16 elements. The extra zonelists are all
just duplicates of the *real* zonelists, namely the first 3 entries.
Again, if anyone can explain to me why I'm wrong in my thinking, I'd
love to know. There's certainly no way you could bitwise-and something
with any combination of the GFP_DMA and GFP_HIGHMEM flags to refer to
the 12th zonelist or some such! Or am I crazy?
<davem@nuts.ninka.net>
[SUNHME]: Use PCI config space if hm-rev property does not exist.
<davej@codemonkey.org.uk>
[AGPGART] pci_driver structures must remain valid while they are registered.
Spotted by Russell King.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix SA1100_ir irqreturn_t.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix RiscPC i2c drivers for device model.
These drivers got missed when the i2c subsystem was converted to the
device model.
<mochel@osdl.org>
driver model: Add resources to struct platform_device.
From Russell King:
The location and interrupt of some platform devices are only known by
platform specific code. In order to avoid putting platform specific
parameters into drivers, place resource and irq members into struct
platform_device.
<akpm@digeo.com>
[PATCH] ipmi warning fixes
CPU flags are unsigned long.
<akpm@digeo.com>
[PATCH] sound/core comparison fix
From: Hal Duston <hduston@speedscript.com>
This fixes a bug that appears to have crept in between 2.5.69-mm1 and
2.5.69-mm2 with the "switch most remaining drivers over to devfs_mk_bdev"
patch
<akpm@digeo.com>
[PATCH] pass the stack protection flags into put_dirty_page()
put_dirty_page() currently assumes PAGE_COPY for the stack page's ptes. But
for x86_64 (at least) this is not the case.
The patch adds the extra arg to put_dirty_page(), updates all callers and fixes
x86_64.
<akpm@digeo.com>
[PATCH] fix hugetlbpage scoping
From: norbert_wolff@t-online.de (Norbert Wolff)
In arch/i386/mm/hugetlbpage.c htlbzone_pages and htlbpage_freelist are
declared static at the Top of the File and later in set_hugetlb_mem_size()
as extern.
gcc-3.4 does not accept this conflict.
<akpm@digeo.com>
[PATCH] DAC960 typedef cleanup patch
From: Dave Olien <dmo@osdl.org>
I'm forwarding this patch to the DAC9690 driver from Christoph. I've
applied it to the 2.5.69 DAC960 driver, compiled it, and ran it through
some tests on both V1 and V2 type controllers. It looks good.
<akpm@digeo.com>
[PATCH] loop.c warning removal
From: Rusty Russell <rusty@rustcorp.com.au>
loop.c has one of those places where manipulating own refcounts is safe: to
get into the ioctl handler you need to have the device open, so that holds a
refcount already (verified that this actually happens).
The compile warning is irritating.
<akpm@digeo.com>
[PATCH] mtrr warning fix
From: Faik Uygur <faikuygur@ttnet.net.tr>:
mtrr_file_del() is using the wrong thing for fcount. This causes it to
print mtrr: MTRR 2 not used" twice when exiting X.
<akpm@digeo.com>
[PATCH] SMI clearing fix
From: john stultz <johnstul@us.ibm.com>
I've been having problems with ACPI on a box here in our lab. Some of our
more recent hardware requires that SMIs are routed through the IOAPIC, thus
when we clear_IO_APIC() at boot time, we clear the BIOS initialized SMI
pin. This basically clobbers the SMI so we can then never make the
transition into ACPI mode.
This patch simply reads the apic entry in clear_IO_APIC to make sure the
delivery_mode isn't dest_SMI. If it is, we leave the apic entry alone and
return.
With this patch, the box boots and SMIs function properly.
<akpm@digeo.com>
[PATCH] Make debugging variant of spinlocks a bit more robust
From: Petr Vandrovec <vandrove@vc.cvut.cz>
While I was trying to hunt down problem with spin_lock_irq in
send_sig_info, I noticed that debugging spinlocks are a bit unusable.
The problem is that these spinlocks first print warning, and then
decrement babble. So if the lock is used by printk code (like runqueue
lock was), we get nothing, just a lockup or a double fault... When we
first decrement babble and then print the error message we can break
this unfortunate situation and the error message (5 of the same...)
appear on screen.
<akpm@digeo.com>
[PATCH] fix lots of error-path memory leaks
From Badari Pulavarti.
Fixes lots of error-path memleaks which the Stanford guys found.
<akpm@digeo.com>
[PATCH] miropcm20-rds.c build fix
It needs fs.h for struct inode.
<akpm@digeo.com>
[PATCH] synclink_cs update
From: Paul Fulghum <paulkf@microgate.com>
* Remove PCMCIA release from timer context
* Add irqreturn_t to ISR
* Add dosyncppp module parameter
<akpm@digeo.com>
[PATCH] remove some cruft from smp.h
From: Christoph Hellwig <hch@lst.de>
Remove smp.h leftovers. From the ia64 tree.
<akpm@digeo.com>
[PATCH] ->llseek returns loff_t, even for /dev/mem
From: Christoph Hellwig <hch@lst.de>
memory_lseek() should return a loff_t.
<akpm@digeo.com>
[PATCH] visws: fix for generic-subarch
From: Andy Wihitcroft <apw@shadowen.org>
The generic-subarch patch broke visws builds.
<akpm@digeo.com>
[PATCH] fix bug in drivers/net/cs89x0.c:set_mac_address()
From: Bernardo Innocenti <bernie@develer.com>
the following patch fixes a bug in the CS89xx net device which would set
new MAC address through SIOCSIFHWADDR _only_ when net_debug is set, which
is obviously not what it was meant to do. The original code bogusly
interpreted the addr argument as a buffer containing the MAC address
instead of a struct sockaddr.
<davej@codemonkey.org.uk>
[AGPGART] nForce driver needs its own insert/remove routines.
These can't use the generic routines due to alignment issues.
<davej@codemonkey.org.uk>
[AGPGART] Fix oops in VIA initialisation.
From Christoph.
<acme@conectiva.com.br>
o wanrouter: don't use typedefs for wan_device, just struct wan_device
<akpm@digeo.com>
[PATCH] Allow architecture to overwrite stack flags
This is a bit neater.
<acme@conectiva.com.br>
o wanrouter: kill netdevice_t, do as all the rest of the tree, use struct net_device
<mochel@osdl.org>
driver model: Modify resource representation in struct platform_device.
This way, we can easily handle devices that contain an arbitrary number of
resources reported by the platform.
<bgerst@didntduck.org>
[PATCH] remove fake_sep_struct
fake_sep_struct is no longer used.
<acme@conectiva.com.br>
o wan/cycx: typedef cleanup
<akpm@digeo.com>
[CRYPTO]: Fix memcpy/memset args.
<chas@cmf.nrl.navy.mil>
[ATM]: Fix module handling in USB speedtouch driver.
<chas@cmf.nrl.navy.mil>
[ATM]: Add refcounting to atmdev.
<rmk@flint.arm.linux.org.uk>
[ARM] Update Acorn platform scsi drivers.
These were broken by two changes - the removal of the old device model
class code, and when scsi device lists appeared. This cset allows
these drivers to build again. We also drop some unnecessary code
from one of the drivers.
<yoshfuji@linux-ipv6.org>
[IPV6]: ARCnet support, driver side.
<yoshfuji@linux-ipv6.org>
[IPV6]: ARCnet support, protocol side.
<acme@conectiva.com.br>
o wan/cycx: fix module refcounting, removing MOD_{INC,DEC}_USE_COUNT
<acme@conectiva.com.br>
o wan/cycx: further cleanups
. remove whitespaces
. use tabs instead of sequences of 8 spaces
. remove the wrappers for write{b,w} & friends
. align case entries with corresponding switch statement
<acme@conectiva.com.br>
o wan/cycx: remove more typedefs
Also use kernel-doc for struct cycx_hw
<acme@conectiva.com.br>
o wan/cycx: remove the last typedefs, some kernel doc comments
<acme@conectiva.com.br>
o wan/cycx: use min_t and remove one more private MIN() implementation
<davem@nuts.ninka.net>
[NET]: Split out policy flow cache to be a generic facility.
<chas@cmf.nrl.navy.mil>
[ATM]: Allow ATM to be loaded as a module.
<davem@nuts.ninka.net>
[ATM]: common.c needs linux/init.h
<acme@conectiva.com.br>
o ipx: remove debug message for successfull bind
<davem@nuts.ninka.net>
[ATM]: atm{pvc,svc}_exit cannot be __exit.
<davem@nuts.ninka.net>
[NET]: Regenerate flow cache hash rnd more sanely.
<davem@nuts.ninka.net>
[NET]: Hoplimit is a metric not a route attribute.
<davem@nuts.ninka.net>
[IPV4]: Respect hoplimit route metric.
<stevef@steveft21.ltcsamba>
Fix oops caused by lack of spinlock protection on some lists. Fix display
of NTFS dfs junctions (which now correctly appear as symlinks).
Return writebehind caching errors on file close.
<acme@conectiva.com.br>
o ipx: move route functions to net/ipx/ipx_route.c
<agrover@groveronline.com>
ACPI: Return only proper values (0 or 1) from our interrupt handler
(Andrew Morton)
<mk@linux-ipv6.org>
[IPV6]: Add IPCOMP support.
<torvalds@penguin.transmeta.com>
Fix up thinko in nasty "NMI while debug while systenter"
codepath.
The bug was that the NMI stack fixup triggered even if the
debug exception had _not_ happened on the exact sysenter
entrypoint. The new version should be more robust.
<yoshfuji@linux-ipv6.org>
[IPV6]: Fix RFC number in ipcomp6.c
<chas@cmf.nrl.navy.mil>
[ATM]: Fix modular CLIP.
<jmorris@intercode.com.au>
[IPV4]: Fix RFC number in ipcomp.c
<rmk@flint.arm.linux.org.uk>
[ARM] Relocate ARM SCSI and Net drivers
Move Acorn and ARM SCSI and net drivers to drivers/{net,scsi}/arm.
This also allows us to find a reasonable home for other ARM specific
net drivers.
<rmk@flint.arm.linux.org.uk>
[ARM] Update cyber2000fb.c
- Fix build warnings.
- Don't modify region in copyarea method.
- Remove FBCON_HAS_CFBx preprocessor tests.
- Use runtime test for netwinder mclk parameters.
<rmk@flint.arm.linux.org.uk>
[ARM] Fixup yet another missing irqreturn_t
<rmk@flint.arm.linux.org.uk>
[ARM] Update Acorn IDE drivers.
icside.c:
- Use C99 structure initialisers.
- Use generic DMA API.
- Use new hwif->hwif_data rather than hwif->hw.priv.
- Add DMA supported/dma supported masks.
- Remember the card type for the remove/shutdown methods.
- Add shutdown method.
rapide.c
- ecard_{claim,release} are no longer required.
<rmk@flint.arm.linux.org.uk>
[ARM] Remove .devclass initialiser from sa1111ps2.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix time_after() warnings in ether1.c.
<axboe@suse.de>
[PATCH] Always allocate sense buffer for block commands
This always set ->sense for blk_pc_requests(), even if the actual user
doesn't care about the sense results. This is a lot nicer than then
having to have conditional checks for it all over the place in the low-
level drivers.
<sam@ravnborg.org>
[PATCH] Remove 'strchr' warning from reiserfs
Reiserfs emits a warning about strchr being defined but not used. I
finally tracked down the reason for this. gcc - when seeing strstr(x,
"%") recognized that the second parameter is a char, and therefore uses
strchr instead of strstr. The workaround to avoid the warning is to
replace the call to strstr with strchr - which is OK.
This hides the warning, and brings us down to 6 warnings for a make
defconfig bzImage.
<torvalds@home.transmeta.com>
Make request_module() take a printf-like vararg argument instead of a string.
This is what a lot of the callers really wanted.
<rmk@flint.arm.linux.org.uk>
[ARM] Fix DMA handler race condition.
This fixes a race condition in the RiscPC DMA code, which causes
DMA for a channel to halt due to a race condition between the
hardware state machine and the software programming the next DMA
buffer.
<acme@conectiva.com.br>
o ipv6/route: fix .dst.metrics struct init for ip6_null_entry
Thanks to Andrew Morton for reporting.
<acme@conectiva.com.br>
o ipv6/route: use C99 style init for struct init
Also move ft6_dflt_pointer to .bss and use void
in ip6_dst_gc as it doesn't take any paramenters
<mk@linux-ipv6.org>
[CRYPTO]: Update deflate dependencies.
<rusty@rustcorp.com.au>
[NETFILTER]: Move skb_ip_make_writable to netfilter.c.
<acme@conectiva.com.br>
o ipv6/addrconf: use C99 struct init style for inet6_rtnetlink_table
<acme@conectiva.com.br>
o ipv6/exthdrs: use C99 struct init style.
<acme@conectiva.com.br>
o ipv6/icmp: use C99 struct style init for tab_unreach
<acme@conectiva.com.br>
o ipv6/ip6_fib: use C99 struct style init and move rt_sernum to .bss
<davem@nuts.ninka.net>
[NETFILTER]: Move skb_ip_make_writable symbol export.
<mk@linux-ipv6.org>
[IPSEC]: Fix ipv4 ipcomp threshold calculation.
<davem@nuts.ninka.net>
[IPV4]: Flush routing cache on sysctl_ip_default_ttl changes.
<zaitcev@redhat.com>
[SPARC]: Keiths SMP patch #1
<zaitcev@redhat.com>
[SPARC]: Add ->release to ESP driver.
<zaitcev@redhat.com>
[SPARC]: Update defconfig.
<zaitcev@redhat.com>
[SPARC]: Sanitize BUG().
<acme@conectiva.com.br>
o wanrouter/wanproc: code cleanups
. Use seq_puts in places where seq_printf is not needed
. remove trailing whitespaces and tabs
. remove some unneeded includes
. move the space before the third and fourth columns from
the values to be inserted to the mask
. some other CodingStyle changes
<acme@conectiva.com.br>
o drivers/net/wan/sdla*: use SET_MODULE_OWNER at net_device setup
<chas@cmf.nrl.navy.mil>
[ATM]: Need to use try_module_get not __module_get.
<akpm@digeo.com>
[PATCH] sysfs_create_link() fix
It is incorrectly precalculating the string's length.
<akpm@digeo.com>
[PATCH] ia32 subarch circular dependency fix
From: john stultz <johnstul@us.ibm.com>
This patch fixes a circular dependency (a function in mach_apic.h requires
hard_smp_processor_id() and hard_smp_processor_id() requires macros from
mach_apic.h) that has been in the subarch code for a bit, but was hacked
around with some #ifdefs.
With the inclusion of the generic-subarch the hack was dropped and bigsmp
and summit promptly broke. So this makes things compile again.
<akpm@digeo.com>
[PATCH] genarch cpu_mask_to_apicid fix
From: Martin Bligh
Add cpu_mask_to_apicid to generic arch to fit with Keith's changes.
<akpm@digeo.com>
[PATCH] [patch 4/29 voyager cpu_callout_map fix
From: Martin Bligh
Change the defn of cpu_callout_map for voyager to volatile to match other
stuff.
<akpm@digeo.com>
[PATCH] ppp warning fix
Fix an accidentally negated comparison.
<akpm@digeo.com>
[PATCH] misc fixes
- generic_file_open() comment fix (Bill Irwin)
- kerneldoc fix in truncate.c (Aniruddha M Marathe)
- remove truncate debug check.
- page_lock comment fix (Robert Love)
- remove unused device mapper label.
- 3c509 docco fix ("Mark Tranchant" <mark@tranchant.freeserve.co.uk>)
--
Documentation/networking/3c509.txt | 2 +-
drivers/md/dm-ioctl.c | 1 -
fs/open.c | 2 +-
include/linux/fs.h | 2 +-
mm/truncate.c | 8 +++-----
5 files changed, 6 insertions(+), 9 deletions(-)
<akpm@digeo.com>
[PATCH] large-dma_addr_t-PAE-only.patch
From: William Lee Irwin III <wli@holomorphy.com>
I was just looking over this and noticed 2.4.x makes u64 dma_addr_t
conditional on CONFIG_HIGHMEM64G where 2.5.x uses CONFIG_HIGHMEM. It's
clearly not necessary on CONFIG_HIGHMEM4G, hence this obvious patch.
<akpm@digeo.com>
[PATCH] 3c59x irqreturn fix
Apparently boomerang_interrupt() is generating lots of "nobody cared"
warnings - one per packet it seems. Frankly, I don't have a clue why.
These are ancient cards and the driver is otherwise stable, so just
change it to return IRQ_HANDLED and move on...
<akpm@digeo.com>
[PATCH] reiserfs: allow multiple block insertion into the tree
I've had these reiserfs patches in -mm for many months. We've been
undecided because they trigger bugs in a couple of apps. But those apps
are now fixed, so it's best to get these speedups in.
From: Oleg Drokin <green@namesys.com>
This patch allows insertion of more than one "indirect" block pointer into
the tree in reiserfs. (with all the necessary balancing code changes).
The first user of that feature is hole-creation code that is now ~1000
times more cpu-efficient for the case of large holes.
<akpm@digeo.com>
[PATCH] reiserfs: reiserfs_file_write implementation
From: Oleg Drokin <green@namesys.com>
With the current 'one block at a time' algorithm, writes past the end of a
file are slow because each new file block is separately added into the tree
causing shifting of other items which is CPU expensive.
With this new implementation if you write into file with big enough chunks,
it uses half as much CPU. Also this version is more SMP friendly than the
current one.
There are some known-bad applications that break with this patch (ie. start
to work very slow or even hang).
This is because the filesystem returns a large value in the stat.st_blocksize
hint (128k instead of 4k). This tickles a small number of application bugs.
One is KDE's kmail 3.04 (fixed by upgrading to 3.1+) and the other is
sleepycat's database from before 1997.
If you hit a slowdown problem that you believe is related to the increased
"recommended i/o size" value, try to mount your fs with nolargeio=1 mount
option (remount should work too).
This patch exports block_commit_write(), generic_osync_inode() and
remove_suid() to modules.
<akpm@digeo.com>
[PATCH] fix CONFIG_APM=m
From: mikpe@csd.uu.se
Here is a patch to fix CONFIG_APM=m in 2.5.69-bk11. My patch to have APM
restore the systenter MSRs failed to handle the modular case, which fails
with unresolved symbols.
Since suspend.o is used from both APM (module or built-in) and ACPI sleep
(built-in), I made suspend.o built-in and dependent on CONFIG_PM.
<akpm@digeo.com>
[PATCH] Fix for latent bug in vmtruncate()
From: "Paul E. McKenney" <paulmck@us.ibm.com>
The vmtruncate() function shifts down by PAGE_CACHE_SHIFT, then calls
vmtruncate_list(), which deals in terms of PAGE_SHIFT instead. Currently,
no harm done, since PAGE_CACHE_SHIFT and PAGE_SHIFT are identical. Some
day they might not be, hence this patch.
I also took the liberty of modifying a hand-coded "if" that seems to
optimize for files that are not mapped to instead use unlikely().
<akpm@digeo.com>
[PATCH] v4l: #1 - video-buf update
From: Gerd Knorr <kraxel@bytesex.org>
This minor patch updates the video-buf module. It just adds a export
for the videobuf_next_field function and adds some debug printk's.
<akpm@digeo.com>
[PATCH] v4l: #2 - v4l1-compat update
From: Gerd Knorr <kraxel@bytesex.org>
This patch updates the v4l1-compat module. Changes:
* use f_op->poll() instead of do_select()
* reduce stack usage of the v4l1_translate_ioctl() function.
* misc minor fixes here and there.
<akpm@digeo.com>
[PATCH] v4l: #4 - bttv docmentation update
From: Gerd Knorr <kraxel@bytesex.org>
This patch updates the bttv documentation.
<akpm@digeo.com>
[PATCH] v4l: #5 - i2c module updates.
From: Gerd Knorr <kraxel@bytesex.org>
This patch updates a number of video4linux-related i2c modules. There are a
number of bugfixes which accumulated over time, also some no-op i2c changes
due to merging the i2c cleanups back into my tree and tweak them to make the
modules compile on both 2.5.x and 2.4.x.
<akpm@digeo.com>
[PATCH] v4l: #6 - tuner module update
From: Gerd Knorr <kraxel@bytesex.org>
This patch updates the tv card tuner module. It adds support for a new tuner
and has some minor fixes + cleanups. Also deletes some dead code.
<akpm@digeo.com>
[PATCH] v4l: #7 - saa7134 driver update
From: Gerd Knorr <kraxel@bytesex.org>
Yet another big one (due to not being updated for a long time) -- saa7134
driver update. Changes:
* various bugfixes / cleanups.
* new cards added to the cardlist.
* started support for saa7133/35 chips.
* make the driver check pci quirks.
<akpm@digeo.com>
[PATCH] fix tuner.c and tda9887.c
From: Shane Shrybman <shrybman@sympatico.ca>
Attached are two patches that make bttv compile and work in 2.5.69-mm6. I
think this broke in -mm4.
<akpm@digeo.com>
[PATCH] radeonfb.c 64-bit fixes
From: David Mosberger <davidm@napali.hpl.hp.com>
Don't truncate the ioremap return value to 32-bits.
<akpm@digeo.com>
[PATCH] use %p to print pointers in cs4281
From: Christoph Hellwig <hch@lst.de>
This is a really old patch from the IA64 tree and as Cirrus Logic doesn't
maintain the driver anymore for about two years now no one picked it up..
<akpm@digeo.com>
[PATCH] memcpy/memset fixes
Fix some places which were doing
memcpy(to, from, sizeof(to));
and
memset(to, 0, sizeof(to));
Found by the Stanford checker.
<akpm@digeo.com>
[PATCH] BUG() -> BUG_ON() conversions.
From: davej@codemonkey.org.uk
Various performance critical sections.
The increased cache footprint may be a pessimisation, especially on earlier
CPUs where unlikely() doesn't do anything useful, and we fall back to
trusting gcc to DTRT.
<akpm@digeo.com>
[PATCH] 3c59x: add support for 3c905B-T4, 3C920B-EMB-WNM
A couple of new PCI IDs which were found in 3com's driver by Xose Vazquez
Perez <xose@wanadoo.es>.
We don't know if these work, but if they are really 905B's and 920's it
should be OK.
<akpm@digeo.com>
[PATCH] CONFIG_ACPI_SLEEP compile fix
From: mikpe@csd.uu.se
When I grepped for these variables I failed to notice the references in
acpi/wakeup.S. This patch fixes this.
<akpm@digeo.com>
[PATCH] fix handling of spares physical APIC ids
From: William Lee Irwin III <wli@holomorphy.com>
To handle sparse physical APIC ID's properly the phys_cpu_present_map must
be scanned beyond bit NR_CPUS while ensuring no more than NR_CPUS are woken
in order not to attempt to wake non-addressible cpus.
The following patch adds that logic to smp_boot_cpus() and corrects the
failure to wake secondaries reported by dhowells, with successful wakeup,
runtime, reboot, and halting reported after it was applied.
<akpm@digeo.com>
[PATCH] put_page_testzero() fix
From: William Lee Irwin III <wli@holomorphy.com>
put_page_testzero() does BUG_ON(page_count(page)) when its argument is p.
<akpm@digeo.com>
[PATCH] DAC960 oops fix
ioctl_by_bdev() passes in a NULL file*, so we had better not dereference it.
<warp@mercury.d2dc.net>
[PATCH] I2C: And yet another it87 patch.
Trivial, but important.
Somehow in the patching the bk tree somehow got two memset's to clear
new_client in it87_detect, normally while this would be bad, it would
not be critical.
However one of the two happens BEFORE the variable is set, and thus
things go badly.
<mingo@elte.hu>
[PATCH] signal latency fixes
This fixes an SMP window where the kernel could miss to handle a signal,
and increase signal delivery latency up to 200 msecs. Sun has reported
to Ulrich that their JVM sees occasional unexpected signal delays under
Linux. The more CPUs, the more delays.
The cause of the problem is that the current signal wakeup
implementation is racy in kernel/signal.c:signal_wake_up():
if (t->state == TASK_RUNNING)
kick_if_running(t);
...
if (t->state & mask) {
wake_up_process(t);
return;
}
If thread (or process) 't' is woken up on another CPU right after the
TASK_RUNNING check, and thread starts to run, then the wake_up_process()
here will do nothing, and the signal stays pending up until the thread
will call into the kernel next time - which can be up to 200 msecs
later.
The solution is to do the 'kicking' of a running thread on a remote CPU
atomically with the wakeup. For this i've added wake_up_process_kick().
There is no slowdown for the other wakeup codepaths, the new flag to
try_to_wake_up() is compiled off for them. Some other subsystems might
want to use this wakeup facility as well in the future (eg. AIO).
In fact this race triggers quite often under Volanomark rusg, with this
change added, Volanomark performance is up from 500-800 to 2000-3000, on
a 4-way x86 box.
<mingo@elte.hu>
[PATCH] scheduler cleanup
This removes the unused requeueing code.
<mingo@elte.hu>
[PATCH] sync wakeup on UP
This fixes the scheduler's sync-wakeup code to be consistent on UP as
well.
Right now there's a behavioral difference between an UP kernel and an
SMP kernel running on a UP box: sync wakeups (which are only activated
on SMP) can cause a wakeup of a higher prio task, without preemption.
On UP kernels this does not happen. This difference in wakeup behavior
is bad.
This patch activates sync wakeups on UP as well - in the cases sync
wakeups are done the waker knows that it will schedule away soon, so
this 'delay preemption' decision is correct on UP as well.
<david-b@pacbell.net>
[PATCH] USB: usbtest, talk to user mode "firmware"
Supports some user-mode testing "firmware".
<mingo@elte.hu>
[PATCH] Fix lost scheduler rebalances
This fixes a race noticed by Mike Galbraith: the scheduler can lose a
rebalance tick if some task happens to not be rescheduled in time. This
is not a fatal condition, but an inconsistency nevertheless.
<lkml001@vrfy.org>
[PATCH] USB: usb-skeleton compile fix
usb-skelteon doesn't compile after recent changes.
<anton@samba.org>
[PATCH] USB: gadget compile error on ppc64
I tried compiling USB gadget support on ppc64 (why not :). Looks like Im
seeing a conflict between const and __devinitdata:
drivers/usb/gadget/net2280.c:2645: pci_ids causes a section type conflict
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: storage: generate BBB reset after abort
This patch forces the generation of a bulk-transport reset after a command
abort. Careful reading of the bulk-only specification shows that a reset
must be done after an abort to get the host and target back into phase.
<mdharm-usb@one-eyed-alien.net>
[PATCH] USB: storage: remove inline function
This patch removes a single-line inline function and replaces it with it's
expansion everywhere. The inline function was really only there for a
transitional step.
<Walter.Harms@Informatik.Uni-Oldenburg.DE>
[PATCH] USB: fixes kernel_thread
<agrover@groveronline.com>
ACPI: Update Toshiba driver to 0.15 (John Belmonte)
- workaround sporadic problem with hotkey ceasing to work
- cleanups
<bcollins@debian.org>
[PATCH] Update IEEE1394 (r931)
- Fix possible memory leak in iso.c
- Added handling for more than 1 Logical_Unit_Number entry in a unit
directory for SBP-2. This allows for handling the second type of LUN
that we didn't support yet.
<hch@sgi.com>
[XFS] merge Steve's sync changes over to 2.5
SGI Modid: 2.5.x-xfs:slinx:147932a
<Andries.Brouwer@cwi.nl>
[PATCH] namespace fix
After
# mount --rbind /tmp /mnt
(on 2.5.68) I have a corrupted namespace. Umounting /mnt fails,
and /proc/mounts contains
...
/dev/root /mnt ext3 rw 0 0
proc /mnt/proc proc rw 0 0
usbfs /mnt/proc/bus/usb usbfs rw 0 0
/dev/hdb5 /mnt/usr reiserfs rw 0 0
...
where of course no directories /mnt/proc or /mnt/usr exist.
This is caused by the fact that copy_tree() thinks that the dentry
it is called with is the root of the filesystem. If it is not,
confusion arose.
This patch fixes this confusion.
<Andries.Brouwer@cwi.nl>
[PATCH] NCR5380.c fix
Several SCSI drivers confuse CHECK_CONDITION and CHECK_CONDITION << 1.
One of them is NCR5380.c. Below a patch adding status_byte() twice.
(On the other hand, sun3_NCR5380.c does this right, and generally
looks better. Maybe they can be merged eventually.)
<cwf@sgi.com>
[XFS] Merge over an irix fix
SGI Modid: 2.5.x-xfs:slinx:132737a
<Andries.Brouwer@cwi.nl>
[PATCH] fix oops in namespace.c
A familar type of Oops: d_path() can return an error ENAMETOOLONG, and
if we fail to test a segfault occurs.
So we must test. What we do is a different matter. Rather arbitrarily
I return the string " (too long)" for use in /proc/mounts.
<nathans@sgi.com>
[XFS] Fix up error handling on the initial superblock read.
SGI Modid: 2.5.x-xfs:slinx:148285a
<hch@sgi.com>
[XFS] avoid sleep_on in the sync code
SGI Modid: 2.5.x-xfs:slinx:148415a
<nathans@sgi.com>
[XFS] Fix up a pagebuf spelling mistake and a couple of whitespace botches.
SGI Modid: 2.5.x-xfs:slinx:148595a
<mingo@elte.hu>
[PATCH] fix do_fork() return value
Noticed by Julie DeWandel <jdewand@redhat.com>.
do_fork() needs to return the pid (or error), not the pointer to the
resulting process structure. The process structure may not even be
valid any more, since do_fork() has already woken the process up (and as
a result it might already have done its thing and gone away).
Besides, doing it this way cleans up the users, which all really just
wanted the pid or error number _anyway_.
This fixes the x86 users, other architectures need to be fixed up as
well.
<lord@sgi.com>
[XFS] Move xfs_syncd code into xfs_super.c which is the only place which uses it
SGI Modid: 2.5.x-xfs:slinx:148433a
<hch@sgi.com>
[XFS] Fix compile warning on my iBook
SGI Modid: 2.5.x-xfs:slinx:148598a
<nathans@sgi.com>
[XFS] V1 log tweak - fix log record length used when checking for a partial log
record write during log recovery head/tail calculations.
SGI Modid: 2.5.x-xfs:slinx:148895a
<hch@sgi.com>
[XFS] simplify memory allocation code big time
SGI Modid: 2.5.x-xfs:slinx:148933a
<hch@sgi.com>
[XFS] Use __GFP_NORETRY in pagebuf readahead code
SGI Modid: 2.5.x-xfs:slinx:148940a
<lord@sgi.com>
[XFS] remove the excess ; which crept into the syncd thread somewhere and
basically turned it off.
SGI Modid: 2.5.x-xfs:slinx:148955a
<nathans@sgi.com>
[XFS] Large sector changes - fixup definition of xfs_agfl_t, and numerous
changes to make log recovery respect the log device sector size.
SGI Modid: 2.5.x-xfs:slinx:149230a
<nathans@sgi.com>
[XFS] Small buftarg cleanup - keep code which pokes inside a buftarg all in
one spot, which lets us keep more common code in sync, 2.4/2.5 and is
slightly cleaner anyway.
SGI Modid: 2.5.x-xfs:slinx:149231a
<nathans@sgi.com>
[XFS] Second part buftarg cleanup, don't poke inside a buftarg here anymore
SGI Modid: 2.5.x-xfs:slinx:149232a
<nathans@sgi.com>
[XFS] Remove a void* from the xfs_mount structure, move the log stripe mask
field from the xfs_mount structure to the log structure (saves a couple
of pointer dereferences when writing to the log, with v2 logs only).
SGI Modid: 2.5.x-xfs:slinx:149395a
<nathans@sgi.com>
[XFS] Rationalise xlog_in_core2 definition, remove some ifdef __KERNEL__ code
which is unnecessary in log recovery, clarify some recovery debug code.
SGI Modid: 2.5.x-xfs:slinx:149396a
<nathans@sgi.com>
[XFS] Make log recovery code style consistent with a/ itself and b/ much of
the rest of XFS. Fix numerous crimes against whitespace.
SGI Modid: 2.5.x-xfs:slinx:149398a
<nathans@sgi.com>
[XFS] Fix two remaining indentation inconsistencies.
SGI Modid: 2.5.x-xfs:slinx:149400a
<nathans@sgi.com>
[XFS] Remove some dead code.
SGI Modid: 2.5.x-xfs:slinx:149409a
<davej@codemonkey.org.uk>
[AGPGART] Add support for VIA K8T400M GART.
<davej@codemonkey.org.uk>
[AGPGART] Improve Kconfig.
The AMD K8 GART driver is really for the on-CPU GART not the chipset as the Kconfig described.
Also fix up some grammar elsewhere.
<greg@kroah.com>
i2c: fix up i2c-dev driver based on previous core changes.
This fixes the problem that adapter id's are not the minor number for the
i2c-dev devices anymore. Also adds a i2c-dev class to let userspace know
which i2c-dev device is bound to which i2c adapter.
<davej@codemonkey.org.uk>
[AGPGART] agp_3_5_enable() doesn't need mode parameter.
<davej@codemonkey.org.uk>
[AGPGART] Sanity check (and fix up broken) AGP modes when in AGP 3.0 mode.
<david-b@pacbell.net>
[PATCH] USB: Fix machine lockup when unloading HC driver
Alan Stern wrote:
> I finally got tired of my computer locking up when I tried to rmmod the
> low-level host controller driver. It turns out the problem lies in the
> root-hub status urb code in core/hcd.c -- primarily a result of
> rh_report_status() not calling hcd_giveback_urb()...
Or in short: your patch removes some old logic for the "automagic
interrupt transfer" special casing ... which recently started to
break that rmmod path.
With automagic, the only time an interrupt urb (like the root hub
status urb) could legitimately be given back was for unlink. But
that unlink doesn't seem to be issued in the same way lately during
the rmmod paths. (If they're less bizarre lately, that's good!)
> If this patch seems all right, will you please let Greg know it's okay to
> apply it?
I changed a couple minor things below ... basically (a) fixing the
issue Duncan Sands pointed out (always call completions with irqs
disabled, even if hub driver currently doesn't care), (b) better
logic to avoid retriggering the timer during shutdown, (c) not
doing del_timer_sync() while holding that lock, plus (d) a minor
linewrap fix.
<davej@codemonkey.org.uk>
[AGPGART] Log broken applications that pass crap flags so they can be fixed.
<davem@nuts.ninka.net>
[SPARC{32,64}]: Adjust for changed do_fork return value.
<zaitcev@redhat.com>
[SPARC]: Fix ptracing of syscalls.
<zaitcev@redhat.com>
[SPARC]: Switch bitops to unsigned long.
<davej@codemonkey.org.uk>
[AGPGART] Skip nonisoch setup if isoch setup was successful.
<davej@codemonkey.org.uk>
[AGPGART] Silly typo that put tried to put things into a impossible x16 mode.
<davem@nuts.ninka.net>
[NET]: Fix netdevice unregister races.
We had two major issues when unregistering networking devices.
1) Even trying to run hotplug asynchronously could deadlock
if keventd was currently trying to get the RTNL semaphore
in order to process linkwatch events.
2) Unregister needs to wait for the last reference to go away
before the finalization of the unregister can execute. This
cannot occur under the RTNL semaphore as this is deadlock
prone as well.
The solution is to do all of this stuff after dropping the
RTNL semaphore. rtnl_lock, if it is about to protect a region
of code that could unregister network devices, registers a list
to which unregistered netdevs are attached. At rtnl_unlock time
this list is processed to wait for refcounts to drop to zero and
then finalize the unregister.
<acme@conectiva.com.br>
o sock.h: kernel-doc style comment for struct sock
<davem@nuts.ninka.net>
[NET]: More device register/unregister fixing.
Revert the rtnl_lock API change, it is totally unneeded.
Instead we manage the todo work inside of net/core/dev.c
Also, we have to move sbin hotplug invocation outside of
the RTNL semaphore as well, both for register and unregister.
<davem@nuts.ninka.net>
[NET]: Fix sock_fprog setsockopt compat handling. Based upon patch from Andi Kleen.
<benh@kernel.crashing.org>
[SUNGEM]: Updates from PowerPC people.
Support more chips and split out all the complex PHY
handling into a seperate file.
<yoshfuji@linux-ipv6.org>
[NET]: Misplaced description in ip-sysctl.txt.
<yoshfuji@linux-ipv6.org>
[IPV6]: Move NIP6 macro into general header.
<yoshfuji@linux-ipv6.org>
[IPV6]: Update RFC references.
<hch@lst.de>
[NET]: Fix dev_load for !CONFIG_KMOD.
<hch@lst.de>
[NET]: Switch comx over to initcalls.
<davem@nuts.ninka.net>
[NET]: Comment typo in net/core/dev.c, thanks akpm.
<rmk@flint.arm.linux.org.uk>
[ARM] do_fork() now returns the PID.
<acme@conectiva.com.br>
o wan/cycx: remove unneeded ioctl stub and fix namespace
<akpm@digeo.com>
[PATCH] apply_alternatives() fix
From: Andi Kleen <ak@suse.de>
There is some assembly code in setup.c which doesn't explicitly set its
section. It comes after a C function which is marked __init. The compiler
does not reset the section after such C functions. The assembly code is
going into .text.init.
That's the wrong section. We get oopses modprobing sctp and, with Manfred's
unmap-free-pages debug patch we get oopses modprobing e100.ko. In
apply_alternatives().
<akpm@digeo.com>
[PATCH] sound/core/memalloc.c needs mm.h
struct page is undefined in this file without this on Alpha.
<akpm@digeo.com>
[PATCH] revert sysfs non-fix
I completely misread this code and there was no bug. In fact yesterday's fix
broke it. Revert.
<akpm@digeo.com>
[PATCH] ppc64 update for do_fork() change
This updates ppc64 for the do_fork() semantics change.
<hch@lst.de>
[PATCH] do_fork updates for ppc
Update ppc for mingo's do_fork changes. Together with the pmac compile
fixes this allows me to stay at the bleeding edge with my my ibook..
<rth@kanga.twiddle.net>
[ALPHA] Fix single-step breakpoints.
From Ivan Kokshaysky <ink@jurassic.park.msu.ru>.
<rth@kanga.twiddle.net>
[ALPHA] Update for do_fork changes.
From Marc Zyngier <mzyngier@freesurf.fr>.
<david-b@pacbell.net>
[PATCH] USB: Fix machine lockup when unloading HC driver (part 2)
Alan Stern wrote:
> I suggest you just forget about acquiring the lock in status_dequeue() and
> simply leave it as
>
> del_timer_sync (&hcd->rh_timer);
> hcd->rh_timer.data = 0;
Hmm, so if some other URB gets queued in that window,
it'll get trashed? Unlikely .. the clean fix would be
making the status endpoint have a real URB queue.
I combined your suggested change with two others:
(a) protect the status-unlink and control completion
handlers against IRQs [ the cases Duncan noted]
(b) use mod_timer to retrigger the timer, instead of the
heavy weight path.
<david-b@pacbell.net>
[PATCH] USB: SMP ehci-q.c 1010 BUG()
Stefano Barbato wrote:
> Dual PIII
> kernel 2.4.21-rc2 (w/ SMP) (2.5.69 below)
> ...
>
> I put a few printk before the BUG() and I found that the offending if() is
> this:
> if(qh->qh_state != QH_STATE_LINKED
> && qh->qh_state != QH_STATE_UNLINK_WAIT)
>
> because qh_state were QH_STATE_COMPLETING.
I got a similar SMP report recently, but without info about
which clause was failing -- which is a key clue, thanks!!
The COMPLETING state is used only while a QH is being
scanned for completed TDs. (Think CPU-0 irq handler.)
Looking at the handful of places that call the routine
reporting the BUG(), a couple seem like they could make
trouble with multiple CPUs in the driver.
<david-b@pacbell.net>
[PATCH] USB: disable usb device endpoints in more places
This patch touches the most significant places in usbcore
that need to respond to configuration change events:
- set_interface changes altsettings; affects endpoints
in both new and old settings (but not other endpoints).
- set_configuration; affects every endpoint
The endpoints get disabled, flushing hardware state
reliably. This resolves two FIXMEs here, part of one
in OHCI (ed_get) and all of one in EHCI (qh_append_tds).
Not many drivers currently use these code paths, but
now they should start to work properly.
<James.Bottomley@SteelEye.com>
[PATCH] do_fork fixes for voyager x86 subarch
It looks like the do_fork was converted in voyager_smp.c, but the
addition of wake_up_forked_process() was missed leading to a boot
panic. The attached fixes it.
<davej@codemonkey.org.uk>
[AGPGART] PPC compile fix.
Generic suspend/resume methods are no more.
<paulus@samba.org>
PPC32: Need to call wake_up_forked_process in SMP idle task setup.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: replace yield()
Use set_current_state (TASK_RUNNING); schedule(); instead.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: add defensive memory barriers
Defend against future maintainers.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: remove stale code
Should have gone long ago.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in process context
Replace spin_lock_irqsave/spin_unlock_irqrestore with
spin_lock_irq/spin_unlock_irq in routines that are only
called in process context.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in tasklets
Replace spin_lock_irqsave/spin_unlock_irqrestore with
spin_lock_irq/spin_unlock_irq in tasklet actions, since
these are always called with local irqs enabled.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: remove useless NULL pointer checks
The stats field is never NULL.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: receive path micro optimization
Make the most discriminating comparison first.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: verbose debugging
Add a vdbg macro for verbose debugging, and convert some
noisy debugging statements to use it.
<davej@codemonkey.org.uk>
[AGPGART] Remove duplicated fast writes test.
<davej@codemonkey.org.uk>
[AGPGART] sanity check printk's.
<davem@nuts.ninka.net>
[IPV4]: Fix route copying during redirects.
<hch@lst.de>
[NET]: Clean up the divert ifdef mess.
<shemminger@osdl.org>
[NET]: Use SET_MODULE_OWNER in ns83820 driver.
<davem@nuts.ninka.net>
[NET]: Use irqreturn_t in acenic driver.
<davem@nuts.ninka.net>
[NET]: Fix build warning in ns83820 driver.
<kumarkr@us.ibm.com>
[TCP]: Handle NLM_F_ACK in tcp_diag.c
<Andries.Brouwer@cwi.nl>
[NET]: Use ARRAY_SIZE where appropriate.
<jt@bougret.hpl.hp.com>
[PATCH] IrDA skb leak fixes
ir259_skb_get-7.diff :
<Inspired by patches from Jan Kiszka>
o [CORRECT] Fix skb leaks in IrDA state machines
o [CORRECT] Fix skb leaks in connect/request error paths
o [FEATURE] Fix skb leaks in ASSERT
o [FEATURE] Simplify & document skb handling throughout the stack
o [FEATURE] other minor cleanups
<jt@bougret.hpl.hp.com>
[PATCH] IrNET crasher
ir257_irnet_bh.diff :
o [CRITICA] Replace spin_lock_irqsave() with spin_lock_bh()
to be compatible with ppp_generic locking
o [CRITICA] Disable call to ppp_unregister_channel()
<jt@bougret.hpl.hp.com>
[PATCH] IrLAP address fix
ir257_caddr_mask.diff :
<Patch from Jan Kiszka>
o [CORRECT] ignore the C/R bit in the LAP connection address.
<jt@bougret.hpl.hp.com>
[PATCH] owner in irtty-sir
ir259_sir_kthread_Morton-2.diff :
o [CORRECT] fix module ownership in irtty-sir
o [FEATURE] important comment in sir_kthread
<jt@bougret.hpl.hp.com>
[PATCH] Various IrDA drivers
ir259_trans_start-4.diff :
o [CORRECT] Properly initialise dev->trans_start in various drivers
o [CRITICA] Unregister power management at unload in smc-ircc
o [CORRECT] fix module ownership in smc-ircc
<jt@bougret.hpl.hp.com>
[PATCH] irport fixes
ir259_irport-6.diff :
o [CORRECT] fix module ownership in irport
o [CORRECT] Properly initialise dev->trans_start in irport
o [CORRECT] Add delay to drain the Tx fifo to avoid corrupting
last outgoing Tx byte when changing speed
o [FEATURE] Safer locking around speed change in irport_hard_xmit()
o [FEATURE] Enforce half duplex operation in interrupt handler
o [FEATURE] Optimise interrupt handler for latency and I/O ops
o [FEATURE] Optimise Tx path in irport_write()
o [FEATURE] Add ZeroCopy Rx
o [FEATURE] Better debugging in watchdog timeout
o [FEATURE] Various other cleanups and comments
<jt@bougret.hpl.hp.com>
[PATCH] smsc-ircc2 driver
ir259_smsc-ircc2-6.diff :
<Original patch from Daniele Peri>
o [FEATURE] New driver smsc-ircc2, improved FIR support
<shemminger@osdl.org>
[NET]: sysfs support of network devices.
<shemminger@osdl.org>
[NET]: Add sysfs support to several net devices.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: TCP nfsd connection hangs when partial record header is received
Below patch resolves a hang where a TCP nfsd connection will hang even
though new data is received on the socket. We've seen this a few times in
our lab, but it usually happened every few weeks.
If a short record header is received, the SK_BUSY flag is never cleared,
and even though new data arrives, it will not be handled. This in turn
leads to hangs of particular clients (while others will continue to work
without problem).
I also changed the return code for that condition to be the same as for a
(regular) short read.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: SVC sockets don't disable Nagle
I noticed that the Nagle algorithm was disabled just recently on the
client side, while it still seems to be enabled on the server side. The
previous patch came from Chuck Lever.
Below patch disables it on the server side as well. For latency reasons,
this should be the desired behaviour NFS at both client and server.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: RPC server need to know that TCP and UDP have different wspace functions.
From: Hirokazu Takahashi <taka@valinux.co.jp>
sock_wspace() is used to see how much can be written to a udp socket,
but tcp_wspace must be used on a tcp socket.
This patch informs sunrpc/svcsock.c of this subtlety.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Set SOCK_NOSPACE when RPC server decides there is insufficient.
SOCK_NOSPACE is set, so we must set it when we want to get
a ->write_space callback.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Make sure an RPC socket is closed immediately when a server write fails.
The check for "write was incomplete" is not atomic with the actual write,
so a second write could slip in after a partial write to a tcp socket
and this will cause problems.
So we move the locking out a bit, and test if the socket has
been deleted (SK_DEAD) between getting the lock and trying
to send.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Fix #error message when bits are badly defined..
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Minor rearrangements in NFSv4 server code to prepare for mroe state management.
From: "William A.(Andy) Adamson" <andros@citi.umich.edu>
this is the first of several patches against 2.5 concerning NFSv4 state for
nfsd. it cleans up the names of state structures in preperation for future
share, lease, byte-range, and delegation patches. specifically, it
1) renames portions of the stateid_t and moves it along with the clientid_t
from xdr.h into state.h
2) uses xdr_netobj to gather related data and length fields in struct
nfs4_open (in xdr4.h) (e.g. we have op_fname.data and op_fname.len
instead of op_name and op_namelen).
3) renames NFSD4_CLIENT_MAXNAME to NFS4_OPAQUE_LIMIT which will be used in
other state fields (not just for name length)
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: NFSv4 open share state patch
From: "William A.(Andy) Adamson" <andros@citi.umich.edu>
this open share state patch creates all the structures and hash tables needed
to create and destroy share state on OPEN.
a struct nfs4_stateowner is introduced. this is currently only used for share
state, but will also be used as an anchor for byte-range lock state. e.g. it
will be either an (open)stateowner or a (lock)stateower.
a struct nfs4_stateid is introduced with holds stateid info for openfiles per
(open)stateowner. this struct will also hold byte-range lock info for
(lock)stateowners.
ownerstr_hashtbl[] holds nfs4_stateowners hashed by the nfs4_open owner and
clientid, and is used to lookup nfs4_stateowners on OPEN.
a struct nfs4_file is introduced which holds info on open files with state.
file_hashtbl[] holds nfs4_files, and is used to find a file in order to search
for conflicting share locks on OPEN. delegation info will hang off the
nf4_file struct.
i moved nfsd4_process_open1() into nfs4state.c, and added nfs4_process_open2()
there as well
i've left lease management, state reclaim, and the special replay management
on sequenceid mutating operations like OPEN for subsequent patches.
<neilb@cse.unsw.edu.au>
[PATCH] kNFSd: Allow request for nfsv4 pseudo root to perform an upcall.
Most cache-lookups to find export information will cause
an upcall, but currently the lookup to find the pseudo root
for nfsv4 wont asthe cache-handle isn't made available.
This patch makes it available and makes sure that if the
upcall is made, the request is dropped (for now).
<davem@nuts.ninka.net>
[NET]: Fix typo in ns83820 sysfs changes.
<davem@nuts.ninka.net>
[ATM]: Fix build after netdev sysfs changes.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] seq_path(), /proc/mounts and /proc/swaps
This adds a new seq_...() helper:
seq_path(seq_file, mnt, dentry, escape)
It spits the pathname into seq_file, does octal escapes for given set of
characters, returns the number of characters it'd produced or -1 in case
of error. Long names are handled gracefully - you don't need anything
to do, generic seq_file logics will do the right thing.
/proc/mounts and /proc/swaps are converted to use of seq_path(), some
junk removed.
/proc/pid/maps will be converted next.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] seq_path() for /proc/pid/maps
This converts /proc/pid/maps to use of seq_file, cleans the issues with
d_path() overflows as a side effect.
It's incremental to seq_path() patch.
<porter@cox.net>
PPC32: Allow lowmem size to be set even if we don't have HIGHMEM.
<paulus@samba.org>
PPC32: Makefile cleanups, patch from Sam Ravnborg
<vojtech@suse.cz>
[PATCH] USB: Make Olympus cameras work with usb-storage
According to Jan Derfinak, Olympus USB cameras mistakenly report an
'USBU' signature instead of 'USBS', while using the normal USB Storage
protocol.
The attached patches (again by Jan) fix this problem in 2.4 and 2.5.
<viro@parcelfarce.linux.theplanet.co.uk>
[PATCH] O_DIRECT open() fix
Trivial bugfix: opening a file that doesn't have ->direct_IO() with
O_DIRECT passed in flags fails (as it should) but doesn't call
->release() even though ->open() had been successful.
IOW, we have a leak there - e.g. open() of a tty with O_DIRECT will
leak a reference to tty and tty_driver. Besides, quite a few drivers
are _not_ happy with struct file being freed without ->release() after
->open() has returned 0.
<paulus@samba.org>
PPC32: Further makefile updates from Sam Ravnborg.
<paulus@samba.org>
PPC32: Minor whitespace and ifdef fixes.
<paulus@samba.org>
PPC32: Better allocation of DMA-consistent memory on incoherent machines.
<paulus@samba.org>
PPC32: Fix the declaration of openpic_ipi_action().
<paulus@samba.org>
PPC32: Use might_sleep() in kmap().
<paulus@samba.org>
PPC32: More fixes for PCI on non-cache-coherent platforms.
<paulus@samba.org>
PPC32: Define a suitable value for PAGE_KERNEL_NOCACHE
<davej@codemonkey.org.uk>
[AGPGART] Rid AGP/DRM of more typedefs.
<scott.feldman@intel.com>
[PATCH] Remove "Freeing alive device" warning
* Bug fix: don't call any netif_carrier_* until netdev is registered.
[Andrew Morton (akpm@digeo.com)]
<scott.feldman@intel.com>
[PATCH] move e100_asf_enable under CONFIG_PM to avoid warning
* Bug fix: move e100_asf_enable under CONFIG_PM to avoid warning.
[Stephen Rothwell (sfr@canb.auug.org.ua)]
<scott.feldman@intel.com>
[PATCH] Add ethtool parameter support
* Feature Add: ethtool parameter support: Tx/Rx ring size, Rx xsum
offloading, flow control.
<scott.feldman@intel.com>
[PATCH] Add ethtool cable diag test
* Feature Add: ethtool cable diag test.
* Some cleanup of the ethtool diags.
* Fixed bug in return code for ethtool diag results.
<scott.feldman@intel.com>
[PATCH] Add MDI/MDI-X status to ethtool reg dump
* Add MDI/MDI-X (crossover cable) status to ethtool reg dump.
<scott.feldman@intel.com>
[PATCH] cleanup Tx resources before running ethtool diags.
* Bug fix: clean up Tx resources before running ethtool diags.
<scott.feldman@intel.com>
[PATCH] fixed stalled stats collection
* Bug fix: In the rare event of a failed command to dump stats,
stat collection would stop, giving the illusion that traffic
had stopped. Fixed by issuing stat dump in watchdog
regardless of status of previous attempt to dump stats.
<scott.feldman@intel.com>
[PATCH] VLAN configuration was lost after ethtool diags run
* Bug fix: ethtool diags would call e100_up/e100_down, which overwrite
current VLAN settings. Move initialization of config regs out of
up/down.
<scott.feldman@intel.com>
[PATCH] misc
* Remove leftovers from removal of /proc support and IDIAG support
* Cleaned up reporting of h/w init failure messages
* Add 1/2 second delay after PHY reset to allow link partner to
see and respond to reset, per IEEE 802.3
<cramerj@intel.com>
[PATCH] TSO fix
* Premature write-back of descriptors during TSO causing
resources to be returned too early on ppc64. Fix is to
wait until last descriptor of frame is written back,
then return resources back to OS.
* 82544 hang caused by setting RS bit in context descriptor.
Exposes known hang in 82544. Fix is same as above - set
RS bit only in last descriptor.
<cramerj@intel.com>
[PATCH] Added ethtool test ioctl
* Added routines for the Ethtool Test ioctl.
* Added more statistics for the Ethtool statistics dump.
* Added more registers for the register dump.
<cramerj@intel.com>
[PATCH] Removed strong branded device ids
* Removed strong branded device ids from the device id table
along with the associated branding strings.
<cramerj@intel.com>
[PATCH] Added support for 82546 Quad-port adapter
* Added support for 82546 Quad-port adapter
<cramerj@intel.com>
[PATCH] Fixed LED coloring on 82541/82547 controllers
* LED colors on 82541 and 82547 controllers were incorrect.
The LED mode register didn't have the proper configuration.
<cramerj@intel.com>
[PATCH] Miscellaneous code cleanup
* Added Change Log entries
* Miscellaneous code cleanup
<cramerj@intel.com>
[PATCH] Whitespace cleanup
* Whitespace cleanup
<acme@conectiva.com.br>
o wanrouter/wanmain: fix namespace, fixing the current problem with device_shutdown
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: trivial whitespace and name changes
No real code changes.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: replace yield()
Use set_current_state (TASK_RUNNING); schedule(); instead.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: add defensive memory barriers
Defend against future maintainers.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in process context
Replace spin_lock_irqsave/spin_unlock_irqrestore with
spin_lock_irq/spin_unlock_irq in routines that are only
called in process context.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: spin_lock_irqsave -> spin_lock_irq in tasklets
Replace spin_lock_irqsave/spin_unlock_irqrestore with
spin_lock_irq/spin_unlock_irq in tasklet actions, since
these are always called with local irqs enabled.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: verbose debugging
Add a vdbg macro for verbose debugging, and convert some
noisy debugging statements to use it.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: remove stale code
Should have gone long ago.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: use optimally sized reconstruction buffers
Calculate the maximum size needed for the SAR
reconstruction buffer from the supplied qos parameters.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: send path micro optimizations
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: kfree_skb -> dev_kfree_skb
Always use dev_kfree_skb.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: remove useless NULL pointer checks
The stats field is never NULL.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: receive path micro optimization
Make the most discriminating comparison first.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: receive code rewrite
Main points:
- receive buffers are decoupled from urbs, so an urb can be
resubmitted with a new buffer before the old buffer is processed.
- the packet reconstruction code is much simpler.
- locking is simplified by the fact that only the tasklet launches
receive urbs
<greg@kroah.com>
USB: speedtch merge fixups by hand.
<davej@codemonkey.org.uk>
[AGPGART] Make alpha AGP work again.
From Jeff Wiedemeier and Richard Henderson
<agrover@groveronline.com>
ACPI: Do not reinit ACPI irq entry in ioapic (thanks to Stian Jordet)
<rusty@rustcorp.com.au>
[NETFILTER]: Non-linear iptables: core code.
Adjusts the IPTables core to handle non-linear packets. Extensions
done separately in next patch. Also, comments about when to set
"me" field in struct ipt_match, ipt_table and ipt_target are
corrected.
<rusty@rustcorp.com.au>
[NETFILTER]: Linearize iptables matches.
Adjusts the IPTables matches to handle non-linear packets.
Untested: ipt_ah and ipt_esp.
<rusty@rustcorp.com.au>
[NETFILTER]: Linearize iptables targets.
Adjusts the IPTables targets to handle non-linear packets.
ipt_ULOG untested.
<davem@nuts.ninka.net>
[NETFILTER]: Use proper printf format for size_t in ipt_owner.c
<davem@nuts.ninka.net>
[NETFILTER]: Update ipt_physdev.c for match arg changes.
<davem@nuts.ninka.net>
[IPV6]: DST entry leak found by stanford checker.
<davem@nuts.ninka.net>
[IPV6]: Memory leak found by stanford checker.
<davem@nuts.ninka.net>
[NET]: In dst_alloc, do not assume layout of atomic_t.
<hch@lst.de>
[NET]: Make dv_init an initcall.
<yoshfuji@linux-ipv6.org>
[IPV6]: Remove obsolete declaration in transp_v6.h
<hch@lst.de>
[NET]: Switch arcnet over to initcalls.
<yoshfuji@linux-ipv6.org>
[IPV4]: Use seq_release_private(), kill ip_seq_release() since no longer used.
<torvalds@home.transmeta.com>
Use proper ANSI stype function declarations in definitions.
<greg@kroah.com>
PCI: add pci_get_dev() and pci_put_dev()
Move the PCI core to start using these, enabling proper reference counting
on struct pci_dev.
<greg@kroah.com>
[PATCH] PCI: remove pci_insert_device() as no one uses it anymore.
<akpm@digeo.com>
[PATCH] shrink_all_memory() fix
The calling task must have a valid reclaim_state when running page
reclaim. But I had forgotten about shrink_all_memory().
<davem@nuts.ninka.net>
[IPV6]: Dont store pointers to in6_addrs in struct flowi.
<davem@nuts.ninka.net>
[IPV4]: Fix fib_hash performance problems with huge route tables.
<yoshfuji@linux-ipv6.org>
[IPV4]: Dont erroneously print UDP6 sockets in /proc/net/udp.
<herbert@gondor.apana.org.au>
[AF_KEY]: Zero out sadb_prop_reserved.
<yoshfuji@linux-ipv6.org>
[IPV6]: procfs clean-up
<davem@nuts.ninka.net>
[NET]: Zap non-netdevice usage of SET_MODULE_OWNER.
<davem@nuts.ninka.net>
[TCP]: Move TCP_TWKILL_foo macro definitions into tcp_minisocks.c
<davem@nuts.ninka.net>
[NET]: Kill SMP_TIMER_* users.
Before timers were run per-cpu as they are now, one used
to use the SMP_TIMER_* macros to move globally synchronized
timer work into tasklets.
But with per-cpu timers this is useless work and in fact makes
thing run more slowly.
<davem@nuts.ninka.net>
[TIMERS]: No more SMP_TIMER_* users, kill it.
<davem@nuts.ninka.net>
[SPARC64]: Offer isdn/irda/telephony config options.
<davem@nuts.ninka.net>
[IRDA]: Protect IDA dma stuff with CONFIG_ISA.
<davem@nuts.ninka.net>
[SPARC64]: Update defconfig.
<hch@lst.de>
[NET]: Convert madgemc to initcalls.
<rusty@rustcorp.com.au>
[NETFILTER]: Make nat helper modules use symbols to force conntrack modules.
NAT helpers almost always require the matching conntrack helper to
work at all: this should be forced at load time, rather than at
runtime (which only works via kmod, and is icky). Convenient macros
allow this.
<davem@nuts.ninka.net>
[NET]: Invoke netdev_unregister_sysfs() outside of RTNL semaphore.
<davem@nuts.ninka.net>
[IPV4]: Use get_order instead of reimplementation.
<ak@suse.de>
[PATCH] x86-64 merge
Lots of changes that have accumulated over the last weeks.
This makes it compile and boot again, Lots of bug fixes, including
security fixes. Several speedups.
Only changes x86-64 specific files.
- Use private copy of siginfo.h (for si_band)
- Align 32bit vsyscall coredump (from Roland McGrath)
- First steps towards 64bit vsyscall coredump (not working yet)
- Use in kernel trampoline for signals
- Merge APIC pm update from Pavel/Mikael
- Security fix for ioperm (from i386)
- Reenable vsyscall dumping for 32bit coredumps
- Fix bugs in 32bit coredump that could lead to oopses.
- Fix 64bit vsyscalls
- Revert change in pci-gart.c: pci_alloc_consistent must use an
0xffffffff mask hardcoded.
- Fix bug in noexec= option handling
- Export fake_node
- Cleanups from Pavel
- Disable 32bit vsyscall coredump again. Still has some problems.
- Implement new noexec= and noexec32= options to give a wide choice
of support for non executable mappings for 32bit and 64bit processes.
The default is now to honor PROT_EXEC, but mark stack and heap
PROT_EXEC.
- 32bit emulation changes from Pavel: use compat_* types.
- (2.4) Use physical address for GART register.
- Convert debugreg array to individual members and clean up ptrace
access. This saves 16 byte per task.
- (2.4) Use new streamlined context switch code. This avoids a
pipeline stall and pushes the register saving to C code.
- Save flags register in context switch
- Clean up SMP early bootup. Remove some unnecessary code.
- (2.4) Process numa= option early
- (2.4) Merge 2.4 clear_page, copy_*_user, copy_page, memcpy, memset.
These are much faster. clear/copy_page don't force the new page out
of memory now which should speed up user processes. Also full
workaround for errata #91.
- Some cleanup in pageattr.c code.
- Fix warning in i387.h
- Fix wrong PAGE_KERNEL_LARGE define. This fixes a security hole and
makes AGP work again.
- Fix wrong segment exception handler to not crash.
- Fix incorrect swapgs handling in bad iret exception handling
- Clean up some boot printks
- Micro optimize exception handling preamble.
- New reboot handling. Supports warm reboot and BIOS reboot vector
reboot now.
- (2.4) Use MTRRs by default in vesafb
- Fix bug in put_dirty_page: use correct page permissions for the stack
- Fix type of si_band in asm-generic/siginfo.h to match POSIX/glibc
(needs checking with other architecture maintainers)
- (2.4) Define ARCH_HAS_NMI_WATCHDOG
- Minor cleanup in calling.h
- IOMMU tuning: only flush the GART TLB when the IOMMU aperture area
allocation wraps. Also don't clear entries until needed. This
should increase IO performance for IOMMU devices greatly. Still a
bit experimental, handle with care.
- Unmap the IOMMU aperture from kernel mapping to prevent unwanted CPU
prefetches.
- Make IOMMU_LEAK_TRACE depend on IOMMU_DEBUG
- Fix minor bug in pci_alloc_consistent - always check against the dma
mask of the device, not 0xffffffff.
- Remove streamining mapping delayed flush in IOMMU: not needed anymore
and didn't work correctly in 2.5 anyways.
- Fix the bad pte warnings caused by the SMP/APIC bootup.
- Forward port 2.4 fix: ioperm was changing the wrong io ports in some
cases.
- Minor cleanups
- Some cleanups in pageattr.c (still buggy)
- Fix some bugs in the AGP driver.
- Forward port from 2.4: mask all reserved bits in debug register in
ptrace. Previously gdb could crash the kernel by passing invalid
values.
- Security fix: make sure FPU is in a defined state after an
FXSAVE/FXRSTOR exception occurred.
- Eats keys on panic (works around a buggy KVM)
- Make user.h user includeable.
- Disable sign compare warnings for gcc 3.3-hammer
- Use DSO for 32bit vsyscalls and dump it in core dumps. Add dwarf2
information for the vsyscalls.
Thanks to Richard Henderson for helping me with the nasty parts of
it. I had to do some changes over his patch and it's currently only
lightly tested. Handle with care. This only affects 32bit programs
that use a glibc 3.2 with sysenter support.
- Security fixes for the 32bit ioctl handlers. Also some simplications
and speedups.
- gcc 3.3-hammer compile fixes for inline assembly
- Remove acpi.c file corpse.
- Lots of warning fixes
- Disable some Dprintks to make the bootup quieter again
- Clean up ptrace a bit (together with warning fixes)
- Merge with i386 (handle ACPI dynamic irq entries properly)
- Disable change_page_attr in pci-gart for now. Strictly that's
incorrect, need to do more testing for the root cause of the current
IOMMU problems.
- Update defconfig
- Disable first prefetch in copy_user that is likely to trigger Opteron
Errata #91
- More irqreturn_t fixes
- Add pte_user and fix the vsyscall ptrace hack in generic code.
It's still partly broken
- Port verbose MCE handler from 2.4
<david-b@pacbell.net>
[PATCH] USB: bugfix endpoint state
This resolves some problems in the endpoint disable
patch I sent recently:
- wasn't un-halting some endpoints
- was clobbering ep0 setup in some cases.
<baldrick@wanadoo.fr>
[PATCH] USB speedtouch: set owner fields
I think I'd better work on my plausible deniability...
<stern@rowland.harvard.edu>
[PATCH] USB: uhci Interrupt Latency fix
Paul:
Okay, I think this patch ought to do the trick. I modified the PM
suspend/resume code so that on buggy motherboards like yours the suspend
routine really does a reset, while on normal motherboards the resume
routine really does a resume. I haven't tried that part out because,
truth to tell, I'm a little scared of doing an APM/ACPI suspend. Not long
ago I walked away from my computer for about a half-hour, leaving 2.5.69
running. When I got back the screen was blank and the machine was totally
non-responsive.
I changed the delays in reset_hc() to use schedule_timeout() rather than
wait_ms(), which should make it more friendly.
Finally, I put the USBCMD_FGR back into wakeup_hc(). The reason for it is
now evident: a wakeup might be the result of a system-initiated event
as opposed to something requested by a device.
<stern@rowland.harvard.edu>
[PATCH] USB: Addition to previous patch needed for PM UHCI
This is the addition needed to make my previous patch for the UHCI
controller work properly with PM suspend/resume.
<david-b@pacbell.net>
[PATCH] USB: net2280, control requests can be deferred
To handle control messaging in contexts other than the
IRQ handler's setup() callback, a bit of automagic needed
to be removed; and some minor bugs fixed.
<acme@conectiva.com.br>
o icmp: cleanups, use C99 array init style, etc
<agrover@groveronline.com>
ACPI: update to 20030522
Found and fixed a reported problem where an AE_NOT_FOUND error occurred occasionally
during _BST evaluation. This turned out to be an Owner ID allocation issue where a
called method did not get a new ID assigned to it. Eventually, (after 64k calls), the
Owner ID UINT16 would wraparound so that the ID would be the same as the caller's and the
called method would delete the caller's namespace.
Implemented extended error reporting for control methods that are aborted due to a
run-time exception. Output includes the exact AML instruction that caused the method
abort, a dump of the method locals and arguments at the time of the abort, and a trace of
all nested control method calls.
Modified the interpreter to allow the creation of buffers of zero length from the AML
code. Implemented new code to ensure that no attempt is made to actually allocate a
memory buffer (of length zero), only a buffer object with a NULL buffer pointer and
length zero. A warning is no longer issued when the AML attempts to create a zero-length
buffer.
Implemented a workaround for the "leading asterisk problem" in _HIDs, _UIDs, and _CIDs.
One leading asterisk is automatically removed if present in all HID, UID, and CID
strings.
Implemented full support for _CID methods that return a package of multiple CIDs. The
AcpiGetObjectInfo interface now returns a device _HID, _UID, and _CID list if present.
This required a change to the external interface to pass an ACPI_BUFFER object as a
parameter, since the _CID list is of variable length.
Fixed a problem with the new AE_SAME_HANDLER exception where handler initialization code
did not know about this exception.
<agrover@groveronline.com>
ACPI: Allow multiple compatible IDs for PnP purposes
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] Fix incorrect enablebits for all AMD and nVidia IDE chipsets.
Fix incorrect enablebits for all AMD and nVidia IDE chipsets.
Author: Vojtech Pavlik
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] Add IDE support for VIA vt8237 southbridge.
Add IDE support for VIA vt8237 southbridge.
Author: Vojtech Pavlik
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] Intel ICH5 basic SATA support
Add Intel ICH5 basic SATA support (from 2.4 by Andre Hedrick)
and as a bonus kill duplicate entry in piix_pci_info[].
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] misc AMD IDE driver fixes
Fix incorrect UDMA100 cable test (by Dave Jones).
Fix compilation warning.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] add hwif->hold flag
Add hwif->hold flag for hotswap interfaces.
Initialize founded hwif in ide_register_hw().
Original patch by Benjamin Herrenschmidt.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] SiS IDE driver fixes
SiS IDE driver fixes by Lionel Bouton:
- support for SiS655
- support for SiS630S/ET UDMA5 mode
- corrected /proc/ide/sis output for ATA133 chipsets
(drives' positions were swapped)
- use of pci_read_config_byte() instead of direct PCI poking
for SiS962+ detection
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] ServerWorks IDE driver update
ServerWorks CSB5 IDE fixes (from 2.4 patches by Duncan Laurie)
- blacklist drives overrunning their FIFOs in UDMA5/6 modes
- add PCI quirk (CSB5 IDE doesn't fully support native mode)
plus sync driver with 2.4 version.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] add hwif->rw_disk callout
Add hwif->rw_disk callout (forward port of 2.4 Alan's work).
"This allows us to remove the PDC4030 special case
and also allows for the 372N clock switch stuff."
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] _IDE_C cleanup
Since ide_get_best_pio_mode() and ide_pio_timings[]
are now properly exported in ide-lib.c, we can remove
dirty include hacks from some legacy drivers.
<paulus@samba.org>
Fix preempt on PPC32 - have to set PREEMPT_ACTIVE when preempting kernel stuff.
<paulus@samba.org>
PPC32: Export a couple of symbols needed by direct rendering modules.
<zippel@linux-m68k.org>
[PATCH] kconfig check fixes
- fix a problem with a unset menuconfig, during the config check it's possible
conf selects the wrong parent menu and the result is an endless loop.
- only changable config symbols are relevant during config check,
otherwise we get another endless loop.
<minyard@acm.org>
[PATCH] IPMI update
- small cleanups to make the spacing consistent
- modifications to the watchdog so it starts the first time
you hit it, not the second.
- Fix for returning the proper value when starting the
sequence number timer.
- Fix a parameter name in the watchdog.
<ak@suse.de>
[PATCH] Make ACPI compile again on 64bit/gcc 3.3
Fix prototypes to match function definitions
<axboe@suse.de>
[PATCH] elevator core update
The noop io scheduler has a data corrupting bug, because q->last_merge
doesn't get cleared properly. So do that in io scheduler core, and
remove the same code from deadline.
Also kill bio_rq_in_between(), it's not used by anyone anymore. rbtrees
are the hot thing these days.
And finally, remove a direct test for REQ_CMD in rq flags, use
blk_fs_request() instead.
<hch@lst.de>
[PATCH] make vt_ioctl ix86isms explicit
sys_ioperm is only implemented on x86 (i386/x86_64). Make the
ifdefs in vt_ioctl.c more explicit so the other architectures can
get rid of their stubs in favour of just using sys_ni_syscall in
the syscall table.
Maybe we should remove it altogether, it looks like remnants from
some very early X386 times (ie the Thomas Roell timeframe).
<torvalds@home.transmeta.com>
Merge gamma driver from DRI CVS, and fix it up for 2.5.x changes.
Whether it works or not is unknown. I don't have the hardware.
<torvalds@home.transmeta.com>
DRI CVS update
- Pass in the "device" to remapping functions
- add radeon CP resume ioctl
- remove warnings and stale DMA debug code
<torvalds@home.transmeta.com>
More files to ignore: mtools.conf
<torvalds@home.transmeta.com>
Make KOBJ_NAME_LEN bigger, since at least the ieee1394 code
has bus ID's that are longer than 16 bytes.
Noted by Ben Collins, who also signed up to fix up some broken
strncpy() users. Sucker!
<torvalds@home.transmeta.com>
Add 'strlcpy()' implementation
<torvalds@home.transmeta.com>
Make driver model use 'strlcpy()' to make sure that all
names are NUL-terminated
Noted by Ben Collins.
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [1/20]
M68k core: Update to the new irq API (from Roman Zippel and me) [1/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [2/20]
M68k Amiga: Update to the new irq API (from Roman Zippel and me) [2/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [3/20]
M68k Apollo: Update to the new irq API (from Roman Zippel and me) [3/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [4/20]
M68k Atari: Update to the new irq API (from Roman Zippel and me) [4/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [5/20]
M68k BVME6000: Update to the new irq API (from Roman Zippel and me) [5/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [6/20]
M68k HP9000/300: Update to the new irq API (from Roman Zippel and me) [6/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [7/20]
M68k Macintosh: Update to the new irq API (from Roman Zippel and me) [7/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [8/20]
M68k MVME147: Update to the new irq API (from Roman Zippel and me) [8/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [9/20]
M68k MVME16x: Update to the new irq API (from Roman Zippel and me) [9/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [10/20]
M68k Q40: Update to the new irq API (from Roman Zippel and me) [10/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [11/20]
M68k Sun-3: Update to the new irq API (from Roman Zippel and me) [11/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [12/20]
M68k Sun-3x: Update to the new irq API (from Roman Zippel and me) [12/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [13/20]
M68k block drivers: Update to the new irq API (from Roman Zippel and me) [13/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [14/20]
M68k char drivers: Update to the new irq API (from Roman Zippel and me) [14/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [15/20]
M68k input drivers: Update to the new irq API (from Roman Zippel and me) [15/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [16/20]
M68k mac drivers: Update to the new irq API (from Roman Zippel and me) [16/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [17/20]
M68k net drivers: Update to the new irq API (from Roman Zippel and me) [17/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [18/20]
M68k parport drivers: Update to the new irq API (from Roman Zippel and me) [18/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [19/20]
M68k SCSI drivers: Update to the new irq API (from Roman Zippel and me) [19/20]
<geert@linux-m68k.org>
[PATCH] M68k IRQ API updates [20/20]
M68k fbdev drivers: Update to the new irq API (from Roman Zippel and me) [20/20]
<geert@linux-m68k.org>
[PATCH] Ataflop fix
Ataflop: fix breakage after recent cleanups
<geert@linux-m68k.org>
[PATCH] Atari Atyfb fixes
Atyfb fixes for Atari (got reversed in 2.5.69):
- Add missing allocation of default_par
- Kill warnings in assignments
<geert@linux-m68k.org>
[PATCH] times must be unsigned long
AFS and RXRPC: times must be unsigned long
<geert@linux-m68k.org>
[PATCH] M68k kill ide_ioreg_t
M68k IDE: kill ide_ioreg_t and q40ide_ioreg_t
<geert@linux-m68k.org>
[PATCH] M68k pte_file
M68k: Add pte_file() for Motorola MMUs (from Roman Zippel):
- Add support for file file offsets in pte's (recycle unused _PAGE_COW bit)
- Move swap macros into the mmu specific header
- Fix swap macros (lowest two bits must be cleared)
<geert@linux-m68k.org>
[PATCH] hosts.c missing config.h
SCSI: hosts.c uses CONFIG_*, hence it needs to include <linux/config.h>
<geert@linux-m68k.org>
[PATCH] M68k sys_ipc ENOSYS
M68k: Fix sys_ipc() to return ENOSYS instead of EINVAL as appropriate.
<geert@linux-m68k.org>
[PATCH] m68k ptrace
M68k: Use ptrace_check_attach instead of doing the checks ourselves (from
Andreas Schwab).
<geert@linux-m68k.org>
[PATCH] dmasound resurrection
Resurrect dmasound:
- Re-add dmasound to the build process
- Update dmasound.h, which got missed in the dmasound update in 2.5.15
- Compile fixes for core, Atari, Amiga Paula, and Q40:
o Update for s/MINOR/minor/g changes
o Add missing <linux/interrupt.h>
o Fix spinlock typo
<geert@linux-m68k.org>
[PATCH] M68k IDE
M68k IDE:
- Update for new-style low-level IDE operations. Since so far no single
m68k platform uses ISA/PCI I/O space for IDE, we always use the `raw' MMIO
versions.
- ATA_ARCH_LOCK was renamed to IDE_ARCH_LOCK
- Define ide_ack_intr() and set IDE_ARCH_ACK_INTR
<geert@linux-m68k.org>
[PATCH] IDE iops clean ups
IDE I/O operations clean ups:
- Kill warning about void return type not being ignored
- Fix comment: Q40/Q60 also has a byte-swapped IDE interface
<geert@linux-m68k.org>
[PATCH] Amifb updates
Amifb: Updates for fbdev changes in 2.5.66 and 2.5.68:
- Last parameter of fb_{fillrect,copyarea,imageblit}() became const
<geert@linux-m68k.org>
[PATCH] M68k raw I/O updates
M68k raw I/O updates:
- Convert raw I/O access macros to inline functions:
o raw_{in,out}s[bw]()
o raw_{in,out}sw_swapw()
- Add raw_{in,out}sl() (needed for IDE)
- Update isa_[im]t_[bw]() for stricter type checking of inline functions
<geert@linux-m68k.org>
[PATCH] Q40/Q60 IDE
Q40/Q60 IDE: Use the standard IDE operations, which are always MMIO on m68k,
but make sure IDE shows up in /proc/ioports (from Richard Zidlicky).
<geert@linux-m68k.org>
[PATCH] HAVE_ARCH_GET_SIGNAL_TO_DELIVER warning
Kill warning about unused static functions if HAVE_ARCH_GET_SIGNAL_TO_DELIVER
is defined.
<geert@linux-m68k.org>
[PATCH] M68k wd33c93_{abort,host_reset}()
Use new wd33c93_{abort,host_reset}() routines introduced in 2.5.67 in the m68k
wd33c93-based SCSI host adapter drivers:
- Amiga A2091 SCSI
- Amiga A3000 SCSI
- Amiga GVP Series II SCSI
- MVME147 SCSI
These drivers still have to implement their own adapter-specific bus_reset()
routines!
<geert@linux-m68k.org>
[PATCH] Atafb bug in #if 0 code
Atafb bug in #if 0 code (from 2.4.x)
<geert@linux-m68k.org>
[PATCH] Obsolete include/asm-ppc/linux_logo.h
Forgot to remove include/asm-ppc/linux_logo.h when integrating the new logo
code.
<viro@www.linux.org.uk>
[PATCH] TIOCCONS fix
This fixes the TIOCCONS race; it's the same as the 2.4 patch except for
a fix for a brown-paperbag bug in it.
<viro@www.linux.org.uk>
[PATCH] cpqarray fixes
This restores the special-case behaviour of open() on the minor 0;
cpqarray allows to open that guy for ioctls even if nothing is
configured. That got broken when gendisk patches went in. Patch
restores the old behaviour by keeping gendisk for the first disk on
controller always registered; instead of unregistering it we set size to
0.
<viro@www.linux.org.uk>
[PATCH] pg.c macroectomy
This removes cpp abuses - same as had been done for pd/pf/pcd.
<viro@www.linux.org.uk>
[PATCH] pg.c Lindent
pg.c fed through Lindent
<viro@www.linux.org.uk>
[PATCH] pg.c macroectomy - part 2
Remove the rest of cpp abuse in pg.c
<viro@www.linux.org.uk>
[PATCH] pt.c macroectomy
Remove cpp abuses - same as had been done for pd/pf/pcd.
<viro@www.linux.org.uk>
[PATCH] pt.c Lindent
pt.c fed through Lindent
<viro@www.linux.org.uk>
[PATCH] switch blk_register_area() to kobject
preparation to cdev-cidr - the lookup mechanism for gendisks is switched
to dealing with disk->kobj instead of disk.
<viro@www.linux.org.uk>
[PATCH] register_chrdev_region() cleanup
register_chrdev_region() sanitized, code in tty_io.c that dealt with it
cleaned up.
<viro@www.linux.org.uk>
[PATCH] kobj_map
code responsible for gendisk lookups taken out in drivers/base and
generalized - now it allows to have a range-based mapping from numbers
to kobjects for given struct subsystem.
<viro@www.linux.org.uk>
[PATCH] cdev-cidr, part 1
New object: struct cdev. It contains a kobject, a pointer to
file_operations and a pointer to owner module. These guys have a search
structure of the same sort as gendisks and chrdev_open() picks
file_operations from them.
Intended use: embed such animal in driver-owned structure (e.g.
tty_driver) and register it as associated with given range of device
numbers. Generic code will do lookup for such object and use it for the
rest.
The behaviour of register_chrdev() is _not_ changed - it allocates
struct cdev and registers it; any old driver will work as if nothing had
changed.
On that stage we only use it during chrdev_open() to find
file_operations. Later it will be cached in inode->i_cdev (and index in
range - in inode->i_cindex) so that ->open() could get whatever objects
it wants directly without any special-cased lookups, etc.
<viro@www.linux.org.uk>
[PATCH] i_cdev/i_cindex
new fields in struct inode - i_cdev and i_cindex. When we do open() on
a character device we cache result of cdev lookup in inode and put the
inode on a cyclic list anchored in cdev. If we already have that done,
we don't bother with any lookups. When inode disappears it's removed
from the list. When cdev gets unregistered we remove all cached
references to it (and remove such inodes from the list). cdev is held
until final fput() now.
<mingo@elte.hu>
[PATCH] support "requeueing" futexes
This addresses a futex related SMP scalability problem of
glibc. A number of regressions have been reported to the NTPL mailing list
when going to many CPUs, for applications that use condition variables and
the pthread_cond_broadcast() API call. Using this functionality, testcode
shows a slowdown from 0.12 seconds runtime to over 237 seconds (!)
runtime, on 4-CPU systems.
pthread condition variables use two futex-backed mutex-alike locks: an
internal one for the glibc CV state itself, and a user-supplied mutex
which the API guarantees to take in certain codepaths. (Unfortunately the
user-supplied mutex cannot be used to protect the CV state, so we've got
to deal with two locks.)
The cause of the slowdown is a 'swarm effect': if lots of threads are
blocked on a condition variable, and pthread_cond_broadcast() is done,
then glibc first does a FUTEX_WAKE on the cv-internal mutex, then down a
mutex_down() on the user-supplied mutex. Ie. a swarm of threads is created
which all race to serialize on the user-supplied mutex. The more threads
are used, the more likely it becomes that the scheduler will balance them
over to other CPUs - where they just schedule, try to lock the mutex, and
go to sleep. This 'swarm effect' is purely technical, a side-effect of
glibc's use of futexes, and the imperfect coupling of the two locks.
the solution to this problem is to not wake up the swarm of threads, but
'requeue' them from the CV-internal mutex to the user-supplied mutex. The
attached patch adds the FUTEX_REQUEUE feature FUTEX_REQUEUE requeues N
threads from futex address A to futex address B.
This way glibc can wake up a single thread (which will take the
user-mutex), and can requeue the rest, with a single system-call.
Ulrich Drepper has implemented FUTEX_REQUEUE support in glibc, and a
number of people have tested it over the past couple of weeks. Here are
the measurements done by Saurabh Desai:
System: 4xPIII 700MHz
./cond-perf -r 100 -n 200: 1p 2p 4p
Default NPTL: 0.120s 0.211s 237.407s
requeue NPTL: 0.124s 0.156s 0.040s
./cond-perf -r 1000 -n 100:
Default NPTL: 0.276s 0.412s 0.530s
requeue NPTL: 0.349s 0.503s 0.550s
./pp -v -n 128 -i 1000 -S 32768:
Default NPTL: 128 games in 1.111s 1.270s 16.894s
requeue NPTL: 128 games in 1.111s 1.959s 2.426s
./pp -v -n 1024 -i 10 -S 32768:
Default NPTL: 1024 games in 0.181s 0.394s incompleted 2m+
requeue NPTL: 1024 games in 0.166s 0.254s 0.341s
the speedup with increasing number of threads is quite significant, in the
128 threads, case it's more than 8 times. In the cond-perf test, on 4 CPUs
it's almost infinitely faster than the 'swarm of threads' catastrophy
triggered by the old code.
<torvalds@home.transmeta.com>
Fix compile warning from Al's chardev cleanups.
<torvalds@home.transmeta.com>
Make cdev infrastructure initialize early
Very early initialization (core_initcall) needs to have the cdev
initialization done. So make it part of the pre-initcall sequence, the
same way the bdev caches were done.
<akpm@digeo.com>
[PATCH] ppc64: 32/64bit emulation for aio
From: Anton Blanchard <anton@samba.org>
PPC64 32/64-bit emulation for AIO.
<akpm@digeo.com>
[PATCH] ppc64: Fix some PPC64 compile warnings
Fix some warnings in the ppc64 build.
Also declare a couple of AIO functions in aio.h rather than aio.c They are
needed for 32-bit emulation support.
<akpm@digeo.com>
[PATCH] ppc64: PPC64 irq return fix
PPC64 irq return fix
<akpm@digeo.com>
[PATCH] ppc64: Squash warning in ppc64 addnote tool
From: David Gibson <david@gibson.dropbear.id.au>
addnote in arch/ppc64/boot (a userspace tool, not kernel code) uses exit()
without including stdlib.h.
<akpm@digeo.com>
[PATCH] ppc64: Squash implicit declaration warning in ppc64
From: David Gibson <david@gibson.dropbear.id.au>
Squash implicit declaration warning in ppc64 align.c
<akpm@digeo.com>
[PATCH] ppc64: do_signal32 warning fix
do_signal32() is used before it is defined, this prototype squashes the
warning.
<akpm@digeo.com>
[PATCH] ppc64: Squash warning in ppc64 xics.c
From: David Gibson <david@gibson.dropbear.id.au>
xics.c uses ppc64_boot_msg() without prototype, this fixes it by inclding
<asm/machdep.h>.
<akpm@digeo.com>
[PATCH] ppc64: Unused variables in ppc64 prom.c
From: David Gibson <david@gibson.dropbear.id.au>
This removes a bunch of unused variables in prom_init(), squashing the
associated warnings.
<akpm@digeo.com>
[PATCH] ppc64: build fix
It needs sched.h for `current'.
<akpm@digeo.com>
[PATCH] ppc64: ioctl32 warning fix
warning: assignment makes pointer from integer without a cast
<akpm@digeo.com>
[PATCH] ppc64: nail warnings in arch/ppc64/kernel/setup.c
two printk warnings
<akpm@digeo.com>
[PATCH] ppc64: arch/ppc64/kernel/traps.c warning fixes
Fix a printk warning
<akpm@digeo.com>
[PATCH] ppc64: more warning fixes
arch/ppc64/kernel/htab.c:105: warning: implicit declaration of function `pSeries_lpar_hpte_insert'
arch/ppc64/kernel/htab.c:109: warning: implicit declaration of function `pSeries_hpte_insert'
<akpm@digeo.com>
[PATCH] tty_io warning fix
Don't assume the size of dev_t: on ppc64 it is unsignedlong and this
generates a printk warning.
<akpm@digeo.com>
[PATCH] siocdevprivate_ioctl warning fix
fs/compat.c: In function `compat_sys_ioctl':
fs/compat.c:324: warning: implicit declaration of function `siocdevprivate_ioctl'
<akpm@digeo.com>
[PATCH] arch/i386/kernel/mpparse.c warning fixes
From: William Lee Irwin III <wli@holomorphy.com>
mpc_apicid is a u8, and MAX_APICS can be 256.
<akpm@digeo.com>
[PATCH] Fix dcache_lock/tasklist_lock ranking bug
__unhash_process acquires the dcache_lock while holding the
tasklist_lock for writing. This can deadlock. Additionally,
fs/proc/base.c incorrectly assumed that p->pid would be set to 0 during
release_task.
The patch fixes that by adding a new spinlock to the task structure and
fixing all references to (!p->pid).
The alternative to the new spinlock would be to hold dcache_lock around
__unhash_process.
- fs/proc/base.c assumed that p->pid is reset to 0 during exit. This is
not the case anymore. I now look at the count of the pid structure for
PIDTYPE_PID.
- de_thread now tested - as broken as it was before: open handles to
/proc/<pid> are either stale or invalid after an exec of a nptl process,
if the exec was call from a secondary thread.
- a few lock_kernels removed - that part of /proc doesn't need it.
- additional instances of 'if(current->pid)' replaced with pid_alive.
<akpm@digeo.com>
[PATCH] APM does unsafe conditional set_cpus_allowed
From: Zwane Mwaikambo <zwane@linuxpower.ca>
kapmd does a conditional check in order to decide whether to set the task's
cpu affinity mask. This can change during runtime, therefore we
unconditionally set it. There is an early exit in set_cpus_allowed if the
current processor is in the allowed mask anyway.
<akpm@digeo.com>
[PATCH] reiserfs: inode attributes support.
From: Oleg Drokin <green@namesys.com>
This is a forward port of 2.4's inode attributes support for reiserfs.
Original implementation for 2.4 was performed by Nikita Danilov.
In order to enable this support, one must use "attrs" mount options, eg:
mount /dev/hda1 /mount/pont -t reiserfs -o attrs
Also either the filesystem must have been created with a recent mkreiserfs
or must have been modified by a recent version of reiserfsck with its
"--clean-attributes" option.
If that is not done, attributes support will not be enabled and a kernel
message will be printed. This is necessary because old kernels left random
garbage in the place where these attributes now live.
These attributes are totally compatible with ext2's ones. You can
manipulate them with chattr/lsattr etc.
Additionally the chattr 'd' option may be used to disable tail packing on a
specific file or a directory tree. (The 'd' option normally means "don't
dump". reiserfs has overloaded it).
<akpm@digeo.com>
[PATCH] xirc2ps_cs irq return fix
From zwane
We shutdown the MAC part of the card and have interrupts disabled, interrupt
gets queued, we reenable interrupts after shutting down device, service the
interrupt, check status and get 0xff from powered down device.
No idea what he's talking about here, but apparently the irq return handling
isn't working out. Just return IRQ_HANDLED all the time.
<akpm@digeo.com>
[PATCH] Fix readdir error return value
From: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
There are a couple of places in the readdir code where it forgets to set
the returned error code to -EFAULT, leaving it at the default -EINVAL.
Fix that up, and rename getdents_callback64.count to "result", which makes
more sense.
<akpm@digeo.com>
[PATCH] Don't remove inode from hash until filesystem has
From: Neil Brown <neilb@cse.unsw.edu.au>
When an NFS request arrives, it contains a filehandle which needs to be
converted to a dentry. Many filesystems use find_exported_dentry in
fs/exportfs/expfs.c. A key part of this on filesystem where a 32bit inode
number uniquely locates a file is export_iget which calls iget(sb, inum).
iget will either:
1/ find the inode in the inode cache and return it
or
2/ create a new inode and call ->read_inode to load it from the
storage device.
export_iget then verifies the inode is really a good inode (->read_inode
didn't detect any problems) and the right inode (base on generation number
from the file handle).
For this to work reliably, it is important that whenever an inode is *not* in
the cache, the on-device version is up-to-date. Otherwise, when read_inode
loads the inode it will get bad data.
For a file that has not been deleted, this condition always holds: a dirty
inode is always flushed to disc before the inode is unhashed.
However for a file that is being deleted this condition doesn't (didn't)
hold. When iput -> iput_final -> generic_drop_inode -> generic_delete_inode
is called we would unhash the inode before calling into the filesytem through
->delete_inode.
So there is a small window between when generic_delete_inode unhashes the
inode, and when ->delete_inode writes something to disc, where a call to
->read_inode (for export_iget) might discover what it thinks is a valid
inode, but is really one that is in the process of being destroyed.
It is this window that I want to close by moving the unhashing to the end of
generic_delete_inode.
<akpm@digeo.com>
[PATCH] slab: account for reclaimable caches
We have a problem at present in vm_enough_memory(): it uses smoke-n-mirrors
to try to work out how much memory can be reclaimed from dcache and icache.
it sometimes gets it quite wrong, especially if the slab has internal
fragmentation. And it often does.
So here we take a new approach. Rather than trying to work out how many
pages are reclaimable by counting up the number of inodes and dentries, we
change the slab allocator to keep count of how many pages are currently used
by slabs which can be shrunk by the VM.
The creator of the slab marks the slab as being reclaimable at
kmem_cache_create()-time. Slab keeps a global counter of pages which are
currently in use by thus-tagged slabs.
Of course, we now slightly overestimate the amount of reclaimable memory,
because not _all_ of the icache, dcache, mbcache and quota caches are
reclaimable.
But I think it's better to be a bit permissive rather than bogusly failing
brk() calls as we do at present.
<akpm@digeo.com>
[PATCH] mark shrinkable slabs as being reclaimable
All slabs which can be reclaimed via VM presure are marked as being
shrinkable, so the core slab code will keep count of their pages.
Except for the one in XFS. It has strange wrapper stuff.
<akpm@digeo.com>
[PATCH] Process Attribute API for Security Modules
From: Stephen Smalley <sds@epoch.ncsc.mil>
This updated patch against 2.5.69 merges the readdir and lookup routines
for proc_base and proc_attr, fixes the copy_to_user call in proc_attr_read
and proc_info_read, moves the new data and code within CONFIG_SECURITY, and
uses ARRAY_SIZE, per the comments from Al Viro and Andrew Morton. As
before, this patch implements a process attribute API for security modules
via a set of nodes in a /proc/pid/attr directory. Credit for the idea of
implementing this API via /proc/pid/attr nodes goes to Al Viro. Jan Harkes
provided a nice cleanup of the implementation to reduce the code bloat.
<akpm@digeo.com>
[PATCH] Process Attribute API for Security Modules (fixlet)
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch, relative to the /proc/pid/attr patch against 2.5.69, fixes the
mode values of the /proc/pid/attr nodes to avoid interference by the normal
Linux access checks for these nodes (and also fixes the /proc/pid/attr/prev
mode to reflect its read-only nature).
Otherwise, when the dumpable flag is cleared by a set[ug]id or unreadable
executable, a process will lose the ability to set its own attributes via
writes to /proc/pid/attr due to a DAC failure (/proc/pid inodes are
assigned the root uid/gid if the task is not dumpable, and the original
mode only permitted the owner to write).
The security module should implement appropriate permission checking in its
[gs]etprocattr hook functions. In the case of SELinux, the setprocattr
hook function only allows a process to write to its own /proc/pid/attr
nodes as well as imposing other policy-based restrictions, and the
getprocattr hook function performs a permission check between the security
labels of the current process and target process to determine whether the
operation is permitted.
<akpm@digeo.com>
[PATCH] /proc/pid inode security labels
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch against 2.5.69-bk adds a hook to proc_pid_make_inode to allow
security modules to set the security attributes on /proc/pid inodes based on
the security attributes of the associated task. This is required by SELinux
in order to control access to the process state accessible via /proc/pid
inodes in accordance with the task's security label.
An alternative approach that was considered was to implement an xattr handler
for /proc/pid inodes. That approach would still require a hook call from the
xattr handler to the security module to obtain an xattr value based on the
task security attributes, so it would add a further level of
indirection/translation. The only benefit of implementing an xattr handler
for the /proc/pid inodes would be that the /proc/pid inode security labels
could then be exported to userspace. However, the /proc/pid inode security
labels are only used internally by the security module for access control
purposes, and userspace access to the full range of process attributes is
already provided via the /proc/pid/attr interface. Consequently, a simple
hook in proc_pid_make_inode seemed preferable.
<akpm@digeo.com>
[PATCH] CONFIG_FUTEX
From: Christopher Hoover <ch@murgatroid.com>
Not everyone needs futex support, so it should be optional. This is needed
for small platforms.
<akpm@digeo.com>
[PATCH] CONFIG_EPOLL
From: Christopher Hoover <ch@murgatroid.com>
Here's a patch to drop some more text/data/bss out of 2.5. This time
the ``victim'' is eventpollfs (epoll).
<akpm@digeo.com>
[PATCH] devpts xattr handler for security labels
From: Stephen Smalley <sds@epoch.ncsc.mil>
This patch against 2.5.69-bk adds an xattr handler for security labels
to devpts and corresponding hooks to the LSM API to support conversion
between xattr values and the security labels stored in the inode
security field by the security module.
This allows userspace to get and set the security labels on devpts
nodes, e.g. so that sshd can set the security label for the pty using
setxattr, just as sshd already sets the ownership using chown.
SELinux uses this support to protect the pty in accordance with the user
process' security label. The changes to the LSM API are general and
should be re-useable by xattr handlers in other pseudo filesystems to
support similar security labeling. The xattr handler for devpts
includes the same generic framework as in ext[23], so handlers for other
kinds of attributes can be added easily in the future.
<akpm@digeo.com>
[PATCH] overcommit root margin
From: Dave Hansen <haveblue@us.ibm.com>
This patch makes vm_enough_memory(), more likely return failure when
overcommit_memory==0 and !CAP_SYS_ADMIN. I'm not sure it's worth having
another tunable just for this.
I also reworked the documentation a bit. It should be a lot clearer to
read now.
<akpm@digeo.com>
[PATCH] net/sunrpc/sunrpc_syms.c typo fix
From: Frank Cusack <fcusack@fcusack.com>
net/sunrpc/sunrpc_syms.c typo fix
<akpm@digeo.com>
[PATCH] add notify_count for de_thread
From: Manfred Spraul <manfred@colorfullife.com>
de_thread is called by exec to kill all threads in the thread group except
the threads required for exec.
The waiting is implemented by waiting for a wakeup from __exit_signal: If
the reference count is less or equal to 2, then the waiter is woken up. If
exec is called by a non-leader thread, then two threads are required for
exec.
But if a thread group leader calls exec, then only one thread is required
for exec. Thus the hardcoded "2" leads to a superfluous wakeup. The patch
fixes that by adding a "notify_count" field to the signal structure.
<akpm@digeo.com>
[PATCH] extend-check_valid_hugepage_range.patch
From: David Gibson <david@gibson.dropbear.id.au>
Renames check_valid_hugepage_range() to is_hugepage_only_range(), which makes
more sense.
<akpm@digeo.com>
[PATCH] misc fixes
- Add an explanation for clearing the focus bit on P4 (zwane)
- __d_path kerneldoc fix (John Levon)
- generic-hdlc documentation fix (Krzysztof Halasa <khc@pm.waw.pl>)
- cmdline_read_proc cleanup (Oleg Drokin)
- remove a couple of unused vars from drivers/ide/pci/hpt366.c
- sound/core/sgbuf.c needs mm.h at least on alpha, for mem_map and other
page stuff. (Ivan Kokshaysky <ink@jurassic.park.msu.ru>)
- Don't use "u32 long" in cs46xx.c (Kevin Puetz <puetzk@puetzk.org>)
- fs/nfs/nfs4xdr.c warning fix: all the `goto out;' statements are
commented away, so comment away the label too.
- net/ipv6/af_inet6.c: remove unused var
- drivers/media/video/bttv-cards.c: jiffies are unsigned long
- drivers/media/video/saa7134/saa7134-cards.c: unused var
- Fix Documentation/Changes comment wrt sparc compiler version
- drivers/pnp/quirks.c needs slab.h for kfree(). (Daniele Bellucci
<bellucda@tiscali.it>)
<akpm@digeo.com>
[PATCH] Documentation for disk iostats
From: Rick Lindsley <ricklind@us.ibm.com>
Here is a file to add to the Documentation/ directory which describes the
disk statistics fields.
<akpm@digeo.com>
[PATCH] Remove floating point use in cpia.c
From: Duncan Haldane <f.duncan.m.haldane@worldnet.att.net>
Gerd Knorr noticed a small use of floating point math in the cpia driver
updates for 2.5.x I sent you a while ago, and this is not allowed in the
kernel.
This was in some code taken essentially verbatim from the Windows cpia
driver released under the GPL by STM inc. that had been incorporated in
the later versions of the cpia drivera sourceforge.
It turns out that the use of floating point was quite inessential, and I've
reimplemented the couple of lines of code involved in integer arithmetic.
<akpm@digeo.com>
[PATCH] rd.c: separate queue per disk
From: Maneesh Soni <maneesh@in.ibm.com>
Provides a separate request queue for each ramdisk instance. Without this,
the kernel oopses when the block later tries to unregister the same set of
kobject things multiple times. This makes rd.c consistent with all other
"disk" devices.
<akpm@digeo.com>
[PATCH] Better fix for ia32 subarch circular dependencies
From: john stultz <johnstul@us.ibm.com>
This is a rework of John's recent change which resolved a circular include
dependency: a function in mach_apic.h requires hard_smp_processor_id() and
hard_smp_processor_id() requires macros from mach_apic.h
So this patch (against bk-current) reverts the previous, and fixes the same
circular dependency in a much cleaner way, by moving a piece of the circular
chain into its own .h file, rather then removing hard_smp_processor_id() and
accessing the apic by hand.
<akpm@digeo.com>
[PATCH] fix drivers/net/ewrk.c memory leak
From: Hollis Blanchard <hollis@austin.ibm.com>
Hi, this was caught by the Stanford memory leak checker a while ago
(2.5.48). If the tmp_stats allocation fails, tmp is not being freed.
<akpm@digeo.com>
[PATCH] fix init/do_mounts_rd.c memory leak
From: Hollis Blanchard <hollis@austin.ibm.com>
Another potential memory leak the Stanford checker caught at 2.5.48: while
closing and opening floppy disks, buf could be allocated and never freed.
<akpm@digeo.com>
[PATCH] two PNP memory leaks
From: Hollis Blanchard <hollis@austin.ibm.com>
Fix two pnp error-path memory leaks, caught by Stanford memory leak checker
circa 2.5.48.
<akpm@digeo.com>
[PATCH] Change mmu_gathers into per-cpu data
From: Martin Hicks <mort@wildopensource.com>
Here is a patch that changes mmu_gathers into a per-cpu resource. It
includes the changes for all arches except ia64. I've sent a separate patch
to David Mosberger for ia64.
<akpm@digeo.com>
[PATCH] arch/i386/kernel/srat.c cast warning fix
From: William Lee Irwin III <wli@holomorphy.com>
Fix "cast to pointer from integer of a different size".
<akpm@digeo.com>
[PATCH] ACPI constant overflow fixes
From: William Lee Irwin III <wli@holomorphy.com>
64-bit ACPI fixes
<akpm@digeo.com>
[PATCH] tulip warning fix
From: William Lee Irwin III <wli@holomorphy.com>
Silence a printk warning.
<akpm@digeo.com>
[PATCH] use update_mmu_cache() in install_page
Tell the arch that install_page() has just added a page into the pagetables.
<Andries.Brouwer@cwi.nl>
[PATCH] namespace.c fix
Yet another one in the namespace.c series.
The code in graft_tree() used to be correct, but the code
err = -ENOENT;
down(&nd->dentry->d_inode->i_sem);
if (IS_DEADDIR(nd->dentry->d_inode))
goto out_unlock;
spin_lock(&dcache_lock);
if (IS_ROOT(nd->dentry) || !d_unhashed(nd->dentry)) {
...
}
spin_unlock(&dcache_lock);
out_unlock:
was made incorrect in 2.5.29 when
err = security_sb_check_sb(mnt, nd);
if (err)
goto out_unlock;
was inserted. It has happened more often that people overlooked
a preexisting setting of err.
<sam@ravnborg.org>
[PATCH] kbuild: Get more focus on warnings
Make the default kernel build less verbose, to make warnings show up
more clearly.
<manfred@colorfullife.com>
[PATCH] credits update
<torvalds@home.transmeta.com>
Do a strlcat() to go with the strlcpy().
<bcollins@debian.org>
[PATCH] A few more strlcpy's for drivers/base/
<bcollins@debian.org>
[PATCH] sound/* strncpy conversion
This does a lot of cleanup for strncpy->strlcpy, replaces some
sprintf/snprintf's aswell. There were only two places where things
weren't straight forward. All-in-all a good cleanup though.
<bcollins@debian.org>
[PATCH] fs/* conversions for strlcpy
I only converted the cases where it was obvious that the intent was to
truncate on overflow. Lots of places for maxpath/readlink type stuff I
left alone.
<bcollins@debian.org>
[PATCH] do_mounts.c strlcpy
Use strlcpy in root_dev_setup()
<gerg@snapgear.com>
[PATCH] return valid vma from get_user_pages for non-MMU systems
A couple of updates for the non-MMU memory managment code:
- declare the overcommit variables
- return a real vma pointer from get_user_pages (it is used by some code)
- correct args to vmap()
<bcollins@debian.org>
[PATCH] Fix snd_seq_queue_find_name()
While going through sound/ for strncpy replacing, I came across this
routine:
/* return the (first) queue matching with the specified name */
queue_t *snd_seq_queue_find_name(char *name)
{
int i;
queue_t *q;
for (i = 0; i < SNDRV_SEQ_MAX_QUEUES; i++) {
if ((q = queueptr(i)) != NULL) {
if (strncpy(q->name, name, sizeof(q->name)) == 0)
return q;
queuefree(q);
}
}
return NULL;
}
I'm _really_ sure that they meant to use strncmp() here instead.
Like this.
<paulus@samba.org>
[PATCH] Fix mac adbhid driver
<benh@kernel.crashing.org>
[PATCH] drivers/ide/ppc/pmac.c compile fix
This patch fixes the build of drivers/ide/ppc/pmac.c.
<rusty@rustcorp.com.au>
[irda] module refcounts in irlan
<scott.feldman@intel.com>
[PATCH] full stop/start on ethtool set speed/duplex/autoneg
* Cleanup ethtool/mii_ioctl sets of speed/duplex/autoneg by
stop/set/start driver to ensure sets stick. Must hold
xmit_lock around stop/start.
<paulus@samba.org>
[PATCH] module owner for ppp_synctty.c
This patch fixes ppp_synctty.c (used for doing PPP over some synchronous
serial HDLC links) so that it sets the owner field of the tty line
discipline it exports, rather than using MOD_INC/DEC_USE_COUNT. This
is more or less from Stephen Hemminger.
Please apply.
Thanks,
Paul.
<paulus@samba.org>
[PATCH] module refcounts for airport driver
This patch takes out the MOD_INC/DEC_USE_COUNT in the airport (Apple
wireless ethernet) driver. The driver already does SET_MODULE_OWNER
on the netdevice, so the MOD_INC/DEC_USE_COUNT are unnecessary and
just cause warnings.
<gerg@snapgear.com>
[PATCH] fix cache settings for m68knommu 5407 CLEOPATRA target
Correct the wrong cache setup used on the CLEOPATRA 5407 based board.
Specifically it enables precise exception mode and write buffering.
Original patch from Alessendra Rubini.
<gerg@snapgear.com>
[PATCH] fix cache settings for m68knommu 5407 MOTOROLA target
Correct the wrong cache setup used on the MOTOROLA 5407 based board.
Specifically it enables precise exception mode and write buffering.
Original patch from Alessendra Rubini.
<gerg@snapgear.com>
[PATCH] fix ColdFire 5407 cache flushing
This fixes some ColdFire 5407 cache bogosity. Previous code was pushing
all cache lines and the invalidating all of the cache. The push should
be enough, and now with underlying fixes the the cache setup registers
it is. Removed the whole invalidate cycle.
Original patch cam from Allessandro Rubini.
<Andries.Brouwer@cwi.nl>
[PATCH] change get_sb prototype
(i) The prototypes for free_vfsmnt(), alloc_vfsmnt(), do_kern_mount()
so far occurred in several individual c files. Now they are in
<linux/mount.h>.
(ii) do_kern_mount() has a third argument name that is typically a
constant. It is called with "rootfs", "nfsd", type->name,
"capifs", "usbdevfs", "binfmt_misc" etc. So, it should have a
prototype that expresses this:
do_kern_mount(const char *fstype, int flags, const char *name, void *data);
This makes the ugly cast
- return do_kern_mount(type->name, 0, (char *)type->name, NULL);
+ return do_kern_mount(type->name, 0, type->name, NULL);
go away. Now do_kern_mount() calls type->get_sb(), so also get_sb()
must have a const third argument. That is what the patch below does.
If I am not mistaken, precisely two filesystems do not treat this
argument as a constant, namely afs and cifs. A separate patch
gives some cleanup there.
<bcollins@debian.org>
[PATCH] kernel/* strlcpy conversion
<gerg@snapgear.com>
[PATCH] add dummy VMALLOC_ defines to m68knommu
Add dummy VMALLOC_START and VMALLOC_END defines to m68knommu architectures.
Some code in the proc filesystem breaks without them now.
<gerg@snapgear.com>
[PATCH] update m68knommu link script with 5282 support
This patch does a couple of things to the m68knommu common linker
script:
- adds support for the 5282 ColdFire CPU
- fixes broken setup for the Dragon Engine board
<gerg@snapgear.com>
[PATCH] update m68knommu defconfig
This patch updates the defconfig for the m68knommu architecture.
<gerg@snapgear.com>
[PATCH] lock xtime struct in m68knommu/ColdFire timers
This patch adds appropriate locking around updates of the xtime
structure for the m68knommu ColdFire architecture timers.
<gerg@snapgear.com>
[PATCH] calculate microsecond offsets for m68knommu/ColdFire timers
This adds offset calculcation to the m68knommu/ColdFire timers. Allows
microsecond accuracy for gettimeofday and friends.
<gerg@snapgear.com>
[PATCH] m68knommu/5307 check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5307 CPU. This is used by the architecture timer code for
microsecond accurate time calculations.
<gerg@snapgear.com>
[PATCH] m68knommu/5272 check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5272 CPU. This is used by the architecture timer code for
microsecond accurate time calculations.
<gerg@snapgear.com>
[PATCH] m68knommu/5407 check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5407 CPU. This is used by the architecture timer code for
microsecond accurate time calculations.
<muizelaar@rogers.com>
[NET]: post-sysfs netdev cleanup.
<axboe@suse.de>
[PATCH] bio splitting
So here it is, easy split support for md and dm. Neil, the changes over
your version are merely:
- Make a global bio split pool instead of requring device setup of one.
Will waste 8 * sizeof(struct bio_pair) of RAM, but... For 2.6 at least
it has to be a core functionality.
- Various style changes to follow the kernel guide lines.
<torvalds@transmeta.com>
[NETLINK]: Use module_init() in netlink_dev.c
<bcollins@debian.org>
[NET]: strncpy -> strlcpy conversions.
<yoshfuji@linux-ipv6.org>
[IPV4/6]: Common UDP procfs infrastructure.
<yoshfuji@linux-ipv6.org>
[IPV6]: Convert /proc/net/udp6 to seq_file.
<yoshfuji@linux-ipv6.org>
[IPV4/6]: Common TCP procfs infrastructure.
<yoshfuji@linux-ipv6.org>
[IPV6]: Convert /proc/net/tcp6 to seq_file.
<krkumar@us.ibm.com>
[XFRM_USER]: Wrong use of RTM_BASE.
<herbert@gondor.apana.org.au>
[XFRM_USER]: Add XFRM_MSG_UPDPOLICY, analogue of SADB_X_SPDUPDATE.
<bdschuym@pandora.be>
[BRIDGE]: Deal with non-linear SKBs in ebtables.
<jgarzik@redhat.com>
[netdvr tulip] nuke stale defines
Noticed (indirectly) by davej
<davej@codemonkey.org.uk>
[PATCH] Nuke stale comment from bmac
Leftovers from before we used memset to clear the struct.
<davej@codemonkey.org.uk>
[PATCH] Age old cs89x0 register define 'fixes' ?
Remember these? There never was an outcome as to whether or
not their doing the right thing. Any complaints from this being
in 2.4 for nearly a year ?
<davej@codemonkey.org.uk>
[PATCH] fix tlan 64bit check
<davej@codemonkey.org.uk>
[PATCH] xircom init cleanups
<davej@codemonkey.org.uk>
[PATCH] 3c505 printk levels.
<davej@codemonkey.org.uk>
[PATCH] hamachi PCI DMA fix from 2.4
Maintainer fix that went into 2.4 last August with the comments
"Get hamachi net driver RX working again.
Apparently the PCI DMA conversion still has a bug or two left in it..."
<davej@codemonkey.org.uk>
[PATCH] au1000 init cleanups.
Not sure if I incorporated all your feedback on this one last time.
Bug me if not...
<hch@lst.de>
[PATCH] wireless pcmcia updates
the same patch stil applies..
<davem@nuts.ninka.net>
[FUTEX]: Fix kernel/compat.c after requeueing futex changes.
<davem@nuts.ninka.net>
[FUTEX]: Fix kernel/futex.c warning on 64-bit.
<bcollins@debian.org>
[PATCH] arch/* strlcpy conversion
Obvious strlcpy conversions in arch/*. In fact, mips and mips64 had an
actual bug in sys_sysmips(). Confirmed with Keith Wesolowski.
<gerg@snapgear.com>
[PATCH] m68knommu/5206e check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5206e CPU. This is used by the architecture timer code
for microsecond accurate time calculations.
<gerg@snapgear.com>
[PATCH] m68knommu/5249 check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5249 CPU. This is used by the architecture timer code for
microsecond accurate time calculations.
<gerg@snapgear.com>
[PATCH] m68knommu/5206 check timer irq pending
Add a function to allow checking if the timer interrupt is pending for
the m68knommu/5206 CPU. This is used by the architecture timer code for
microsecond accurate time calculations.
<gerg@snapgear.com>
[PATCH] m68knommu: add configuration options for ColdFire 5282 support
<gerg@snapgear.com>
[PATCH] m68knommu: ColdFire 5282 support Makefile changes
<gerg@snapgear.com>
[PATCH] m68knommu: add ColdFire 5282 support setup
<gerg@snapgear.com>
[PATCH] moew ColdFire 5282 support
Add ColdFire 5282 support to common ColdFire header file.
<gerg@snapgear.com>
[PATCH] add m68knommu/5282 specific Makefile
<gerg@snapgear.com>
[PATCH] add m68knommu/5282 config init code
This creates specific ColdFire/5282 configuration initialization.
<gerg@snapgear.com>
[PATCH] add m68knommu/5282 start up code
Start up code for the M5282C3 Motorola ColdFire 5282 evaluation board.
New architecture and board for the m68knommu architecture branch, though
it is not very different to most existing ColdFire eval boards.
<gerg@snapgear.com>
[PATCH] create SIM header definitions for ColdFire 5282
Create header definitions file to support the ColdFire 5282 CPU.
Unfortunately its register layout and setup is quite different
to previous ColdFire CPU family members.
<gerg@snapgear.com>
[PATCH] include SIM header for ColdFire 5282
Modify the common SIM header for all ColdFire CPU's to incldue the
new 5282 ColdFire defines.
<gerg@snapgear.com>
[PATCH] add support for the DMA of the ColdFire 5282
Add DMA base addresses for the ColdFire 5282 CPU.
<gerg@snapgear.com>
[PATCH] create header support for the ColdFire 5282 PIT timer
Create a header file to support the PIT timer of the ColdFire 5282 CPU.
This timer is completely different to all previous ColdFire timers.
<gerg@snapgear.com>
[PATCH] add pit timer for m68knommu/5282 CPU support
This code supports the PIT timer of the 5282 ColdFire.
This new timer device is completely different to the previous ColdFire
timer device.
<jgarzik@redhat.com>
[netdrvr bonding] add 802.3ad support
Contributed by Intel, with updates by
Jay Vosburgh @ IBM (bonding maintainer)
<levon@movementarian.org>
[PATCH] OProfile: flush work queue on shutdown
My previous fix was incomplete, we could get the same thing happening
on the init-failure path. Fix that.
<levon@movementarian.org>
[PATCH] OProfile: minimize sample error
The code that attempts to reset last_task and in_kernel has a race
against samples appearing during the handling of the buffers, that
causes a small number of mis-attribution of samples. Closing the
window is non-obvious, and not worth it, so we just make it smaller.
Even without the patch, there seem to be few such "bad" samples
because its effects are mitigated on a switch into userspace or
a task switch.
<levon@movementarian.org>
[PATCH] OProfile: timer usage override
A patch mostly by Will Cohen, adding a parameter to OProfile to
over-ride use of the perfctr hardware. Useful for testing and
a host of other things.
<levon@movementarian.org>
[PATCH] OProfile: fix stale comment
<levon@movementarian.org>
[PATCH] OProfile: fix d_path() usage
d_path() can return -ENAMETOOLONG these days. Pass it upstream.
<jgarzik@redhat.com>
[netdrvr bonding] minor merge/kbuild fixes
<jgarzik@redhat.com>
[netdrvr tulip] fix bogus merges
<gerg@snapgear.com>
[PATCH] rework timer code used for different m68knommu/ColdFire CPU's
Rework the m68knommu/ColdFire/5307 Makefile to build the correct
timer code for each of the different ColdFire CPU types.
<gerg@snapgear.com>
[PATCH] add support for 5282 ColdFire to the ColdFire serial header
Add support for the 5282 ColdFire to the common ColdFire serial
driver header. Also added the additional registers of the 5272,
they are used to setup a more accurate baud rate timers
<gerg@snapgear.com>
[PATCH] ColdFire serial driver support for 5282 ColdFire
This adds support for the ColdFire 5282 to the ColdFire serial driver.
Only a few small changes, notably the interrupt setup is a little
different. Also removed some dead code.
<gerg@snapgear.com>
[PATCH] allow FEC driver config to be used with ColdFire 5282
The ColdFire 5282 CPU also uses the Motorla FEC ethernet core, allow if
to be selected for that config.
<gerg@snapgear.com>
[PATCH] FEC driver updates to support the ColdFire 5282 CPU (header)
For reasons only Motorola will ever know they decided to use a
substantially different register layout for the FEC ethernet device on
the 5282 ColdFire silicon. This defines an appropriate access structure
for it.
<gerg@snapgear.com>
[PATCH] remove crt0_fixed.S from m68knommu DragonEngine2 target
Remove crt0_fixed.S from m68knommu DragonEngine2 setup.
No longer required.
<gerg@snapgear.com>
[PATCH] fix m68knommu DragonEngine2 target setup code
Numerous fixes for the m68knommu DragonEngine2 setup code.
It was out of date relative to more recent kernels. Original patches
from Georges Menie.
<gerg@snapgear.com>
[PATCH] remove crt0_himem.S from m68knommu DragonEngine2 target
Remove crt0_himem.S from m68knommu DragenEngine2 config.
It is no longer required.
<gerg@snapgear.com>
[PATCH] single start file for m68knommu DragonEngine2 target
Start code for m68knommu DragonEngine2 target is now all in crt0_ram.S.
This patch moves all the code into this one file.
<gerg@snapgear.com>
[PATCH] remove crt0_rom.S from m68knommu DragonEngine2 target
Remove crt0_rom.S from m68knommu DragonEngine2 target config.
It is no longer required.
<bcollins@debian.org>
[PATCH] drivers/* strlcpy conversions
Well, this is it for me and strlcpy. I'll leave the rest of the
non-obvious usages of strncpy to the kernel janitors. Seems like quite a
few uses really wanted memcpy instead, but I don't have time to
investigate them all. It does appear that nearly all strncpy's will be
removable. Obsoleting strncpy will probably atleast make the remaining
few think about how they are using it.
This is the patch for my trip through drivers/*.
<mingo@elte.hu>
[PATCH] signal latency improvement
This further optimizes the 'kick wakeup' scheduler feature:
- do not kick any CPU on UP
- no need to mark the target task for reschedule - it's enough to send an
interrupt to that CPU, that will initiate a signal processing pass.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] IDE: fix "biostimings" and legacy chipsets' boot parameters interaction
"biostimings" cannot be hardcoded to -19, make it -8.
Code in ide_setup() assumes that everything <= -11 is a legacy
chipset name, so fe. "ide0=ali14xx ide0=biostimings" will fail
while "ide0=biostimings ide0=ali14xx" will be okay.
<B.Zolnierkiewicz@elka.pw.edu.pl>
[PATCH] Probe legacy IDE chipsets in ide_init() instead of in ide_setup()
Legacy here means pdc4030, ali14xx, umc8672, dtc2278, ht6560b and qd65xx.
They cannot be probed and initialized at a boot parameters' parsing time,
because probing code depends on not yet ready kernel subsystems.
This change also fixes boot parameters' ordering issue, fe. you could
pass "ide0=dtc2278 ide0=noautotune" and "noautotune" was catched too late.
<torvalds@home.transmeta.com>
We need <linux/highmem.h> for PKMAP_BASE
<schwidefsky@de.ibm.com>
[PATCH] s390: arch fixes.
Base s390 bug fixes:
- arch: Do create_proc_entry for debug feature outside spin locked code.
- arch: Fix system call tracing for 64 bit kernels.
- arch: Export empty_zero_page for use in binfmt_elf32 module.
- arch: Fix call trace output and remove dead remote-debug code.
- arch: Correct OUTPUT_ARCH for 64 bit compiles.
- arch: Fix in_atomic.
- arch: Fix broken _PAGE_INVALID_xxx definitions.
- arch: Add __kernel_old_dev_t for 64 bit.
- arch: adapt to new do_fork interface.
- arch: set CR5 to get program checks for space switching instructions.
- cio: Fix /proc output of blacklist ranges.
- cio: Restructure chsc to avoid GFP_KERNEL allocation while holding a lock.
- cio: Fix wait_cons_dev.
- qdio: use GFP_ATOMIC for memory allocations in interrupt.
<schwidefsky@de.ibm.com>
[PATCH] s390: inline assemblies.
Optimize s390 inline assemblies.
<schwidefsky@de.ibm.com>
[PATCH] s390: module alias support.
Add module alias support for ccw devices.
<schwidefsky@de.ibm.com>
[PATCH] s390: steal lock support.
cio: Add code to break a reservation of a device (steal lock).
<schwidefsky@de.ibm.com>
[PATCH] s390: module count.
Remove unnecessary MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT pairs.
<schwidefsky@de.ibm.com>
[PATCH] s390: 31 bit compat.
s390 32 bit compatability fixes:
- Fix compat entries in the system call table.
- Update to new compat_ioctl mechanism.
- Define compat_alloc_user_space.
<schwidefsky@de.ibm.com>
[PATCH] s390: block device drivers.
s390 block device driver fixes:
- dasd: Don't continue on error in dasd_increase_state. Use hex_ascii view
for the dasd debug area. Fix typo.
- xpram: Fix setup of devfs_name.
<schwidefsky@de.ibm.com>
[PATCH] s390: console device drivers.
s390 console driver fixes:
- Register console ttys via module_init. Remove sclp_tty_init and
tty3215_init from tty_io.c
- con3215: use set_current_state.
- sclp: Fix race condition in sclp interrupt handler. Fix deadlock on
sclp_conbuf_lock for certain error conditions.
<schwidefsky@de.ibm.com>
[PATCH] s390: tape device driver.
Bug fixes for the s390 tape device driver:
- Remove tapechar_init() from mem.c. It is called via module_init anyway.
- Remove unnecessary #include <version.h>
- Make tape_block compile. Add fixme.
- Export symbols needed by tape discipline drivers.
<schwidefsky@de.ibm.com>
[PATCH] s390: network device drivers.
s390 network device driver fixes:
- Make use of SET_MODULE_OWNER.
- Fix ctc interrupt handler.
<Andries.Brouwer@cwi.nl>
[PATCH] kill lvm from parisc
CONFIG_BLK_DEV_LVM is gone, but there is still some associated code.
This is the parisc part.
<Andries.Brouwer@cwi.nl>
[PATCH] kill lvm from x86_64
CONFIG_BLK_DEV_LVM is gone, but there is still some associated code.
This is the x86_64 part.
<Andries.Brouwer@cwi.nl>
[PATCH] some typos
<Andries.Brouwer@cwi.nl>
[PATCH] kill ide-geometry
I consider myself the maintainer of this code, created the file,
want to destroy it again. It is unused and incorrect today.
<Andries.Brouwer@cwi.nl>
[PATCH] kill lvm from compat_ioctl.h
CONFIG_BLK_DEV_LVM is gone, but there is still some associated code.
This is the include/linux/compat_ioctl.h part.
<gerg@snapgear.com>
[PATCH] configure boot params for m68knommu
Add a config entry for defining static boot parameters
for m68knommu architecture.
<gerg@snapgear.com>
[PATCH] make common m68knommu/68328 specific ints.c
Modify the m68knommu/68328 specific ints.c to be the general ints
handler when building for this sub-architecture. It is just simpler to
have one for each sub-architecture (which means we currently need 3
for the 3 prominant m68knommu families). Each can handle the hardware
setup differences, and there is a few at this level. This doesn't
really add much code overall, since 2 of the 3 m68knommu architectures
already had significant specific int handling code.
<gerg@snapgear.com>
[PATCH] don't call 68328 specific int setup
No longer need to call the hardware specific int setup.
This is now done in the common int handler for 68328
sub-architecture.
<gerg@snapgear.com>
[PATCH] don't call 68328 specific int setup (in 68VZ328)
No longer need to call the 68328 specific int setup. Now all
done by the common 68328 int handler code.
<rusty@rustcorp.com.au>
[PATCH] const char* to char* update in console.h
From: Amit Shah <shahamit@gmx.net>
The read function for consoles in include/linux/console.h contains const
char* for a pointer that it will actually modify. Although no one seems
to be using this as of now, it should be corrected.
<rusty@rustcorp.com.au>
[PATCH] reorganize for unreachable code
From: Scott Russell <scott@pantastik.com>
- moved return to eliminate unreachable code reported by kbugs.org
<rusty@rustcorp.com.au>
[PATCH] better debug macro safety
From: Rusty Russell <rusty@rustcorp.com.au>
I don't think it's misused anywhere, but it's better to be safe.
Pointed out by Joern Engel.
<rusty@rustcorp.com.au>
[PATCH] DMA-API typo
From: Jonathan Corbet <corbet@lwn.net>
This fix has been acked by James Bottomley, but has not risen above Linus's
threshold.
<rusty@rustcorp.com.au>
[PATCH] update the short description for BLK_DEV_HPT366
From: Adrian Bunk <bunk@fs.tum.de>
The following trivial patch updates the short description for
BLK_DEV_HPT366 (the HPT372 and the HPT374 are supported, too):
<rusty@rustcorp.com.au>
[PATCH] unreachable code in fs_intermezzo_methods.c
From: Scott Russell <scott@pantastik.com>
- Rearranged unreachable code reported at kbugs.org
<rusty@rustcorp.com.au>
[PATCH] add help texts for sound_oss_Kconfig
From: Steven Cole <elenstev@mesatop.com>
This is a slightly improved version of the additional help texts for
sound/oss/Kconfig. The originals were obtained from 2.4.21-pre4.
<rusty@rustcorp.com.au>
[PATCH] remove unneeded #define LinuxVersionCode from eata.c
From: Adrian Bunk <bunk@fs.tum.de>
the patch below removes the unneeded #define LinuxVersionCode from
eata.c. It's not used and if it was needed KERNEL_VERSION in
include/linux/version.h does the same.
<rusty@rustcorp.com.au>
[PATCH] MAINTAINERS update for SN support
From: Jesse Barnes <jbarnes@sgi.com>
Quick add to the maintainers file for SN (aka Altix 3000) support in
the kernel.
<rusty@rustcorp.com.au>
[PATCH] Remove unused GFP_DMA from include_sound_trident.h
From: Matthew Wilcox <willy@debian.org>
These defines are simply not used any more.
<rusty@rustcorp.com.au>
[PATCH] unreachable code in drivers_media_video_cpia_pp.c
From: Scott Russell <scott@pantastik.com>
- Rearranged unreachable code reported via kbugs.org
<rusty@rustcorp.com.au>
[PATCH] NAPI_HOWTO.txt typo + interrupt fix
From: Jonathan Corbet <corbet@lwn.net>
This fixes a couple of little mistakes in Documentation/NAPI_HOWTO.txt;
I also updated the interrupt handler stuff while I was at it. Jamal Hadi
Salim has seen and acked it.
<rusty@rustcorp.com.au>
[PATCH] Self-promotion and minor docs updates
From: Pavel Machek <pavel@ucw.cz>
This fixes url in ioctls, fixes some kernel parameters, kills comment
in tty that is 10+ years old and wrong, and adds me a little
credits.
<rusty@rustcorp.com.au>
[PATCH] missing release_region in drivers_cdrom_cm206.c
From: Scott Russell <scott@pantastik.com>
- missing release_region (reported by kbugs.org)
- removed extraneous return (Randy Dunlap)
<rusty@rustcorp.com.au>
[PATCH] Better docs for boot-up code
From: Pavel Machek <pavel@ucw.cz>
This adds some more commentary to the boot-up code.
<rusty@rustcorp.com.au>
[PATCH] proper APIC suspension
From: Pavel Machek <pavel@ucw.cz>
<rusty@rustcorp.com.au>
[PATCH] Allow for architectures to override
From: Stephen Rothwell <sfr@canb.auug.org.au>
This allows some architecture to override the generic implementations
on {get,put}_compat_flock64 as some of them (ia64 and maybe x86_64)
will take alignment faults when accessing the loff_t members of struct
compat_flock64.
Requested by David Mosberger, modified by Dave Miller.
<rusty@rustcorp.com.au>
[PATCH] kernel_suspend.c compile warning
From: Pavel Machek <pavel@ucw.cz>
This kills a compile warning in swsusp
<rusty@rustcorp.com.au>
[PATCH] Make videodev_proc_destory() __exit
From: Tom Rini <trini@kernel.crashing.org>
The following marks videodev_proc_destory as __exit.
This is safe as its only caller is marked as __exit as well.
<rusty@rustcorp.com.au>
[PATCH] Cleanup in fs_devpts_inode.c
From: René Scharfe <l.s.r@web.de>
This un-complicates a small piece of code of the dev/pts filesystem
and decreases the size of the object code by 8 bytes for my build.
Yay! :)
<rusty@rustcorp.com.au>
[PATCH] fs_autofs4_root.c unused variable
From: Rusty Russell <rusty@rustcorp.com.au>
Trivial unused var...
<rusty@rustcorp.com.au>
[PATCH] Typo in isofs_inode.c
From: René Scharfe <l.s.r@web.de>
this fixes a trivial error in isofs/inode.c, and reformats
the surrounding code a bit to (hopefully) enhance clarity.
i_mtime.tv_nsec was initialized twice, and i_ctime.tv_nsec never
<rusty@rustcorp.com.au>
[PATCH] sx tty_driver add .owner field remove MOD_INC_DEC_USE_COUNT
From: Hanna Linder <hannal@us.ibm.com>
<torvalds@home.transmeta.com>
Linux v2.5.70