Na serwerach Kernel.org można już znaleźć kernel w wersji 2.5.70. Od wydania 2.5.69 upłynęło sporo czasu, ale ogrom poprawek usprawiedliwia tę zwłokę. Tradycyjnie zapraszamy do testowania i podsyłania raportów o błędach…
Summary of changes from v2.5.69 to v2.5.70 ============================================[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. [PATCH] patch: remove unnecessary proc stuff from controller struct [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. Forward port of 2.4 ppc64 signal changes. Forward port of 2.4 ppc64 /proc/ppc64/systemcfg changes Catch illegal FP use within the kernel since it can cause data integrity errors in userland code. fix cpuid to physical id needed in 2.5 Need to turn on RI immediately after we get control from firmware as well as when secondary cpus are started. ppc64: add autofs ioctl and clean up a prototype ppc64: xics cleanup add #ifdef CONFIG_XMON around a XMON variable reference ppc64: clean up some cpu feature checks ppc64: add spinlock to chrp_progress ppc64: fix NR_syscalls slip up ppc64: fix for recent module changes [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. ppc64: return ENOSYS for unknown IPC call ppc64: restore hex progress code ppc64: Fix for outside of range sensor states, from John Rose [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. [SCTP] Add wrappers for sctp with no crypto support. Change the callback argument for aic brace option parsing to u_long to avoid casting problems with different architectures. 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. 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. [SCTP] Various code cleanup. More typedef removals and naming consistency. Remove sctp_association_t, sctp_endpoint_t, & sctp_endpoint_common_t. ppc64: segment misses from userspace must pass through do_page_fault ia64: Fix typos/whitespace related to serial code. [SCTP] Enable SctpChecksumErrors stat Aic79xx Driver Update o Correct failed-wait recovery code so that the controller's registers will not be accessed without pausing the controller first. [SCTP] Add a generic csum_copy for sctp. Do the sctp checksum while copying. [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. ia64: Patch by Alex Williamson: forward port of the 2.4 sba_iommu. ia64: Merge Alex Williamson's sba_iommu patch. Various small 2.5.67 fixes. ia64: Make sba_iommu get detected early enough again. ppc64: use panic_on_oops sysctl ppc64: use dma-window from deepest device tree node, from Dave Engebretsen [SCTP] getsockname()/getpeername() support for TCP-style sockets. [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. [SCTP] Use GFP_ATOMIC, while we holding the local_addr_lock. [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. [PATCH] ia64: small ACPI fix This fix is needed to boot on Intel-based machines. [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. ia64: Update platform INIT handler to print a backtrace. [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. ia64: Export hp_acpi_csr_space() for modules. ia64: Consolidate backtrace printing in a single routine (ia64_do_show_stack()). 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(). Driver model: doc updates. From Geert Uytterhoeven kobject: Add better debugging for failed registrations. From Steve Hemminger (shemminger@osdl.org) 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). 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. [SCTP] shutdown() support for TCP-style sockets. ia64: Patch by Arun Sharma: In brl_emu.c, a 64 bit value was being assigned to an int. [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 ? [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. [PATCH] ia64: sba_iommu workaround removal This removes a workaround for some broken firmware that was never released. [PATCH] ia64: sba_iommu vendor/function for unknown IOCs Include id when encountering unknown IOC. [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. ppc64: chrp_progress() updates from Olof Johansson ppc64: ethtool -e support, from Olof Johansson [SCTP] Handle accept() of a CLOSED association. [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. [SCTP] Fix sctp_sendmsg error path when associate fails. [SCTP] Return a readable event when polling on a TCP-style listening socket with a non-empty accept queue. [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? [SCTP] Add SCTP_MAXSEG sockopt. We'll fragment (if fragmentation not disabled) to the min of maxseg or PMTU allowance. [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. ppc64: update ppc64 to new IRQ API from Andrew Morton ppc64: fix some compile warnings, from Andrew Morton ppc64: Fix some things that got backed out in the systemcfg merge ppc64: Add loop_get_status64/loop_set_status64 [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. [SCTP] Fix regression in mark_missing. (Ardelle.Fan) Followup patch by Ardelle. ppc64: Andrew Morton is picking on me 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 subsys tem. Aic7xxx and Aic79xx Driver Update o Correct channel information in our /proc output. 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. 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. Aic7xxx and Aic79xx driver Update o Fix style nits. 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. 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. 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. ACPI: Update to 20030424 - Remove an unused parameter from lowlevel read/write functions - FADT initialization cleanups Aic79xx Driver Update o Correct "Unexpected PKT Busfree" error observed under high tag loads. 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. 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. ppc64: remove numa_node_exists, from Martin Bligh aic7xxx_osm.h, aic7xxx_osm.c, aic79xx_osm.h, aic79xx_osm.c: Remove pre-2.2.X kernel support. ppc64: clear up the cpu<-> node mappings, and cache them, from Matt Dobson Aic79xx and Aic7xxx driver Update o Fix build on 2.5.X Aic7xxx and Aic79xx Driver Updates o Adapt to new IRQ handler declaration/behavior for 2.5.X [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. [AGPGART] Hammer GART can use generic enable routines now. [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 :) [AGPGART] Remove unneeded enums from intel gart driver. [AGPGART] Remove unused ALi enums. [AGPGART] Remove stale comment [AGPGART] Fix typo in via-agp. s/PM400/P4M400/ [AGPGART] Remove useless enums from serverworks gart driver [AGPGART] Remove unneeded enums from AMD k7 gart driver [AGPGART] More setup routine -> static struct conversions. Again from Christoph Hellwig. [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. [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. [AGPGART] Makefile cleanups. - the makefile is not the right place to describe the driver - remove some junk [AGPGART] Remove unneeded settings of bridge->type. It's now done in the static structs. [AGPGART] Add symbolic constants for AGP mode setting. bye bye icky hardcoded values. [AGPGART] Add more defines to kill off hardcoded values [AGPGART] Don't configure agp bridges more than once if there is >1 of them. [AGPGART] use symbols instead of hardcoded values in generic-3.0 Lots more work to do here. [AGPGART] Convert several functions to return void. They only ever returned a single value. [AGPGART] Fall back to non-isochronous xfers if setting up isochronous xfers fails. [AGPGART] Fix typo that stopped nvidia GART driver being built [AGPGART] EXPORT_SYMBOL cleanups. Also move the global_cache_flush routine to generic.c [AGPGART] Move function description comments from headers to the code they document. [AGPGART] kdoc'ify some of the function header comments. [AGPGART] Move function prototypes to headers. [AGPGART] Misc backend source tidy up. [AGPGART] Remove semaphore abstraction. [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. [AGPGART] Fix kconfig dependancies. - Don't show x86 GARTs on alpha [PATCH] i2c: fix oops on startup of it87 driver. [SCTP] sctp_sendmsg() updates for TCP-style sockets. [AGPGART] fix macros that expect agp_bridge in global scope From Christoph Hellwig [AGPGART] cleanup agp backend.c a bit More from Christoph. Most style nitpicks and a bit more explicitly passing struct agp_bridge_data around. [AGPGART] Nvidia GART cleanups. Chri stoph 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. [AGPGART] Add back dummy module exit to keep things happy. [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:) [AGPGART] give all agpgart drivers a ->remove pci method. You guessed it, yup. from Christoph again. [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. [AGPGART] Fix Kconfig typo [AGPGART] Shrink chipset_type enum (compile fix) Missing part of hch's last cset. ppc64: remove iomem_resource.end hack Fix cifs_show_options to display mount options in a way that is more consistent with other filesystems [AGPGART] Fix linking error. [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. [CPUFREQ] Acer Aspire's have broken PST tables in one BIOS rev. DMI blacklist it. [ARM] Miscellaneous minor fixes. - comment fixes - remove unnecessary asm/proc-fns.h include - fix buggy compiler version traps [SCTP] Free up data chunks that don't get accepted by primitive_SEND. Fix memory leak. [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 ===== [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. [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.. [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. [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. [PATCH] fix scsi_debug compile warning spin_lock_irqsave takes an unsigned long. [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. [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. [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. [PATCH] move max_sectors intitalization fully to scsi_register Addresses the fixme in scsi_alloc_queue. [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 [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? [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). Compile fix for scsi_syms.c I had to add an include of scsi_logging.h to compile with logging configured: [PATCH] i2c: i2c-keywest.c irq handler type This patch changes the interrupt handler routine in i2c-keywest.c to return an irqreturn_t. i2c: fix up the MAINTAINERS i2c entry Removed the dead web page and email address, and merged with the sensors entry and added myself. [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. [SCTP] Initialize missing ipv4 fields of a AF_INET6 accept socket. [SCTP] SO_LINGER socket option for TCP-style sockets. [Bluetooth] Compile fix for URB_ZERO_PACKET This patch fixes the compile problem with URB_ZERO_PACKET. [AGPGART] Add some debugging printk's. Based on Linus' earlier patch. [CPUFREQ] Remove not needed ;'s from macro definitions. [AGPGART] Bulletproofing. NULL ptrs after freeing them. ppc64: ioctl32 updates [AGPGART] Remove duplicate code in i810/i830 alloc_by_type functions. [AGPGART] Fix incorrect type warning. [AGPGART] Move debugging macros to he ader so they can be used in other parts of agpgart. [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 [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. [PATCH] update NCR_D700 for new-style probing Pretty big patch and untested due to lack of hardware, so handle it with care :) Fix NCR_D700 driver This should complete the hch conversion to the new style probing. Tested and works fine. Aic79xx Driver Update (version 1.3.8) o Correct a few BE processor bugs o Print an additional diagnostic during recovery processing Update Aic79xx and Aic7xxx Documenation Aic7xxx Driver Update (6.2.33) o Correct MODULE_INFO string. o Bump version number. [PATCH] USB: replace kdev_t with int in usb_interface structure, as only drivers with the USB major use it. [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. [AGPGART] missing %p in debug printk [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. ppc64: rework fast SLB miss handler castout code ppc64: firmware flash fix from Olof Johansson Cset exclude: linux-usb@gemeinhardt.info|ChangeSet|20030429230539|30870 [PATCH] USB: vicam: fix bugs in writing to proc files that were found by the CHECKER project [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! [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. [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. [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. [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.. Aic7xxx Driver Update o Fix Aic7xxx driver locking in the AHC_SCSI_HAS_HOST_LOCK == 0 case. Aic7xxx and Aic79xx Driver Updates o Misc compiler error and code cleanups. Aic7xxx and Aic79xx Driver Update o Build with -Werror [SCTP] Use prepare_to_wait()/finish_wait() interfaces. [AGPGART] Intel I875P support. From Matt Tolentino. o ipx headers: Coding Style code reformatting [NET]: Use dump_stack in neigh_destroy. [NET]: Fix typo in previous neighbour.c change. [DECNET]: Add netfilter subdir for decnet and add the routing grabulator. [PPP]: Rest of compression module changes, oops. [ATM]: mpc.c warning fixes. [NETFILTER IPV6]: Fix warnings. [AGPGART] Disable debugging printk's again. With the 'AGP bug' solved, we don't need this noise for a while... o list.h: implement list_for_each_entry_safe o ipx: convert ipx_interface handling to use list_head [SCTP] Use put_user() in get_peer_addr_params (reported by yjf@standford.edu) Standford Checker reported direct touch of user space. [AGPGART] Skip devices with no AGP headers sooner. 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. [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. [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. [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. [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 ) - Kill unused last parameter of async_set_registers() [PATCH] USB speedtouch fix Missing header file. Please apply. [PATCH] USB: unusual_devs.h patch PCI dynids - documentation fixes, id_table NULL check [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 :) [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 [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(-) [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(-) [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(-) [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(-) pci.h whitespace cleanups [SCTP] Support SCTP ECN on ipv6. o ipx: convert ipx_route to use list_head [IPSEC]: Fix SADB_EALG_{3,}DESCBC values. [ATM]: Fix some CPP pasting in ambassador driver. [ATM]: Fix excessive stack usage in iphase driver. [ATM]: svcs possible race with sigd. [FS]: Add seq_release_private and proc_net_fops_create helpers. [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 [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. [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. [NETFILTER]: ip_nat_proto_{icmp,udp}.c need ip_nat_core.h [IPV6]: Kill spurious module_{get,put}(). [BLUETOOTH]: Fix hci_usb build. [IPV6]: Fix offset in ICMPV6_HDR_FIELD messages. [IPV^]: Use correct icmp6 type in ip6_pkt_discard. [SPARC64]: Only use power interrupt when button property exists.