Summary of changes from v2.6.0-test2 to v2.6.0-test3 ============================================ ppc64: remove all request_irq calls that occur before kmalloc is set up usr: Create objectfile for usr filesystem using .incbin Patch originally by HJ Lu. The filesystem was previously embedded in a .o file using ld. Embedding the filesystem using ld broke as a result ia64 and maybe more architectures. The better way to do this is to use the .incbin feature, as already used for vsyscall for i386. .incbin has the advantage that ELH header is correct, as required by ia64 - and maybe other archs. This change will break architectures relying on binutils older than 2.11.90.0.23 released on 2001-07-14. Most notably arm will break in some configurations due to this. The rationale behing introducing .incbin is that ia64 needs this change and the .incbin feature has been present in binutils for a number of years now. arm will thus have to catch up with binutils - or patch usr/Makefile to stay compatible with the 2.5 kernel. The definition of LDFLAGS_BLOB removed for all architectures - it was obsoleted by this change. Except for arm - that may require it due to the tool compatibility issue. fs/Makefile: Eliminate ifneq Patch by Matthew Wilcox Eliminate ifneq by introducing a kbuild style assignment whitespace -> tabs bk: Ignore drivers/scsi/aic7xxx/aic7xxx_reg_print.c kbuild/doc: Grammatical errors corrected Thanks to Riley Williams kbuild: Added CONFIG_DEBUG_INFO When CONFIG_DEBUG_INFO is set to Y, -g will be added to CFLAGS. Several architectures already put -g in CFLAGS, often via a patch to the top-level makefile. This option is put in the kernel hacking menu, guarded by CONFIG_DEBUG_KERNEL. Added CONFIG_DEBUG_INFO in Kconfig for the architectures that already had CONFIG_DEBUG_KERNEL arch/um: Renamed CONFIG_DEBUGSYM to CONFIG_DEBUG_INFO kbuild/doc: Delete obsolete documentation files commands.txt Content was not updated for a long time, and README includes the same info random.txt make help includes the same info (in compressed format) docbook: Added support for generating man files Originally by Michael Still This patch adds two new targets to the docbook makefile -- mandocs, and installmandocs. The targets require two new perl scripts in the scripts/ directory, but in return we get a series of man pages for kernel functions, which are installed in man section 9. This is a good thing, as many programmers expect documentation to be available with man, and hunting through various PS or PDF documents to find the documentation for the function you want can be quite frustrating. The man pages are just extracted from the various existing DocBook SGML documents, which are generated by kernel-doc. You also need to have docbook2man installed on your machine. Please note the formatting is not perfect, but I will tweak other stuff later with further patches -- this is just an initial implementation. Sample output (HTMLised) can be found at http://www.stillhq.com/linux/mandocs/2.5.68/ and http://www.stillhq.com/linux/mandocs/2.5.70/ kbuild/doc: Delete instructions about running make dep Patch from: YOSHIFUJI Hideaki make dep is obsolete - so remove it from the documentation at various places kbuild: Let 'make help' point to README Documentation/kbuild are now limited to kernel development information, so there is no point asking people to look there, when searching information about building the kernel. Pinting to README makes most sense kbuild: Updated/moved around comments in top-level Makefile kbuild: Allow architectures to change CPPFLAGS In some cases (notably ia64) changes to CPPFLAGS is needed, and relevant both for AS and CC. Make sure changes to CPPFLAGS propagate back to CFLAGS and AFLAGS kbuild: Fix 'make -jN' warning. make doesn't recognize itself that it does a recursive call, so we have to use a leading '+' to let it know. (reported by Steven Cole) [PATCH] I2C: fix Kconfig info kbuild: [PATCH] fix in-kernel genksyms for parisc symbols James Bottomley: > The problem is that the parisc libgcc.a library contains symbols that > look like $$mulI and the like, but genksyms doesn't think $ is legal for > a function symbol, so they all get dropped from the output. This means > that inserting almost any module on parisc taints the kernel because > these symbols have no version. > > The fix (attached below) was to allow $ in an identifier in lex.l (and > obviously to update the _shipped files as well, but my flex/bison seem > to be rather different from the one they were generated with, so I'll > leave that to whomever has the correct versions). [lex.c_shipped is updated within this cset, too] kbuild: Fix .config dependency generation Patch from Roman Zippel, add a lost call to file_write_dep() back into the kconfig system, which creates the dependency list for .config. [ARM] Update ARM ethernet drivers - Forward-port ETH_ZLEN fixes from 2.4 - Add AM79c961A link status detection - Add AM79c961A Tx byte accounting ppc64: Fix any_online_cpu for > 32 cpus, mask must be unsigned long [PATCH] I2C: convert via686a temp_* to milli degree celsius Forgot to send this. This converts the i2c chip driver via686a to handle milli degree celsius instead of centi degree celsius. Applies for temp_input, temp_min, temp_max. ppc64: clear error_code in do_page_fault on an SLB miss ppc64: add div64 for 32bit boot wrapper Do not include linux/version.h, avoid massive recompilations Correct the maxbytes sb value for non-pagesize filesystem block sizes, and all uses of max file size constant within XFS [PATCH] I2C: timer clean up for i2c-keywest.c On Tue, 2003-07-08 at 12:26, Benjamin Herrenschmidt wrote: > On Mon, 2003-07-07 at 09:03, Paul Mackerras wrote: > > This patch changes i2c-keywest.c to use mod_timer instead of a > > two-line sequence to compute .expires and call add_timer in 3 places. > > Without this patch I get a BUG from time to time in add_timer. > > Ok, here it is. It also remove the never used "polled" mode. The > driver is now in sync with the more up-to-date 2.4 version ;) > > Sorry for not sending that earlier, I forgot about it and didn't > notice it was out of sync. And just in case you didn't merge it yet... Here's a version changing the timer->expire ; add_timer() pairs into calls to mod_timer, makes the code slighly cleaner. [CPUFREQ] update Documentation - the path to sysfs changed - add the cpufreq_driver.owner requirement - clarify another paragraph [CPUFREQ] Fix compilation of speedstep-ich.c if SPEEDSTEP_DEBUG is set. From Dominik [CPUFREQ] Longrun validate can fail. From Dominik Instead of trying to guess what the user intended, fail if the user requests a setting which is not supported by the longrun driver. [CPUFREQ] Locking fixes [1/11] First part in a series of patches from Dominik which clean up the locking in cpufreq. It sort of worked, but is full of races. But to keep it working at least as well it works now, add a new spinlock cpufreq_driver_lock which will be what cpufreq_driver_sem intended to be -- but it can indeed be a spinlock instead of a semaphore. This driver adds proper protection for struct cpufreq_driver *cpufreq_driver which can only go away during cpufreq_unregister -- block this by increasing the driver's module reference count. [CPUFREQ] Locking fixes [2/11] As the per-CPU initialization can fail, we need to deal with this situation in cpufreq_remove_dev as the sysdev core doesn't (yet) do this for us. The solution: add a "struct cpufreq_policy *cpufreq_cpu_data[NR_CPUS]" array, which has a NULL pointer for each CPU not managed by cpufreq (yet) and a pointer to the per-CPU data for each CPU managed by cpufreq. It is locked by cpufreq_driver_lock. [CPUFREQ] Fix locking [3/11] Change the return value of cpufreq_cpu_get from a nondescriptent int to struct cpufreq_policy*. This will allow for cleaner code - and later it will be expected that anyone who grabs a reference by calling cpufreq_cpu_get must return this struct cpufreq_policy* to cpufreq_cpu_put. [CPUFREQ] Fix locking [4/11] Make cpufreq_remove_dev a bit more readable. Also, assure that the GOV_STOP and the cpufreq_driver->exit() call are indeed the last calls done. [CPUFREQ] Fix locking [5/11] Make cpufreq_set_policy a bit more readable by storing the CPU's cpufreq_policy into a pointer. [CPUFREQ] Fix locking [6/11] Change the function parameter of cpufreq_cpu_put to struct cpufreq_policy *. [CPUFREQ] Fix locking [7/11] Finally implement the two different cpufreq_driver_target callbacks -- the one called while the per-CPU lock is held, the other while not. While we're at it, clean up cpufreq_governor. [CPUFREQ] Fix locking [8/11] Split up cpufreq_governor into a locking and non-locking variant. [CPUFREQ] Fix locking [9/11] Use the per-CPU policy->lock to lock the per-CPU "policy" data. Also, use it to serialize the setting of new frequency policies on each CPU. [CPUFREQ] Fix locking [10/11] Remove the final instances of the now-deprecated cpufreq_driver_sem. Also, the previous "one-frequency change at one moment" limitation is gone. If it's needed by the cpufreq driver, it should be implemented in its cpufreq_driver->{target,setpolicy} callback. [CPUFREQ] Fix locking [11/11] Implement per-CPU memory allocation. Is a bit cleaner than the previous "once and for all" approach. [CPUFREQ] speedstep_ICH new frequency notification fix. Correct the notification of the cpufreq core of the new frequency being set in ich's speedstep_set, and print accurate debug info in this function. (both bugs noted by Valdis Kletnieks, thanks!) [CPUFREQ] Sanity checks for voltage scaling in longhaul driver. [PCMCIA] Fix suspend for yenta_socket and i82092. pcmcia_socket_dev_suspend() should be called with SUSPEND_SAVE_STATE if the level is unknown. [AGPGART] Handle Intel chipsets whose BIOS has 'forgotten' to assign resources. From Hamish Coleman. The HP NetServer E60 being a 'server' decided it didn't need to set up the GART. With this patch, it becomes usable again. [AGPGART] Fix Nforce modular compilation. I really don't like exporting this, but right now its the cleanest way. It will go away at some point. [CPUFREQ] Update MAINTAINERS/CREDITS Dominik doesn't want maintainership any more (besides him still doing lots of great work on it. 8-) [CPUFREQ] Sparse __user annotations for acpi driver. [CPUFREQ] Fix sparse warnings in powernow-k7 [CPUFREQ] sparse __user annotation for cpufreq userspace interface. [CPUFREQ] longhaul printk cleanups - missing KERN_INFO's - Use PFX. [CPUFREQ] Better handling of revisionKey bits on Longhaul. We aren't supposed to blindly copy them from another part of the same register, but instead, only program them with values we know about. [CPUFREQ] Move MSRs from powernow-k7.h to include/asm-i386/msr.h [CPUFREQ] Remove CVS idents. These are totally pointless as most of the development is now done either in bitkeeper, or patches directly to mainline. [CPUFREQ] Move rdmsrl/wrmsrl to include/asm-i386/msr.h [CPUFREQ] Clean up longhaul MSR usage using bitfields. [XFS] remove extra locking which was folded into the xfs extended attribute calls - we do not need this. SGI Modid: 2.5.x-xfs:slinx:153279a [CPUFREQ] Convert Longhaul v1 over to bitfields too. [XFS] Ensure the VFS doesn't rip the inode out from beneath us when doing unwritten extent conversion SGI Modid: 2.5.x-xfs:slinx:153113a [XFS] Use C99 initializers on sysctl structs SGI Modid: 2.5.x-xfs:slinx:152435a Encapsulate the setting and clearing of PF_FSTRANS around xfs transactions. This is used to protect against nested transactions which can cause deadlocks. Also ensures we keep the state set for the duration of a chain of rolling transactions. [XFS] Avoid doing the page->mapping->host dereferences twice on writepage SGI Modid: 2.5.x-xfs:slinx:152717a [XFS] Fix couple of issues in max file size calculation, print big fs setting too SGI Modid: 2.5.x-xfs:slinx:152972a [XFS] Cleanup empty/noaddr pagebuf initialisation; particularly for buffers used for log IO - no longer allocate buffers for data device then reset target, gets it right from the start. SGI Modid: 2.5.x-xfs:slinx:153115a Cset exclude: davej@codemonkey.org.uk|ChangeSet|20030715115826|58980 [XFS] Max file size tweak for LBD - if LBD enabled on 32 bit platforms slightly bigger files are possible SGI Modid: 2.5.x-xfs:slinx:153108a [CPUFREQ] Fix detection of Transmeta CPUs. Makes longrun work again. [CPUFREQ] Fix compiler warnings in msr macros. [CPUFREQ] Use standard types in wrmsrl [XFS] Fix the resvsp/truncate interaction problem that mikes@av.com reported SGI Modid: 2.5.x-xfs:slinx:153351a [CPUFREQ] Update documentation. From Dominik. JFS: Missed some non-negative error return codes [power] Create drivers/power/ Move kernel/suspend.c -> drivers/power/swsusp.c [power] Move process suspension functions to their own file. - Now in drivers/power/process.c - Make those functions only dependent on CONFIG_PM, not CONFIG_SOFTWARE_SUSPEND. [power] Move saved_context_* variables. - From arch/i386/kernel/suspend_asm.S to arch/i386/kernel/suspend.c - Allows usage by both swsusp and ACPI independently on one another. [power] Make CONFIG_ACPI_SLEEP and CONFIG_SOFTWARE_SUSPEND independent. - Each dependent on CONFIG_PM only. - From Pavel Machek. [power] Remove duplicate target. JFS: fine-grained xattr locking Since the getxattr and listxattr iops no longer hold the i_sem, we can move the xattr locking into another semaphore. This allows us to simplify much of the xattr and acl code that went to lengths to avoid recursively setting i_sem. ppc64: Add semtimedop ppc64: Add posix timers, tgkill, utimes, statfs64. lookup intents part 2 [PATCH] I2C: add ncforce2 i2c bus driver Ported from lmsensor's cvs tree [PATCH] I2C: minor cleanups to the i2c-nforce2 driver. [PATCH] I2C: consolidate the i2c delay functions. o wl3501: introduce iw_mgmt_info_element & associate functions and enums Also aimed at inclusion on the core wireless extensions, with this we are closer to 802.11 specs with regards to frame management elements stuff. Next patches will deal with other elements that are done in a raw way such as the phys parameter set (DS in this driver). o wl3501: use iw_mgmt_info_element for phy_pset (now ds_parameter_set) Clarifying stuff is good: with this I have fixed a bug in join, where the element id and size were not being set... longstanding one, since original driver times... o wl3501: fix set_essid wireless extension, using the flags for any o wl3501: fix bug in iw_mgmt_info_element id field and more . unfortunately we can't use enum iw_mgmt_info_element_ids for the id field in iw_mgmt_info_element, as it has to be u8 and sizeof(enum) is bigger than that, but we use the enum in the relevant functions to help catch invalid elements being used. . also we can't have iw_mgmt_info_element with a fixed size data field, as it is variable as per the 802.11 specs, so I do a poor man's OOP by subclassing iw_mgmt_info_element into the standard element types. Done up to now with iw_mgmt_essid_pset and iw_mgmt_ds_pset, others will follow. o wl3501: introduce iw_mgmt_ibss_pset o wl3501: introduce struct iw_mgmt_cf_pset Just for completeness, it is included in the mgmt frames, but not used in this driver, i.e. it may well be that this driver supports contention free service, but the original driver had no use for it at all. o wl3501: introduce iw_mgmt_data_rset and rate labels enum o wl3501: implement {get,set}_scan wireless extensions set_scan still needs to trigger a scan, but for now doing something that resets the card, like iwconfig eth0 mode ad-hoc triggers a scanning, and even without that we report the last scan results, good enough for now 8) But it will be implemented, don't worry! :-) o wl3501: add a first cut, lazy scan triggering for set_scan o MAINTAINERS: add acme as wl3501 maintainer Also add Niemeyer to CREDITS for his work on early stages of wireless extensions support for the wl3501 card. ALSA update 0.9.5 - global - updated #ifdefs for sequencer and gameport - removed more "compatibility" code - PCM OSS interface - implemented POST ioctl - fixed read() semantics according original OSS API - AC'97 codec - separated code for specific codecs - added wolfson specific defines - AD1848 - added workaround for thinkpad notebook - EMU10K1 - fixed emufx ioctls - HDSP - updated driver - YMFPCI - added joystick code - USB driver - updated - intel8x0 - added ALI chipset support - ice1712 - fixed initialization for EWS cards kbuild: List deps on generated files in drivers/video/logo/Makefile Dependencies on generated files need to be listed explicitly - in this case, make would actually guess right anyway, but then remove the intermediate files again, causing spurious rebuilds. kbuild: Add relocation information into .lst file A little known feature is "make some/file.lst" which will generate an assembler dump interspersed with the source code, and now with decoded relocation information as well. cifs enablement for lookup intents (new 2.5 create/lookup flags) final part fix create/open/lookup to use namei intent flags. Enable oplock and packet signing Add an IO completion handler to the direct_IO path to allow the initiator to take an action at completion time. XFS uses this to ia64: Two small fixes to make ia64 build & work again. Rework XFS read/write path so that there is one common read and one common write path for all the different I/O variants. This means we can now support true async I/O. Change XFS to support sector aligned O_DIRECT rather than filesystem block alignment. [XFS] Scale default number of log buffers based on memory size SGI Modid: 2.5.x-xfs:slinx:153273a Make the permission operation in xfs conditional on ACLs being compiled in Only add bytes read into the stats if we did not get an error [NET]: illegal --> invalid [IPSEC]: Use per-SA flag to control ECN propagation. [SPARC64]: Mark more things __init in kernel/pci.c [IPSEC]: Fix SKB secpath refcounting. When a secpath is COWed, we lose reference to the states. ppc64: add asm/sections.h [SPARC64]: Make sure to reject all PCI DAC dma masks. [SPARC64]: In schizo driver, if virtual-dma property exists, respect it. ALSA 0.9.6 update - added __setup() to all midlevel modules - sequencer protocol 1.0.1 - added timestamping flags for ports - OSS PCM emulation - fixed write() behaviour - added two new options no-silence & whole-frag - a try to fix OOPSes caused in the rate plugin - emu10k1 driver - more support for Audigy/Audigy2 EX - fixed soundfont locking - sb16 driver - fixed fm_res handling (and proc OOPS) - via82xx driver - fixed revision check for 8233A - usbaudio driver - added a workaround for M-Audio Audiophile USB ALSA update - removed empty hammerfall_mem.c file - added MAKEDEV.snd script [ATM]: Remove -g option from driver directory CFLAGS. [ATM]: Update LANAI driver to modern PCI and DMA APIs (from mitch@sfgoth.com) [SPARC]: Add local.h and sections.h headers. ppc64: defconfig update [IGMP]: linux/igmp.h needs asm/byteorder.h [WATCHDOG] I810_TCO info in Kconfig Change Kconfig info about I810_TCO so that it is clear that this watchdog works for the i8xx series of chipsets and not only the i810 and i815 chipsets. [WATCHDOG] Cleanup of Kconfig file for the watchdog drivers. Cleanup of Kconfig file for the watchdog drivers. This clean-up exists of: * change the general comment so that it mentions watchdog device and not character device * correct some module-names * remove double-entry for W83877F_WDT * change Documentation/modules.txt to for consistency Use i_size_read and i_size_write instead of direct access to the i_size field. [WATCHDOG] make wdt_pci.c independant of wdt.c [BRIDGE]: Mailing list is at osdl.org now. [VLAN]: Allow it to compile with VLAN_DEBUG enabled. [VLAN]: Convert VLAN procfs stubs to no-ops. [VLAN]: Convert over to seq_file. [NET]: Fix bugs in sch_htb packet scheduler. - get rid of annoying messages in non-debug mode - handle case where childs queue is empty suddenly [RANDOM]: Fix SMP deadlock in __check_and_rekey(). ia64: Add forgotton . Fix a couple of pagebuf end cases, in particular, deal with block device which is not correctly initialized and do not submit a bio to it - that trips a BUG. [XFS] Change any references to legal/illegal into valid/invalid - apparently this was bad, mkaay? SGI Modid: 2.5.x-xfs:slinx:154430a [XFS] Catch read-only filesystems in xfs_setattr, and return EROFS SGI Modid: 2.5.x-xfs:slinx:152528a [wireless airo] fix Tx race [wireless airo] safer shutdown sequence changes the card shutdown sequence to a safer one [wireless airo] eliminate infinite loop makes sure a possible (never happened, but just in case) infinite loop in the transmission code terminates. [wireless airo] makes the card passive when entering monitor mode [wireless airo] adds support for noise level reporting (if available) [PATCH] USB: fix stupid kobject coding error with regards to struct usb_interface Added a release callback, as is required, otherwise we can easily oops if a user grabs a sysfs file and the device is removed from the system. [PATCH] USB: core cleanups for struct usb_interface changes Also set usb_device.dev.release right after initialization to catch any early devices being destroyed. I still think there's a few error paths to correct, but this catches a lot of previous errors. [PATCH] USB: changes due to struct usb_interface changing from a pointer to an array of pointers. [PATCH] ia64: Kconfig cleanup Fix oops in cifs mkdir when server fails to return inode info after successful mkdir [PATCH] USB: Audit usb_register in drivers/usb/class/audio.c [PATCH] USB: Audit usb_register() in drivers/usb/misc/emi26.c [PATCH] USB: Audit usb_register() in drivers/usb/input/wacom.c [PATCH] USB: Audit usb_register in drivers/usb/input/xpad.c [PATCH] USB: Audit usb_register() in drivers/usb/input/usbkbd.c [NET]: Add missing memory barriors for __LINK_STATE_RX_SCHED handling. [PATCH] USB: Audit usb_register() in drivers/usb/input/aiptek.c [IPV4] IPVS missing stats locking in estimation_timer() [IPV4] IPVS: sanity check of threshold setting and code tidy up [ATM]: remove EXACT_TS remove from zatm (untested) [ATM]: use set_current_state(x) (from bellucda@tiscali.it) Fix oops in cifs reopen files (restoring state after server comes back from failure) [PPP]: Fix ppp_async xon/xoff handling. [NET]: Need to export secpath_dup to modules. Move from fsid_t to __kernel_fsid_t, fixes ia64 build [PATCH] USB: Proper I/O buffering for the shuttle_usbat subdriver This patch makes the shuttle_usbat subdriver use proper DMA I/O buffering. Although I try to be careful with these changes, I can't test them. So I urge you to read through it carefully to verify that nothing seems to be wrong. [PATCH] USB: usb audio, remove garbage warning There are two places where the audio driver checks for endpoint-less interfaces, but the second one doesn't filter out a garbage warning (without this patch). Likely it'd be better to remove these warnings from the driver, and maybe just place them in usbcore if they'd ever be useful. But this at least gets rid of one class of "is this device broken" questions. [PATCH] USB: Fix irq problem in hcd_endpoint_disable() The recent change made to the irq handling in hcd_endpoint_disable() caused a problem. The statement local_irq_save (flags); needs to be outside the rescan loop. Otherwise, on loop iterations after the first, flags is always set to indicate that interrupts are disabled. In fact, since the routine ends with might_sleep() anyway, I don't see any reason to save the interrupt state at all. My patch just disables interrupts at the start and enables them at the end. I'm not sure that's how you intended it to work, so you may want to change it a little. [PATCH] USB: remove improper use of devinitdata markings for device ids. [PATCH] USB: Compile AX8817x driver From mru@users.sourceforge.net This trivial Makefile patch causes the AX8817x driver to actually be built. [PATCH] USB: AX8817x (USB ethernet) problem in 2.6.0-test1 From mru@users.sourceforge.net My Netgear FA120 USB2 ethernet adaptor isn't working properly with Linux 2.6.0-test1. First off, I had to modify it slightly (patch below) to make it work at all with USB2. Now I can send data at the full expected speed (~11 MB/s). USB: fix bug if open() fails in usb-serial device. [PATCH] USB: remove funny characters from visor driver after much prodding. [PATCH] USB: ehci needs a readb() on IDP425 PCI (ARM) This is a one-line "obviously correct" patch that Lutz reports is needed on one ARM platform. [PATCH] USB: bluetty: remove write_urb_pool logic, fixing locking issues. Now we just throw urbs at the device as fast as we can. [PATCH] USB: error return codes in usblp an unknown ioctl shall return ENOTTY, not EINVAL. [PATCH] USB: Audit usb_register in usbmouse_init() [PATCH] USB: Audit usb_register() in drivers/usb/net/catc.c Cset exclude: greg@kroah.com|ChangeSet|20030730200104|44589 [PATCH] USB: usbnet: zaurus c-750, motorola This patch: - Makes the cdc code handle a Motorola cable modem that stores CDC descriptors in the wrong place. The workaround might be helpful for other hardware too. (This was a 2.4 regression.) - Recognizes another Zaurus (PXA 255 based clamshell, not yet sold by Sharp in the US). - Cleaned the Zaurus stuff up a bit. Rather than expecting a new driver_info struct (or re-using the right one) for each new pxa based product, they all use the same one. So patches for new products only need new usb_device_id entries. (Also notes the issue that every Zaurus model will need to be blacklisted for CDC if the Z code isn't enabled.) [PATCH] USB: fix memory leak in auerswald driver. Thanks to Joilnen Leite for pointing this out. [PATCH] USB: cleanup of usblp (release and poll) this cleans up locking and freeing in usblp_release and poll. [PATCH] USB: fix race condition in usblp_write - fix timeout handling [PATCH] USB: ehci-hcd, TT fixup I noticed that some cases where USB produced lots of TT messages were clearly wrong, since the transactions completed cleanly (with a stall) and the TT buffer cleanup is only supposed to be needed when a CSPLIT transaction fails (for control or bulk). This patch makes the TT buffer cleanup happen only in the rarer cases where there was an error that might really need it. [PATCH] USB: visor.h[c] USB device IDs documentation [PATCH] USB: AX8817x mii/ethtool fixes among others This patch: Adds the Intellinet device IDs Adds msg_level support (to be utilized in the future) Fixes ethtool/mii support so link checking actually works Changed timeout on usb_fill_int_urb to support High Speed (mru@users.sf.net) Added devdbg/err/info defines borrowed from usbnet Changed strlcpy to strncpy Key issue not currently resolved (as brought up by mru@users.sf.net) is that the receive performance is terrible on OHCI. I ran a set of tests with ttcp and transmit performance achieved 6146.16 KB/sec but receive only yielded 466.26 KB/sec which really sucks (sorry for the technical jargon). In porting the driver to 2.5 I had to pull the transmit queueing that Tivo had originally used for the driver to even function. My initial attempts at pulling the receive queueing met with many Ooopses thus I backed off. Looks like I will need to dig in again on that one. [PATCH] USB: ax8817x.c - Fix flags to greatly increase rx performance The attached patch fixes the flags used on the receive URBs and greatly increases throughput (especially on EHCI). On EHCI before the patch, receives came in around 460KB/s and after I am in the 10-11MB/s range which is about the same speed I am able to achieve using my Intel nics. Now transmit is actually the bottleneck on EHCI (only getting around 6MB/s). [PATCH] USB: PWC 8.11 Attached are two patches, one for 2.4.21 and 2.5.75 for the PWC driver. I assume the 2.5.75 patch will go into 2.6.0-test* without problems (I hope this driver can make it into the kernel before the 'real' 2.6.0). From the ChangeLog: * 20 dev_hints (per request) * Hot unplugging should be better, no more dangling pointers or memory leaks * Added reserved Logitech webcam IDs * Device now remembers size & fps between close()/open() * Removed palette stuff altogether I have two open issues, though: Oliver Neukem pointed out that I should resubmit URBs in the 2.5. kernel even in case of USB errors, which I did. However, I never got a patch so I'm not 100% if this is the solution that he had in mind. Second... I've been thinking long and hard about the problem of properly deregistering the video device when the cam gets unplugged while it is in use. Various schemes failed; immediately deregistering while in the disconnect routine causes crashes because the videodev layer sets some pointer to null but still uses it later. A deregister in close() causes hangs because of locked mutexes... My current implemententation is to set an errorflag in the disconnect routine, then wait there (using schedule()) until close() is being called (I assume the application will immediately close the device when it gets a serious error). So far it doesn't crash :-) [PATCH] USB: Rename usb_connect() to usb_choose_address() This revised patch includes the change that David Brownell asked for. It renames usb_connect() to usb_choose_address(), no longer exports the function, and adds equivalent functionality to usb_register_root_hub(). It also removes the unnecessary (and incorrect) assignment to bMaxPacketSize0. Oplock flag reversed in create path [NET]: Do not call request_irq with spinlock held in sungem.c [ATM]: fix a typo in net/atm/Makefile (from eguaj@free.fr) [NET]: Fix rtnetlink symbol exports when INET is disabled. [NET]: Add likely/unlikely to pskb_may_pull. [NETFILTER]: Put netfilter Kconfig options into dedicated submenu. [NETFILTER]: Fix use after free of skb in nf_reinject(). [SPARC64]: Use i2c/media Kconfigs instead of hardcoding. [I2C]: ELV and VELLEMAN depend upon ISA. [DVB]: 64-bit fixes for skystar2.c - Need to include linux/init.h and asm/io.h - Use unsigned long for io_mem and io_port - Print pointers using %p format specifier [DVB]: Fix pointer-->int cast in dvb_net.c [DVB]: Fix pointer-->int cast in budget-patch.c [DVB]: saa7134.h needs asm/io.h [MEDIA]: Fix pointer-->int cast in saa5249.c [MEDIA]: Make read operations return correct ssize_t in {c-qcam,bw-qcam,w9966}.c [MEDIA]: Make VIDEO_PMS depend upon ISA. [MEDIA]: Make read method return ssize_t in cpia.c [MEDIA]: bttvp.h needs asm/io.h [MEDIA]: Fix u64 printing in bttv driver. [MEDIA]: bttv-cards.c needs linux/vmalloc.h [SPARC64]: Update defconfig. [SPARC64]: Use Makefile to control dec_and_lock.o building not in-file ifdefs. [CPUFREQ] Remove deprecated email address. JFS: write_super_lockfs should mark superblock clean LVM and EVMS snapshots of JFS filesystems were not mountable because write_super_lockfs was not marking the volume as clean. The volume was otherwise in a consistent state. [netdrvr bonding] update docs [netdrvr bonding] fix ifenslave build on ia64 Forward port from 2.4. [tokenring ibmtr_cs] fix build, due to missing ibmtr.c build Note: Better fix is needed. Contributed by Mike Phillips. [PATCH] USB: added support for TIOCM_RI and TIOCM_CD to pl2303 driver and fix stupid bug. Thanks to Paulo Marques for finding this. [PATCH] PCI: pci_device_id can not be marked __devinitdata. Fixes up sound/* [PATCH] PCI: pci_device_id can not be marked __devinitdata. Fixes up drivers/atm/* drivers/block/* drivers/char/* and drivers/video/* [PATCH] PCI: pci_device_id can not be marked __devinitdata. Fixes up drivers/net/* [PATCH] PCI: pci_device_id can not be marked __devinitdata. Last straggler in arch/mips/* [PATCH] PCI: pci_device_id can not be marked __devinitdata. fixes up drivers/i2c/* drivers/ide/* and drivers/ieee1394/* [PATCH] PCI: pci_device_id can not be marked __devinitdata. Fixes up drivers/input/* drivers/isdn/* drivers/media/* drivers/mtd/* drivers/parisc/* drivers/pci/* drivers/parport/* drivers/scsi/* and drivers/serial/* [PATCH] remove a dead EXPORT_NO_SYMBOLS (R Krishnakumar) [PATCH] more typo fixes (Steven Cole) [PATCH] dont assume newer cpus have the same magic registers (Venkatesh Pallipadi@intel) [PATCH] more arch typo/illegal->invalid fixes (Steven Cole) [PATCH] docs for updated sk98 from vendor [PATCH] kill an old __NO_VERSION__ (Adrian Bunk( [PATCH] re-enable SiS direct render ((Gaƫl Le Mignot) [PATCH] console on by default if not embedded (save mucho pain) (Andi Kleen) [PATCH] more typo/invalid bits (Steven Cole) [PATCH] more typo fixes and dead old code removal (Adrian Bunk, Steven Cole) [PATCH] mouse and keyboard by default if not embedded (Andi Kleen) [PATCH] second block illegal/invalid fixups for isdn (Steven Cole) [PATCH] keyboard controller by default if not embedded [PATCH] some isdn invalid/illegal fixups (Steven Cole) [PATCH] fix return on pms change [PATCH] more typo fixes (Steven Cole) [PATCH] sk98 vendor driver update [PATCH] more net illegal/invalid typo fixes (Steven Cole) [PATCH] further z85230 fixes [PATCH] idents for all the new skge cards [PATCH] fix pcmcia_cs without ISA (Taral) [PATCH] fix invalid/illegal and printk formatting for scsi drivers [PATCH] phonedev handles this [PATCH] phonedev has an owner so this is ok too I think [PATCH] fix build of asix usb ethernet [PATCH] vga text console if x86 and not embedded (Andi Kleen) [PATCH] fix invalid/illegal oddments in USB [PATCH] switch escaped 8859-1 symbols inthe kernel to ascii (Otherwise this plays hell with logging on non old US systems) [PATCH] tdfx framebuffer updates ((Richard Drummond) [PATCH] fix binfmt_flat typos (Steven Cole) [PATCH] kill __NO_VERSION__ in intermezzo (Adrian Bunk) [PATCH] use invalid not illegal in reiserfs (Steven Cole) [PATCH] fix 2 byte data leak due to padding [PATCH] typo fix for time.h (Steven Cole) [PATCH] fix strncpy on generic user platforms [PATCH] maintainer for sk98 [PATCH] the rest of the slab.c fix... (Junkio) [PATCH] sunrpc doesnt need uaccess.h (Frank Cusack) [PATCH] fix posix compliance for mkcompile_h script [PATCH] allow 2.6 to build on old old setups (Mikael Pettersson) [PATCH] fix section conflict and typo in ALSA isa [PATCH] further OSS audio updates [PATCH] further sound updates Switching back to strlcpy/memset to avoid padding problems [PATCH] update Changes for NFS changes [PATCH] work around tosh keyboards These produce double ups sometimes (Chris Heath) [PATCH] update for DC395 driver (big) This is a fairly major update to get stuff going again (From the maintainers) [PATCH] remaining illegal/invalid/separate stuff for scsi [PATCH] ikconfig (Randy Dunlap) Build the kernel config data into the kernel - either unloaded or accessible via /proc Fix for file size handling for locally cached files. [PATCH] fix typo in drivers/net/arcnet/com20020-isa.c Fix a typo during last module refcounting fix. [PATCH] fix broken blk_start_queue behavior From Lou Langholtz This fixes the behavior of blk_start_queue() so that request queues really do start up again after blk_start_queue() is called (on queues that were previously stopped via blk_stop_queue). [PATCH] get rid of unused request_queue field queue_wait From Lou Langholtz The queue_wait field of struct request_queue is not used anymore, and this gets rid of it. [PATCH] Add new include files for v850 [PATCH] h8300: config updates config script fix defconfig update Makefile update add H8S archtecture support [PATCH] h8300: interrupt management update interrupt management update target-support file update gcc-3.3 support blkdev location cleanup [PATCH] h8300: H8S architecture support [PATCH] h8300: header file updates used common header files build error and warning fix add include/asm-h8300/local.h and include/asm-h8300/sections.h [PATCH] h8300: arch update H8S architecture support signal handling problem fix gcc-3.3 support vfork/clone return value fix added show_stack build error and warning fix blkdev location cleanup [PATCH] h8300: build error fixes build error and warning fix blkdev location cleanup typo fix [PATCH] osf partition numbering OSF partitions are mostly found on alpha machines. It's been reported that the partition numbering changed between 2.4 and 2.6. This makes 2.6 use the 2.4 numbering scheme. [PATCH] Kconfig and Makefile updates [V4L] - make sure saa7146 module gets build for Hexium drivers [V4L] - make Hexium drivers depend on the i2c layer [DVB] - fix typo which prevented the mt312 driver from being build (obi <=> obj) [PATCH] DVB core update [DVB] - if there are multiple adapters, bend the tuning frequency only if the adapters differ [PATCH] mt312 DVB frontend update [DVB] - show i2c read errors only for registered frontends [PATCH] Update MAC handling for various DVB PCI cards [DVB] - correctly read MAC from eeprom on Technotrend and KNC1 cards [PATCH] TTUSB-DEC driver update [DVB] - Hand off all processing of urb data to a tasklet [PATCH] Hexium saa7146 driver update [V4L] - set debug verbosity to 0 for both Hexium drivers [V4L] - declare all local functions and variables static [PATCH] PPC32: Properly register CPUs This adds proper registration of CPUs on ppc32, without this, accesses to cpufreq will oops. [PATCH] PPC32: Update pmac_cpufreq driver back to working This patch updates the PowerMac cpufreq driver so that it builds & works in current 2.6 [PATCH] CREDITS update Time to update my CREDITS entry... [PATCH] drivers/char/stallion.c: devfs_mk_cdev fix devfs_mk_cdev now only takes 3 parameters (dev_t, umode_t, fmt..), so update this driver to the new API. [PATCH] x86-64 merge Only bug fixes and making it compile again and a few minor features. Also one security fix that got lost earlier - Document boot options - Better cpu local data - Emulate FIOQSIZE - Fix return value of 32bit ipccall - Various minor style fixes - Save some memory in apic tables - Merge with 2.6.0test2/i386 - Readd ioport fix - Sort exception tables at boot time - Add local.h - Fix for_each_cpu on UP - Add utimes and tgkill system calls for 64bit - Update defconfig [PATCH] MIPS update Here's another MIPS update. The patch is huge because it completly folds mips64 into mips, thereby eleminating 41010 lines of code. [PATCH] Require nfs-utils 1.0.5; document where to get it This patch notes that users should get nfs-utils 1.0.5 (1.0.4 had a memory usage bug), and tells them where to get it. [PATCH] USB: ftdi_sio - additional pids Wayne Wylupski sent some more PIDs (in a patch, but I've modified it) for the ftdi_sio driver to the ftdi-usb-sio-devel list. These PIDs were for additional CrystalFontz LCD displays. An earlier patch from David Glance for the DSS-20 SyncStation was applied to the 2.6 tree. This did not have a changelog entry in the file header comment of ftdi_sio.c, so I have retroactively added one in the attached patch. [PATCH] USB: usb_gadget.h doc fix The "automagic control completion" has been gone for some time now, except for the documentation fixed in this patch. It mentions the "deferred response" mode that's used when some context (like a gadgetfs thread) other than the IRQ handler is responding to control requests. [PATCH] USB: Small fixes for usbtest It fixes a few minor problems in the usbtest driver: Unlinks are done in the expected order, preventing some inappropriate error messages. The driver would wait for an URB to complete, even if the URB got an error on submission. There was a surprising memory leak: the driver didn't kfree() its private data structure. [PATCH] USB: More unusual_devs.h stuff Here are updates to unusual_devs.h sent in by users. They apply to both 2.4.22 and 2.6.0. [PATCH] USB: Rename probe and unbind functions The is the first part of what used to be as66c. It simply renames usb_device_probe() and usb_device_remove() to usb_probe_interface() and usb_unbind_interface(). And since they're not needed outside of usbcore, it stops exporting them. [PATCH] USB: Add functions to enable/disable endpoints, interfaces This is the second part of what used to be as66c. It fixes the initialization of the debugging macros in core/message.c and adds routines to enable/disable endpoints, interfaces, and entire devices. The code that _uses_ these routines will come in the next patch. # Initialize the debugging macros properly in message.c. # # Add usb_disable_endpoint(), usb_disable_interface(), usb_disable_device(), # usb_enable_endpoint(), and usb_enable_interface(). [PATCH] USB: Use the new enable/disable routines This is the third part of what used to be as66c. The patch makes several changes in the routines that handle unbinding and selecting altsettings and configurations. Upon unbinding a driver, don't nuke all the URBs for the device -- only kill the ones on the driver's interface. Afterwards, reinitialize the interface by selecting altsetting 0 (the default). When changing an altsetting, if the interface has only one altsetting it is allowed to STALL the request. Attempt to carry out the equivalent initialization by clearing the HALT feature on each of the interface's endpoints. When changing configurations, mark each interface as being in altsetting 0. In general, use the new disable/enable routines instead of doing everything by hand. [PATCH] USB: usb_unlink_urb() kerneldoc This been sitting in my queue for ages now ... it just clarifies three points about unlink semantics. Basically, - You can only unlink once per submission. - For synchronous unlink: urb completes, then unlink returns. - For async unlink: the order is unspecified; although usually the completion happens after unlink returns. [PATCH] USB: ehci-hcd, show microframe schedules This updates the ehci periodic schedule dumping code to be more useful when displaying the interrupt transfer tree: - includes start/complete split frame mask in QH - gets rid of some needless output (more terse) - shows whether IN or OUT tds are queued, and how many The microframe info isn't yet very interesting, but it's helpful when a microframe scheduler is in use. (Which will be a patch some other time!) [PATCH] USB: ehci-hcd and period=1frame hs interrupts This resolves the slowdown Bernd Porr noticed, where rather a lot of useless work got done. It should apply to 2.4 too. [PATCH] USB: usb root hubs need longer timeout Root hubs should use 50 msec timeouts, not 10 msec. This will if nothing else eliminate some messages when using EHCI, which insists on the whole timeout! Cset exclude: jgarzik@redhat.com|ChangeSet|20030731201437|53548 My fix was wrong, and, mainline now has a better fix. [XFS] Minor cleanups for unwritten extent fix, using one less variable on the stack SGI Modid: 2.5.x-xfs:slinx:154771a [XFS] Forward port 2.4 pagebuf locking to 2.5, based on Steve's analysis - to fix the infamous pagebuf IO completion buglet. SGI Modid: 2.5.x-xfs:slinx:154781a Do not include linux/version.h - no need for it [PATCH] misc fixes - remove unneeded loglevel manipulation in journal_dirty_metadata() - remove crud which was acidentally added to blkmtd.c - remove unused vars in mxser.c (Vinay K Nallamothu ) - PF_LESS_THROTTLE was using the wrong bit (Joe Korty ) - unused var in cyclades.c ("Krishnakumar. R" ) [PATCH] selinux merge From Stephen Smalley This has been in -mm for a few weeks and James Morris has been regression testing each release. [PATCH] re-slabify i386 pgd's and pmd's From: William Lee Irwin III The original pgd/pmd slabification patches had a critical bug on non-PAE where both modifications of pgd entries to remove pagetables attached for non-PSE mappings back to a PSE state and modifications of pgd entries to attach pagetables to bring PSE mappings into a non-PSE state were not propagated to cached pgd's. PAE was immune to it owing to the shared kernel pmd. The following patch vs. 2.5.69 restores the slabification done to cache preconstructed pagetables with the proper propagation of conversions to and from PSE mappings to cached pgd's for the non-PAE case. This is an optimization to reduce the bitblitting overhead for spawning small tasks (for larger ones, bottom-level pagetable copies dominate) primarily on non-PAE; the PAE code change is largely to remove #ifdefs and to treat the two cases uniformly, though some positive but small performance improvement has been observed for PAE in one of mbligh's posts. The non-PAE performance improvement has been observed on a box running a script-heavy end-user workload as a large long-term profile hit count reduction for pgd_alloc() and relatives thereof. I would very much appreciate outside testers. Even though I've been able to verify this boots and runs properly and survives several cycles of restarting X on my non-PAE Thinkpad T21, that environment has never been able to reproduce the bug. Those with the proper graphics hardware to prod the affected codepaths into action are the ones best suited to verify proper functionality. There is also some locking introduced; if some performance verification on non-PAE SMP i386 targets (my SMP targets unfortunately all require PAE due to arch code dependencies) that also have the proper hardware could be done, that would help determine whether alternative locking schemes that competed against the one shown here are preferable (in particular, the ticket-based scheme mentioned in the comments). [PATCH] buffer.c debugging We get a bug report about once per month wherein find_get_block_slow() spits an error message. For some reason we have buffers against a blockdev page which have the incorrect b_size. Probably, an earlier set_blcoksize() failed to invalidate all the apges for some reason. I just don't know. The patch adds a bit of extra debug info to aid in diagnosing this. [PATCH] update to speedstep-centrino.c From: Jeremy Fitzhardinge The 900MHz Pentium M has two spaces before the frequency: "Intel(R) Pentium(R) M processor 900MHz" This patch adds a 2nd CPU macro (_CPU) which also takes the stringified speed so that extra spacing can be added. [PATCH] 3c59x suspend/resume fix Currently, all of the 3c59x power management code is disabled unless the `enable_wol' module parameter is provided. This was done because the PM support was added quite late in the 2.4 cycle. It was always intended that this conditionality be removed in 2.5. [PATCH] dev_t printing From: Greg KH Different architectures use different types for dev_t, so it is hard to print dev_t variables out correctly. Quite a lot of code is wrong now, and will continue to be wrong when 64-bit dev_t is merged. Greg's patch introduces a little wrapper function which can be used to safely form a dev_t for printing. I added the format_dev_t function as well, which is needed for direct insertion in a printk statement. [PATCH] non-MII 3c59x fix From: Marc Zyngier The following patch tries to fix a small bug that crept in at some point during 2.5. None of my 3c592 or 3c597 would work if I didn't force media type. Instead, it would try to probe MII, looking for a suitable transceiver, and finaly give up, because these cards really do not have any sort of MII... : EISA: Probing bus 0 at Intel Corp. 82375EB EISA: Mainboard DEC5000 detected. EISA: slot 2 : ADP0001 detected. EISA: slot 3 : ADP7771 detected. EISA: slot 4 : DPTA401 detected. EISA: slot 5 : TCM5920 detected. 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html 00:05: 3Com EISA 3c592 EISA 10Mbps Demon/Vortex at 0x5000. Vers LK1.1.19 ***WARNING*** No MII transceivers found! EISA: Detected 4 cards. With the enclosed patch, it just works, at least on my setup (3c592 on Alpha, and 3c597 on x86). I haven't been able to test it didn't break cards with MII, because I do not have such cards in my test boxes... The patch also removes two useless EISA-only #define I introduced some time ago. [PATCH] kwsapd can free too much memory We need to subtract the number of freed slab pages from the number of pages to free, not add it. [PATCH] unlock_buffer() needs a barrier From: Chris Mason unlock_buffer() needs a barrier before the waitqueue_active() optimisation. [PATCH] Interface to invalidate regions of mmaps From: "Paul E. McKenney" The patch reworks and generalises vmtruncate_list() a bit to create an API which invalidates a specified portion of an address_space, permitting distributed filesystems to maintain POSIX semantics when a file mmap()ed on one client is modified on another client. [PATCH] Fix vmtruncate race and distributed filesystem race From: Dave McCracken This patch solves the race between truncate and page in which can cause stray anon pages to appear in the truncated region. The race occurs when a process is sleeping in pagein IO during the truncate: there's a window after checking i_size in which the paging-in process decides that the page was an OK one. This leaves an anon page in the pagetables, and if the file is subsequently extended we have an anon page floating about inside a file-backed mmap - user modifications will not be written out. Apparently this is also needed for the implementation of POSIX semantics for distributed filesystems. We use a generation counter in the address_space so the paging-in process can determine whether there was a truncate which might have shot the new page down. It's a bit grubby to be playing with files and inodes in do_no_page(), but we do need the page_table_lock coverage for this, and rearranging thngs to provide that coverage to filemap_nopage wasn't very nice either. [PATCH] fix bogus IO error messages Since Jens added the pagecache readahead support in the block layer we've been getting bogus IO error messages from buffer.c due to __make_request calling end_io against a non-uptodate buffer. We can just use PF_READAHEAD to shut that up. But really, we shouldn't even have allocated all those pages and submittted the readahead IO if the queue was congested. We have the infrastructure to do that now. [PATCH] rework readahead for congested queues Since Jens changed the block layer to fail readahead if the queue has no requests free, a few changes suggest themselves. - It's a bit silly to go and alocate a bunch of pages, build BIOs for them, submit the IO only to have it fail, forcing us to free the pages again. So the patch changes do_page_cache_readahead() to peek at the queue's read_congested state. If the queue is read-congested we abandon the entire readahead up-front without doing all that work. - If the queue is not read-congested, we go ahead and do the readahead, after having set PF_READAHEAD. The backing_dev_info's read-congested threshold cuts in when 7/8ths of the queue's requests are in flight, so it is probable that the readahead abandonment code in __make_request will now almost never trigger. - The above changes make do_page_cache_readahead() "unreliable", in that it may do nothing at all. However there are some system calls: - fadvise(POSIX_FADV_WILLNEED) - madvise(MADV_WILLNEED) - sys_readahead() In which the user has an expectation that the kernel will actually perform the IO. So the patch creates a new "force_page_cache_readahead()" which will perform the IO regardless of the queue's congestion state. Arguably, this is the wrong thing to do: even though the application requested readahead it could be that the kernel _should_ abandon the user's request because the disk is so busy. I don't know. But for now, let's keep the above syscalls behaviour unchanged. It is trivial to switch back to do_page_cache_readahead() later. [PATCH] ext3: avoid reading empty inode blocks From: Alex Tomas ext3_get_inode_loc() read inode's block only if: 1) this inode has no copy in memory 2) inode's block has another valid inode(s) this optimization allows to avoid needless I/O in two cases: 1) just allocated inode is first valid in the inode's block 2) kernel wants to write inode, but buffer in which inode belongs to gets freed by VM [PATCH] Fix race in ext3_getblk From: Alex Tomas ext3_getblk() memsets a newly allocated buffer, but forgets to check whether a different thread brought it uptodate while we waited for the buffer lock. It's OK normally because we're serialised by the page lock. But lustre apparently is doing something different with getblk and hits this race. Plus I suspect it's racy with competing O_DIRECT writes. [PATCH] ext3: don't start a commit in write_super() From: bzzz@tmi.comex.ru Now we have sync_fs(), the kludge of using write_super() to detect when the VFS is trying to sync the fs is unneeded. With this change we don't accidentally run commits in response to kupdate and bdflush activity and it speedup up some heavy workloads significantly. [PATCH] fix alloc_bootmem_low_pages From: jbarnes@sgi.com (Jesse Barnes) This patch is needed for some discontig boxes since the memory maps may be built out-of-order. [PATCH] soundcard.c devfs fix It is using "snd". It should be using "sound". [PATCH] 6PACK asumes HZ=100 From: Hans-Joachim Hetscher the Hamradio 6pack driver wasn't modified to work with the 1000 HZ internal kernel timebase. [PATCH] devfs_lookup stack corruption fix rework From: Andrey Borzenkov A while back Andrey fixed a devfs bug in which we were running remove_wait_queue() against a wait_queue_head which was on another process's stack, and which had gone out of scope. The patch reverts that fix and does it the same way as 2.4: just leave the waitqueue struct dangling on the waitqueue_head: there is no need to touch it at all. It adds a big comment explaining why we are doing this nasty thing. [PATCH] use mark_page_accessed() in the write() path We're currently just setting the referenced bit when modifying pagecache in write(). Consequently overwritten (and redirtied) pages are remaining on the inactive list. The net result is that a lot of dirty pages are reaching the tail of the LRU in page reclaim and are getting written via the writepage() in there. But a core design objective is to minimise the amount of IO via that path, and to maximise the amount of IO via balance_dirty_pages(). Because the latter has better IO patterns. This may explain the bad IO patterns which Gerrit talked about at KS. [PATCH] USB: hcd initialization fix This cleans up HCD initialization by adding an explicit reset step, putting the device into a known state before resources are allocated. This step is implemented for EHCI, since some BIOS firmware seems to act quirky there, but nothing else yet. (OHCI would be just easy too.) [PATCH] fix kswapd throttling kswapd currently takes a throttling nap even if it freed all the pages it was asked to free. Change it so we only throttle if reclaim is not being sufficiently successful. [PATCH] USB: Remove usb_set_maxpacket() This is the final part of as66c. It removes the usb_set_maxpacket() routine, since the same functionality now exists elsewhere. The one place it was used was in the device reset pathway for a device that has changed somehow since the previous reset. That code needs to be fixed up anyway; for now it's enough just to have it call usb_set_configuration(). [PATCH] vmscan: decaying average of zone pressure From: Nikita Danilov The vmscan logic at present will scan the inactive list with increasing priority until a threshold is triggered. At that threshold we start unmapping pages from pagetables. The problem is that each time someone calls into this code, the priority is initially low, so some mapped pages will be refiled event hough we really should be unmapping them now. Nikita's patch adds the `pressure' field to struct zone. it is a decaying average of the zone's memory pressure and allows us to start unmapping pages immediately on entry to page reclaim, based on measurements which were made in earlier reclaim attempts. [PATCH] vmscan: use zone_pressure for page unmapping From: Nikita Danilov Use zone->pressure (rathar than scanning priority) to determine when to start reclaiming mapped pages in refill_inactive_zone(). When using priority every call to try_to_free_pages() starts with scanning parts of active list and skipping mapped pages (because reclaim_mapped evaluates to 0 on low priorities) no matter how high memory pressure is. [PATCH] direct-io support for XFS unwritten extents From: Nathan Scott This patch adds a mechanism by which a filesystem can register an interest in the completion of direct I/O. The completion routine will be given the inode, an offset and a length, and an optional filesystem-private field. We have extended the use of the buffer_head-based interface (i.e. get_block_t) for direct I/O such that the b_private field is now utilised. It is defined to be initially zero at the start of I/O, and will be passed into the filesystem unmodified by the VFS with each map request, while setting up the direct I/O. Once I/O has completed the final value of this pointer will be passed into a filesystems I/O completion handler. This mechanism can be used to keep track of all of the mapping requests which encompass an individual direct I/O request. This has been implemented specifically for XFS, but is done so as to be as generic as possible. XFS uses this mechanism to provide support for unwritten extents - these are file extents which have been pre-allocated on-disk, but not yet written to (once written, these become regular file extents, but only once I/O is complete). [PATCH] Fix ipt_helper compilation From: florin@iucha.net (Florin Iucha) Fix compilation of net/ipv4/netfilter/ipt_helper.c by including the proper header files. [PATCH] fix select() with an xoffed tty From: Manfred Spraul Eli Barzilay noticed that select() for tty devices is broken: For stopped tty devices, select says POLLOUT and write fails with -EAGAIN. http://marc.theaimsgroup.com/?l=linux-kernel&m=105902461110282&w=2 I've tracked this back to normal_poll in drivers/char/n_tty.c: > if (tty->driver->chars_in_buffer(tty) < WAKEUP_CHARS) > mask |= POLLOUT | POLLWRNORM; It assumes that a following write will succeed if less than 256 bytes are in the write buffer right now. This assumption is wrong for con_write_room: if the console is stopped, it returns 0 bytes buffer size (con_write_room()). Ditto for pty_write_room. [PATCH] fix ip_conntrack_core.h compile error From: Felipe Alfaro Solana Fix compile error in 2.6.0-test2 when Netfilter IP connection tracking is enabled. [PATCH] ext3: fix commit assertion failure We're getting asserion failures in commit in data=journal mode. journal_unmap_buffer() has unexpectedly donated this buffer to the committing transaction, and the commit-time assertion doesn't expect that to happen. It doesn't happen in 2.4 because both paths are under lock_journal(). Simply remove the assertion: the commit code will uncheckpoint the buffer and then recheckpoint it if needed. [PATCH] fix read_dir() This function tries to allocate increasingly large buffers, but it gets the bounds wrong by a factor of PAGE_SIZE. It causes boot-time devfs mounting to fail. [PATCH] Move the special_file() definition From: The special_file() macro is being duplicated in JFS. Move it to fs.h. [PATCH] uidhash init-time locking From: Add the necessary locking around uid_hash_insert() in uid_cache_init(). (It's an initcall, and the chances of another CPU racing with us here are basically zero. But it's good for documentary purposes and the code gets dropped later anyway...) [PATCH] com20020_cs.c doesn't compile From: Adrian Bunk drivers/net/pcmcia/com20020_cs.c wasn't updated to the module owner field changes [PATCH] pc300_drv build fix From: Adrian Bunk Fix compile error introduced by the HDLC update. [PATCH] binfmt_script argv[0] fix From: Arun Sharma A script such as #!/bin/foo.bar ... where /bin/foo.bar is handled by binfmt_misc, is not handled correctly i.e. the interpreter of foo.bar doesn't receive the correct arguments. The binfmt_misc handler requires that bprm->filename is appropriately filled so that the argv[1] could be correctly passed to the interpreter. However, binfmt_script, as it exists today doesn't populate bprm->filename correctly. Another motivation for this patch is the output of ps. Emulators which use binfmt_misc may want to keep the output of ps consistent with native execution. This requires preserving bprm->filename. The attached patch guarantees this even if we have to go through several binfmt handlers (think of finite loops involving binfmt_script and binfmt_misc). [PATCH] Fix dac960 for devfs From: Dave Olien It wasn't initializing the devfs_name member of the gendisk structures to contain the root name of the logical disk. [PATCH] quota typo fix From: Herbert Potzl quota.h typo fix [PATCH] i810fb oops fix The module device table is not NULL-terminated, so we run off the end during probing and oops. Also, move all those static decls out of .h and into .c [PATCH] export agp_memory_reserved nvidia-agp needs it. [PATCH] IPMI build fix From: Adrian Bunk Fix ACPI compile error if doing processor probing only: acpi_find_bmc is only available #ifdef CONFIG_ACPI_INTERPRETER. [PATCH] generic HDLC updates From: Krzysztof Halasa The following patch upgrades generic HDLC to support "new" protocol handlers. [PATCH] dscc4 compile fix for hdlc From: Francois Romieu The wan driver I maintain was hit by hdlc changes too. Please apply patch below. It is diffed against plain -test2 but it applies equally as well against -test2-mm2. More important changes will come in a near future for this driver but I'd rather keep the changes separated. Description: - after the hdlc changes, dscc4 module doesn't need to set hdlc->proto(.id) itself anymore; - MOD_{INC/DEC}_USE_COUNT removal; - SET_NETDEV_DEV() use; [PATCH] serial drivers are not experimental From: Andries.Brouwer@cwi.nl A few days ago I needed a serial line and couldnt find the option in menuconfig. Turned out that SERIAL_8250 depends on EXPERIMENTAL. I suppose that dependence should be removed. [PATCH] ftl.c warning fix From: Adrian Bunk A 16bit number can _never_ be > 65536. So don't bother to check for it. [PATCH] Watchdog: use module_param From: Wim Van Sebroeck The first patch convert these watchdog modules to the new module_param syntax. The second patch fixes machzwd.c (you need to declare the variable before using the module_param subroutine). [PATCH] export install_page() to modules install_page() is a library function which we expect will be used by all drivers which implement vm_operations.populate(). Therefore it should be exported to kernel modules. Petr Vandrovec has a project which involves sparse mappings of device memory which can use remap_file_pages(). It needs install_page(). [PATCH] cpu_idle() startup race fix Diagnosis from Christian Vogel cpu_idle() tests pm_idle() just once then falls into the while (!need_resched()) idle(); loop. Problem is, that loop never terminates (need_resched() always returns false on preemptive kernels). The other problem is that ACPI updates pm_idle _after_ cpu_idle() has taken a local copy. So we always call default_idle(), even when pm_idle is pointing at a new idle handler. So fix it to pick up changed values of pm_idle() each time around the inner loop. [PATCH] PCI: Trivial DMA-mapping.txt fix As far as I can tell "pci_set_consistent()" doesn't exist - the docs probably meant to say "pci_set_consistent_dma_mask()". [PATCH] PCI: add 2 entries to pci_ids.h These have been in the pci.ids file for awhile but not in They're used by my drivers/atm/lanai.c driver that has been in tree for some time now (it provides its own copy of these #define's protected by an #ifndef - I'll remove that once this patch goes into the mainline) I2C: remove devinitdata marking from i2c-nforce2.c as it's wrong. USB: fix up ALSA merge due to struct usb_interface changes. [PATCH] alpha: pci domains update - fix thinko in pci_name_bus (pointed out by DaveM); - prevent 8-bit bus number overflow inside the hose; - remove first_busno/last_busno fields from struct pci_controller, as it's a duplicate of the info in associated struct pci_bus. Ivan. PCI: merge fixups. [PATCH] Fix old quota format locking This fixes a bug in locking (we take one lock twice) for old quota format. Without this patch the old format simply don't work (I really don't know how that could happen). Thanks go to Herbert Potzl who spotted it. [PATCH] janitor: don't init static data (arm26) By Leann Ogasawara Uninitialize static variables initialized to 0 so they are pushed to the .bss instead of .data. [PATCH] janitor: add MODULE_LICENSE() in 2 drivers From: dan carpenter Neither one of these drivers has a clear maintainer. The patches are straight forward and tested. Both drivers are released under the GPL. [PATCH] janitor: make serio init/exit static From: Daniele Bellucci [PATCH] janitor: use char arrays for strings From: maximilian attems Use char arrays instead of char* for strings: a. uses a single variable instead of two. b. shorter code. c. __initdata will be completely dropped. [PATCH] jantior: return -EFAULT on copy_user error From: Daniele Bellucci Return proper error code from copy_to_user failure in fs/sysfs/bin.c [PATCH] janitor: don't init statics to 0 From: Leann Ogasawara Uninitialize static variables initialized to 0 so they are pushed to the .bss instead of .data. [PATCH] don't init statics to 0 (fs/) From: Leann Ogasawara Uninitialize static variables initialized to 0 so they are pushed to the .bss instead of .data. [PATCH] janitor: convert to pci_name() [ GregKH has already done this is USB and PCI core. ] From: "Warren A. Layton" Based on a request from Matthew Wilcox, convert instances of pci_dev->slot_name to use pci_name() instead: "In order to support PCI Domains, we have to stop using slot_name. It's related to driver model transition too since pci_dev->slot_name was redundant with pci_dev->dev.bus_id. So I introduced the inline function pci_name(). Now there's about 300-400 places in the tree that're using slot_name which need to be converted to use pci_name(). once that's done, we can remove the slot_name pointer in pci_dev and save a (void *) per pci_dev." [SCSI]: Make dc395x.c build again. Do not leave files created with mknod open on server. Fix related oops. Fix timeout on open to be at least server oplock break timeout to avoid timing out successful opens when secondary client hung. [SPARC64]: Add some more symbol debugging in register dumps. [STRING]: Fix bug in generic strncpy() change. [SPARC64]: Propagate bprm->interp changes to sparc 32-bit compat layer. Mark the SiS DRM driver as depending on the SiS FBCON support. It won't even compile without it. Merge i830 IRQ handler cleanups from DRI CVS tree Update r128 drm driver from DRI CVS tree. This updates the driver from version 2.4.0->2.5.0, adding the CCM_FLIP command. [PATCH] I2C: fixed a little memory leak in i2c-ali15x3.c there is a little memory leak in i2c-ali15x3.c . You can reproduce the BUG as follows: In a PC with no such device unloading i2c-ali15x3 cause an oops in release_region. I've fixed by moving release_region() from i2c_ali15x3_exit() to ali15x3_remove(). Fix up AGP merge: agp_memory_reserved got exported twice. [PATCH] ia64 fix for ACPI Make ACPI aware of the iosapic irq controller on ia64 machines. [PATCH] ide: kill no longer used CONFIG_BLK_DEV_IDE_MODES [PATCH] ide: kill no longer used CONFIG_BLK_DEV_NFORCE [PATCH] ide: kill no longer used CONFIG_BLK_DEV_PDC202XX and move help comment to CONFIG_BLK_DEV_PDC202XX_OLD [PATCH] ide: kill surplus menu in Kconfig [PATCH] ide: fix ordering in Kconfig [PATCH] ide: clean BLK_DEV_IDE dependencies in Kconfig [PATCH] ide: clean IDE_CHIPSETS dependencies in Kconfig [PATCH] ide: clean BLK_DEV_IDEDMA_PCI dependencies in Kconfig [PATCH] ide: use def_bool in Kconfig [PATCH] move "config SOUND" to sound/Kconfig Allows all architectures to simply include the sound/Kconfig file. Now somebody can finally update the comment for CONFIG_SOUND ;-). [PATCH] Fix the vfat dentry handling fix This adds the forgotten test whether it's negative dentry. That test should be needed only in negative dentry case. Removes unneeded dcache_lock. (NOTE: vfat still has the filename case problem on mkdir(), rename() etc.) [PATCH] uses ->i_pos instead of ->i_ino on fat_fs_panic() This uses ->i_pos instead of ->i_ino on fat_fs_panic() because ->i_ino is not useful. loff_t is _signed_ long long, so format string should use "%lld". fs/fat/cache.c | 14 +++++++------- fs/fat/inode.c | 2 +- fs/fat/misc.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) [PATCH] Consolidate dot-stripping code From Ren there are several places inside fs/vfat/namei.c where the length of a struct qstr without any trailing dots is calculated. The patch below adds a function vfat_striptail_len() which does that and makes use of it. [PATCH] Inline vfat_strnicmp() From Ren the function vfat_strnicmp() has just one callsite. Inlining it actually shrinks vfat.o slightly. [PATCH] more use fat_get_short_entry() This uses fat_get_short_entry() in fat_dir_empty(). Moves fat_scan() and fat_subdirs() to dir.c. [SPARC64]: More tomatillo PCI controller fixes. - Use ino-bitmap property to figure out which PCI bus module each interrupt gets routed through. - Fix timeout setting in PCI control register - Do not enable DTO interrupts. - Use the correct IGN in INOs on Tomatillo. [TG3]: More Sun onboard 5704 fixes. - Add TG3_FLG2_SUN_5704, set it at probe time. - Do not try to use NVRAM on Sun 5704 chips. - Handle lack of firmware on Sun 5704 chips. [NET]: janitor: don't init statics to 0. [ATM]: Convert cli() to spinlock in ZATM driver. [BRIDGE]: Fix bridge notification processing. [NET]: Convert tc35815.c to spinlocks. [XFRM]: Fix OOPS in xfrm_state_update. [XFRM_USER]: Pass correct args to xfrm_find_acq(). [XFRM_USER]: Fix spurious NLMSG_ERROR messages. [NETFILTER]: Fix logging of AH spis [NETFILTER]: Use in-kernel IPSEC structures in iptables ah (by Patrick McHardy). [NETFILTER]: Use in-kernel IPSEC structures in iptables esp (by Patrick McHardy). [IPV6]: Fix memory leak in esp6_input. [IPV6]: Use correct hop-limit in ip6_push_pending_frames(). [IPV4]: IP options were not updated while forwarding multicasts. [PKT_SCHED]: More reasonable PSCHED_JSCALE for various values of HZ. [SPARC64]: Update defconfig. [PATCH] Fix mdelay's use of 'msec' name The mdelay() macro does the wrong thing if you try to use it with an argument expression that contains the (perfectly natural) variable name 'msec'. Fix it to use an internal variable that doesn't clash with normal naming. [PATCH] CREDITS change Trivial CREDITS update [PCMCIA] Convert cs.c and rsrc_mgr.c to use named initialisers. [IPSEC]: ipcomp.c does not neet net/esp.h [BRIDGE]: Only build br_netfilter when INET is enabled. [ARM] gcc 3.2.x for ARM miscompiles jffs2. [ARM] Automatically select compiler options for ARMv5/Xscale CPUs. [ARM] Add missing include for clps711x irq handling. [ARM] Make PXA compile. Fix up several errors in the PXA code preventing it from building. [SPARC64]: Control debuglocks.c compilation using Makefile rules. [TG3]: Only call tg3_init_rings() after hardware has been reset. In tg3_init_rings() we might write out to the NIC SRAM area, thus we should only run it when the chip is in a known state. Also, fix comments above tg3_init_rings() wrt. locking state. PPC32: Compile fix for arch/ppc/kernel/setup.c PPC32: Fix compilation when CPU_FREQ is defined. PPC32: Make strncpy clear the unused part of the destination. ppc64: Reserve 8042 IO space on machines with no keyboard [SPARC64]: Fix AFSR error reporting for Cheetah+/Jalapeno. Fix blocksize and allocation size miscalculation [SPARC64]: Missing cheetah+ ASI defines. [PATCH] AS barrier bug There's a bug in AS, it sets HARDBARRIER on a request when it should be setting it as a softbarrier. IO scheduler has no business using that bit, if it needs to put barriers there they should be soft. Hard barriers involve hardware operations. [SCTP] ADDIP basic infrastructure support. (Ardelle.Fan) [PATCH] Update IEEE1394 (r1023) misc : - Signed cleanups. - Convert to correct min/max macros. subsystem : - Attempt to fix sleeping call in hpsb_get_tlabel when preempt is enabled. eth1394 : - Fix packet sizes for S800+. [ATM]: update links to new site (from Document non-standard do_div() calling convention, since it does not work like a C function. (Effectively, the first argument ends up being "passed- by-reference" without the use of pointers) [PATCH] fix 64-bit architectures for the binprm change Various 32-bit emulators need to fill in linux_binprm.interp [PATCH] Fix 32/64-bit bug in ext3 Fix 32/64-bit error in ext2_file_write; before, the top 32-bits of the return value was getting chopped off. [PCMCIA] don't call functions twice this patches removes unneccessary calls to yenta_init()/ti_set_zv() in ti1250_init() as the called ti113x_init() already does this.. [ARM] Add generic sections.h for ARM. [ARM] Fix do_settimeofday() ARM seems to have missed an update for the time keeping code; this cset fixes a problem where the altering the system time changes the reported uptime. [power] Move drivers/power/ to kernel/power/ [ARM] Remove old ARC and A5K machine class. The ARC and A5K machine class is handled by the arm26 architecture now. This cset removes the obsolete files from the 32-bit ARM architecture. [power] Kill some unnessecary printk()s. From Pavel Machek. [power] Fix up refrigerator to work with ^Z-ed processes Originally from Pavel Machek: schedule() added makes processes start at exactly that point, making printouts nicer. [PATCH] ia64: New CMC/CPE polling Here's a redesign of the CMC and CPE polling for both 2.6.0-test2 and 2.4.21. This is roughly the same design I requested comment on a while back (BTW, nobody commented...). Basically, rather than flooding all the cpus in parallel, I used some low priority interrupts to cascade through the cpus. This should be much more scalable. I also added a new feature of enabling interrupts for the CMC and CPE handlers. The SAL spec claims these functions are SMP safe and re-entrant and even recommends that the corrected error handlers should run with interrupts enabled. It works on HP boxes, others might want to double check that their firmware adheres to the spec. The combination of these things should keep polling from impacting system response time. [SCTP] Fix to avoid large kmalloc failures on 64-bit platforms. When spinlock debugging is enabled, the size of assoc hash table and port hash table for a fixed value of 4096 entries exceeds the size of the largest possible kmalloc() on 64-bit platforms. This problem is avoided by using page allocations similar to the methodology followed for tcp hash table allocations. PPC32: Fix the help message for the SANDPOINT config option. [PATCH] Fix incorrect umem iounmap() call From: Leann Ogasawara Acked by Neil Brown. Many files: ia64: sn2 update .del-sv.h~583ade34a48fc2a0: Delete: include/asm-ia64/sn/sv.h .del-sv.c~37c4d6a1e76bdd1d: Delete: arch/ia64/sn/kernel/sv.c ia64: Define fsid_t for kernel purposes. [NET]: Convert lp486e over to dynamic allocation. [power] Minor swsusp cleanups. - Call blk_run_queues() from do_software_suspend() directly, instead of wrapping it in helper function. - Get rid of ominous compiler warning. - Change BUG_ON(in_interrupt()) to might_sleep() in software_suspend(), so we still get back trace, but don't actually BUG(). Orginally from Pavel Machek. [NET]: Trivial fix for 82596 driver. [power] Divorce suspend console code from swsusp. - Create kernel/power/console.c - Rename prepare_suspend_console() to pm_prepare_console() and restore_console() to pm_restore_console(). - Add prototypes to include/linux/suspend.h. - Make kernel/power/console.o dependent only on CONFIG_PM - Simplify logic for SUSPEND_CONSOLE define - Make software_resume() prepare console much earlier, so we can localize the loglevel variables in console.c. - Remove #ifdef CONFIG_VT from console.c, and just check for SUSPEND_CONSOLE. (Perhaps we should make entire file dependent on CONFIG_VT_CONSOLE?) - Add kernel/power/power.h to share things across local files. [power] Make sure ACPI prepares a console during S3. Orginally from Pavel Machek. [ATM]: Minor LANAI fixes from mitch@sfgoth.com. 1. pci_device_id structures shouldn't be __devinitdata. Greg removed all of the instances of this in the 2.6.0-test1 tree, but unforunately my recent coversion of lanai.c introduced another one. 2. The lanai PCI id constants have now been merged into the kernel headers so we don't need to define our own copies. 3. The ioctl's exported by lanai shouldn't be - they were intended for debugging only, never for release. For now they're just '#if 0'ed out. They're somewhat dangerous since they don't check any capabilities so any user could DoS the interface. xtalk.h, sn_ksyms.c, sn2_smp.c, cache.c, shuberror.c, shub.c, iomv.c, hcl.c: ia64: sn2 module (& other misc.) fixes [WATCHDOG] advantechwdt patches use module_param, removed __setup code, general cleanup (mostly of comments and trailing spaces, also removed include of config.h), made the watchdog's timeout a module_param. [power] Fix compilation when CONFIG_PM=n [ALPHA] Fix remaining pci bus conversion. [ALPHA] Compressed kernel bootp images. Frim Jay Estabrook . Fix up ieee1394 compile Make "static const" initializer to zero explicit, since truly constant values should not end up in the BSS. We're better off having the compiler put it in the .rodata section (which it will, thanks to the initializer and the "const"), since that will result in it being nicely cacheable in shared SMP caches. [PATCH] __initdata must not be marked const Fix up a few places where we marked __initdata as being const. This causes a section conflict (init section vs .rodata) "kernel_locked()" needs . So make sure to include it in when needed (ie for the CONFIG_PREEMPT case). [ALPHA] Disable Wildfire, Titan, Marvel if !LEGACY_START_ADDRESS. From Jay Estabrook . [PNP] Handle unset resources properly This patch is similar to the disabled resource patch in that it avoids direct numeric comparisons with data in unset resource structures. [PNP] Remove protocol_data from pnp_dev and pnp_card This is not needed. [power] Fix up compiler warnings. [power] Remove unused function reset_videobios_after_s3(). Resided in arch/i386/kernel/dmi_scan.c and was not used by any of the blacklist functions. If it turns out to required, we can add it back later. [ARM] Remove unused get_hackkit_scr prototype [ARM] Fix SSP IRQ handler return type. [ARM] Update machine types file. [ARM] Remove more static register accesses from sa1111.c Use the ioremapped region for accesses to SA1111 IRQ controller registers. [PNPBIOS] Move Parsing Functions to the PnPBIOS driver This patch moves the resource parsing functions from support.c to the pnpbios driver. Originally these functions were intended for other pnp protocols but in reality they are only used by the PnPBIOS driver. This patch greatly cleans up the code in both the parsing functions and their connection with the pnpbios driver. Also note that pnpbios.h has been added for local pnpbios functions. [SOUND] Remove __(dev)initdata from all pnp sound drivers This patch is needed in order to avoid a potential oops. It is similiar to the changes made to pci. [PATCH] Make sure sunrpc/cache doesn't confuse writers with readers. When a sunrpc/cache channel is not open for reading, the cache doesn't bother making and waiting for up-calls. However it doesn't currently distingish between open-for-read/write and open-for-write, so an op-for-write will look like a reader and will cause inappropriate waiting. This patch checks if a file is open-for-read and will only register a file as a reader if it really is one. [PATCH] Change NFSEXP_CROSSMNT to NFSEXP_CROSSMOUNT NFSEXP_CROSSMNT used to mean something different, so using a different name reduces the chance of confusion. Also there is currently a surplus of vowels, so there is no need to be frugal [PATCH] Remove some unused export flags and reserve a new one. The 'acl' folks would like an export flag, so this patch reserves one and also discards some that aren't used and never will be (for the named purpose). [PATCH] Protect against NFS requests to create symlinks bigger than one page Such a request would cause the nul terminator to be written to some other page, and cause havoc. Also rearrange two tests to avoid the possibility of testing the byte just past the end of a buffer - doing so can causes an oops with appropriate kernel-debug config options [PATCH] Change atomic_inc to cache_get twice. [PATCH] Create a mountpoint for the nfsd filesystem. Though the nfsd module can create this, having it always there makes auto-loading-on-mount work better. Note: it was previously recommended that the nfsd filesystem be mounted on /proc/fs/nfs, which I was never comfortable with. Henceforth the recommended location will be /proc/fs/nfsd. nfs-utils 1.0.6 and later will support both. [PATCH] nfsv4 page boundary handling fixes. From: Galen Michael Elias This patch fixes two places where the handling of page boundaries was incorrect and caused to IO_ERR's when it shouldn't have. 1. In decode_write it was just a small typo. 2. In decode_compound we avoid using READ_BUF, but don't provide all of it's functionality, specifically crosses a page boundary. [ARM] Fix two Acorn SCSI drivers ARXESCSI does not have the interrupt routed to the host machine, so we need to babysit the host interface. We do this via a variant of the normal command function in fas216.c Fix a bug in the procfs file handling in the EESOX SCSI driver. [PNPBIOS] Move low level code into a separate file This patch moves the low level bios calls to a separate file, "bioscalls.c". It is a cleanup that will improve organization of the pnpbios driver code. [ARM] Fix platform_add_devices() prototype [ARM] Add asm-arm/local.h [PNP] Remove device naming based on id This patch removes the pnp name database code. Most buses, including pnp, will be using userspace to name devices in the near future. Also dev->name will be removed from the driver model soon. [PNP] Increment Version Number Fix vfsmnt leak: make autofs4 mount point expiry release the entry that we got through the lookup_mnt(). Noted by Dick Streefland. [NET] Dynamically allocate net_device structures for ROSE This patch changes the ROSE protocol to allocate an array of pointers and each network device separately. This sets up later change where network_device object's are released on last use which may be after the module is unloaded. The patch is against 2.6.0-test2 (though this code hasn't changed in a long time). Allocation is done via alloc_netdev so the dev->priv area is already reserved and doesn't need to be allocated separately. [NET] Convert ROSE to seq_file The existing ROSE /proc interface has no module owner, and doesn't check for bounds overflow. Easier to just convert it to the seq_file wrapper functions. This patch is against 2.6.0-test2 (offsets assume earlier patch). [NET] Fix use after free in AX.25 This patch is against 2.6.0-test2. The problem is that the ax25_destroy_socket function frees the socket buffer, but then ax25_release dereferences this causing an OOPS. To reproduce: modprobe ax25; ifconfig -a Replaced sk_free with sock_put which will free if this is the last reference. [NET] Fix X.25 use after free. The conversion from cli/sti to locking in X.25 must not have been tested on a real SMP with memory debugging enabled. It OOPS right away if I do: modprobe x25; ifconfig -a The problem is that it dereferences the socket after it has already been freed. The fix for this is to make the call to sock_put, later in x25_destroy_socket do the free. Also, need a go to avoid references in x25_release. [NET] X.25 async net_device fixup Convert X.25 async driver to have dynamic net_device's. This driver is a lot like SLIP so the code changes were similar. - Added similar locking to SLIP - replaced code that snooped for MTU changes with the net_device change mtu callback. - cleaned up the statistics by using the net_device_stats structure. Patch is against 2.6.0-test2. Not sure if anyone ever uses this. I tested by bringing up an x.25 async line using a modified version of slattach. [netdrvr ARM] alloc_etherdev updates [PATCH] ia64: Interrupt polarity fix It seems that acpi_register_intr (in arch/ia64/kernel/acpi.c) takes an interrupt polarity/trigger in opposite way. Attached patch fixes this. Please apply. drivers/acpi/resource/rsirq.c decodes ACPI extended irq resource and stores in edge_level and active_high_low members of a structure (BTW, I think the names of these members are source of confusion ;). And this logic in acpi.c inverts both polarity and trigger. vector = iosapic_register_intr(gsi, polarity ? IOSAPIC_POL_HIGH : IOSAPIC_POL_LOW, mode ? IOSAPIC_EDGE : IOSAPIC_LEVEL); ACPI -> rsirq.c -> serial.c -> acpi.c -> iosapic.c High 0 0 0 IOSAPIC_POL_LOW Low 1 1 1 IOSAPIC_POL_HIGH Edge 1 0 0 IOSAPIC_LEVEL Level 0 1 1 IOSAPIC_EDGE As ACPI_ACTIVE_{HIGH,LOW} and ACPI_{LEVEL,EDGE}_SENSITIVE are defined in acpi subsystem, it should be safer to use these symbols. [PATCH] ia64: Update to CMC/CPE polling Based on the feedback from Tony, here's the patch that flips around the clearing of cmc_polling_enabled. [PATCH] PATCH intel ich5 irq router, pci ids [PATCH] spurious SIGCHLD from dying thread group leader A dying initial thread (thread group leader) sends SIGCHLD when it exits, but it ought to wait until all other threads exit as well. The cases of secondary threads exitting first were handled properly, but not this one. This exit.c patch fixes that test case, and I think catches the other potential bugs of this kind as well. The signal.c change adds some bug catchers, the second of which will trip on the test case in the absence of the exit.c fix. [PATCH] ia64: Kill a warning if \!CONFIG_SMP This kills a compilation warning if CONFIG_SMP is *not* defined. [PATCH] Fix the sunrpc cache/reader management properly. A recent patch changed the rpc/*/channel files to behave differently depending on whether they were open for read or not. This hadn't been tested thoroughly. The cache_reader structure that was now only allocated when opening for read, had a field that was iused when writing. This patch removes that field and takes a different approach to solving the issue it addressed. And it has been tested a bit better. [PATCH] fix spinlock deadlock in ptrace-reaping of detached thread When a dead detached thread has been temporarily zombified because it's ptraced and its tracer tries to reap it, it deadlocks on SMP. Here's the fix. Don't try to signal already-zombied threads in zap_threads. Remove write-only palette variable from matroxfb. Now it is possible to build matroxfb without fbcon support. matroxfb: Initialize fbcon's cmap. Add support for panning at vertical blanking to the matroxfb. Now mplayer output looks much better on primary output (secondary output is always synced with vbl). Fix blocksize and allocation size mismatch [PATCH] USB: remove some vendor specific stuff from the pl2303 driver to get other devices to work. [PATCH] USB: remove all struct device.name usage from the USB code. This is because that field is going away shortly... [PCMCIA] Fix PnP Probing in i82365.c pnp_x_valid returns 1 if valid. Therefore we should be using !pnp_port_valid. Also cleans up some formatting issues. [PATCH] PCI: remove all struct device.name usage from the PCI core code. This is because that field is going away shortly... [PATCH] PCI: make eepro100 driver use pci_name() instead of dev.name. [PATCH] USB: ohci-hcd, minor d3cold resume fix The ohci d3cold resume path kept re-creating the sysfs files, and that seemed eventually to cause an oops. This patch only creates them on first initialization, not re-init; and includes some minor debug message tweaks. [PATCH] USB: usb-storage: Move static string out of initializers.h This patch seems to have fallen through the cracks. It takes a string constant defined as a macro in initializers.h and instead makes it a static string in initializers.c. It also subtracts 1 from the sizeof() value to avoid transmitting the terminating NUL. Finally, the patch removes an unnecessary debugging printout -- the value printed is an _output_ buffer, so of course it won't change. [PATCH] USB: remove GFP_DMA from pegasus GFP_DMA has no place in USB drivers, as its meaning is inconsistent across architectures. [PATCH] USB: DMA coherency issue with rtl8150 DMA to a part of a structure is forbidden on the noncoherent architectures. [PATCH] USB: usb_new_device() updates Changes a handful of things in enumeration error paths. Bugfixes: - consistent cleanup, and consistent return of -Ewhatever/0; - a usb_put_dev() gets rid of the extra refcount; this one's in bugzilla at osdl. Diagnostics: - new diagnostic for when there's a choice of configurations; - merges some diagnostics, for slight rodata reduction. [PATCH] USB: disable both sides of usb device ep0 at once This eliminates an error case (current cost, memleak) when disabling endpoints that have control requests queued. [PATCH] USB: use of __devinit in st5481 > But you CAN NOT mark the usb_device_id table as __devinitdata or > __initdata as that will be touched later on if a new USB device is > added, or if a new usb module is loaded. So these need to go. - remove __devinit from anything called from probe() [PATCH] USB: dvb usb driver sleeping in interrupt submitting an URB in a completion handler requires GFP_ATOMIC to be used. - usb_submit_urb must use GFP_ATOMIC in interrupt [PCMCIA] Fix cardbus init failure paths. Currently, yenta does not try to clean up after an error occurs while initialising a cardbus socket. This cset ensures that we release resources. We also claim the cardbus MMIO memory resource. [PCMCIA] Disable IRQ steering and don't change the IRQ MUX register. The IRQ steering code operates too early at present, and actually prevents us detecting ISA interrupts. We should not touch the IRQ MUX register on TI bridges - only the machine itself knows the right value for this. The kernel doesn't have the knowledge to know what function the cardbus controllers multi-function pins have been assigned by the hardware manufacturer. [PATCH] USB: usbnet, prevent exotic rtnl deadlock Turns out that when PM is in use, some D3cold resume paths could have one thread, holding the network lock, deadlock in flush_scheduled_work() since an event task is waiting for that same lock. Fix is to call that later, when the lock isn't held. [PATCH] USB: fixes for usb-skeleton.c I've found minor errors in usb-skeleton.c. First, there is no valid value of interface->minor in assignment to dev->minor. Second, when calling usb_deregister_dev the interface->minor must be valid or else minor isn't deregistered. [PCMCIA] Report subsystem vendor/device IDs In order to properly track down who needs to program the IRQ MUX register, add the subsystem vendor and device IDs to the kernel message indicating discovery of the cardbus bridge. [PATCH] PCI: trivial 2.4/2.6 PCI name change/addition This patch renames the PCI-X adapter found in HP zx1 and sx1000 ia64 systems to something more generic and descriptive. It also adds an ID for the PCI adapter used in sx1000. Patches against 2.4.21+ia64 and 2.6.0-test2+ia64 attached. Thanks, ia64: Clean up trailing whitespace. [PATCH] Athlon Machine Check fix There seemed to be increase in Athlon users reporting MCEs in 2.6 that they never saw in 2.4 and I didn't buy the "2.6 pushes hardware harder" for a second given folks are running 2.4+preempt+O(1) etc patchkits without problems. So I did a mini-audit of the mcheck code. How embarressing. Another fix that went into 2.4 that never made it forward. Once I'm done with various Red Hat administrivia I'll see if I can devote some time to going through the changesets mailing list. I wonder just how many other really stupid bugs like this got fixed and not brought forward. [PATCH] remove PF_READAHEAD The problem with PF_READAHEAD is that if someone does a non-GFP_ATOMIC memory allocation we can enter page reclaim and then call writepage, while PF_READAHEAD is set. The block layer then drops writes or the wrong reads on the floor. It can cause data loss. A fix is complex (well, intrusive). Given that the readahead code is now skipping the entire readahead attempt if the queue is congested, the setting of PF_READAHEAD probably is not doing anything useful anyway, so simply remove it. [PATCH] Fix bio RW_AHEAD test This patch fixes the BIO_RW_AHEAD being tested at the wrong end in the bio layer. [PATCH] Proper block queue reference counting To be able to properly be able to keep references to block queues, we make blk_init_queue() return the queue that it initialized, and let it be independently allocated and then cleaned up on the last reference. I have grepped high and low, and there really shouldn't be any broken uses of blk_init_queue() in the kernel drivers left. The added bonus being blk_init_queue() error checking is explicit now, most of the drivers were broken in this regard (even IDE/SCSI). No drivers have embedded request queue structures. Drivers that don't use blk_init_queue() but blk_queue_make_request(), should allocate the queue with blk_alloc_queue(gfp_mask). I've converted all of them to do that, too. They can call blk_cleanup_queue() now too, using the define blk_put_queue() is probably cleaner though. [netdrvr pcmcia] remove the release timer from all pcmcia net drivers Ack'd by Russell King as well. [PATCH] scsi_ioctl reference counting Now that we properly track queue references, that showed a bug in scsi_ioctl.c, where it was dropping queues that it had never properly gotten in the first place. [PATCH] do not scan partitions twice for removable devices fixes kobject_register() oops [PATCH] fix ata_probe() driver autoloading From Andrey Borzenkov : Apparently drive->driver is never NULL now but defaults to the default driver. [PATCH] ide_unregister() fixes From Benjamin Herrenschmidt . - avoid device list corruption and scheduling at interrupt time (more work needed on proper locking) - make sure "hold" flag and ide_dma_queued_* ops are properly transferred from old to new interface [PATCH] fix return value for idedisk_*_max_address_* functions From Andries.Brouwer@cwi.nl: - these functions should return 0 not 1 on error [PATCH] capacity related fixes From Andries.Brouwer@cwi.nl: - store capacities in sector_t - add generic sectors_to_MB() helper to ide-disk.c - fix drive->bios_cyls calculation (limiting it to 65535) for disks [PATCH] init_idedisk_capacity() cleanup() - no need to zero drive->capacity48 and drive->select.b.lba - don't call idedisk_read_native_max_address_ext() twice if drive uses LBA-48 and CONFIG_IDEDISK_STROKE is defined - remove uneccessary setup of drive->capacity48/cyl/select.b.lba if drive uses LBA-48, maximum virtual LBA address needs to be set and CONFIG_IDEDISK_STROKE is defined - set drive->cyl only once if drive uses LBA-48 - don't call idedisk_read_native_max_address() if drive uses LBA-48 and don't call it twice if CONFIG_IDEDISK_STROKE is defined - don't check for Host Protected Area if drive uses CHS addressing (such combination is not supported by a driver) - remove duplicated code (at the end of the function) that is never executed [PATCH] fix CONFIG_IDEDISK_STROKE support in ide-disk.c Original patch from Erik Andersen : - fix CONFIG_IDEDISK_STROKE by adding proper detection of HPA feature set and removing IDE_STROKE_LIMIT - remove irrelevant idedisk_supports_host_protected_area() - make the HPA detection actually display useful information I've reworked it a bit: - detect HPA before calculating drive's geometry - move HPA detection outside init_idedisk_capacity() to idedisk_check_hpa_lba28() and idedisk_check_hpa_lba48() - use sectors_to_MB() - respect 80-column limit [PATCH] v4l: sysfs'ify videodev This patch drops procfs code from videodev.c and adds sysfs support instead. It adds a new class where all v4l devices are listed. It also provides some new helper functions for v4l drivers. [PATCH] v4l: bttv driver update * the usual pile of tv card database updates. * various signed/unsigned fixups (fix gcc 3.3 warnings) and releated cleanups (use ARRAY_SIZE macro, ...). * moved some code which can be shared with the new, upcoming cx2388x driver to a separate module. * split the irq handler into smaller functions. * some new features (field rate capture support for example). * simplified i2c code a bit by removing redundant bookkeeping of attached i2c clients. * merged i2c changes back into my tree, there are some no-op changes due to this. * various other bugfixes. * fix build failure with CONFIG_FW_LOADER enabled [PATCH] USB: remove dev.name usage from gadget code. [PATCH] ax8817x.c build fix for older gcc's Work around gcc-2.9x token-pasting bug by adding a space in front of the comma. [PATCH] dm: don't use MODULE_PARM From: Joe Thornber MODULE_PARM is deprecated in 2.6. Use the new module_param() macro. [Kevin Corry] [PATCH] dm: remove blk.h include From: Joe Thornber Remove includes of . This header is deprecated in 2.6. [Kevin Corry] [PATCH] dm: decimal device num sscanf From: Joe Thornber The 2.4 version of Device-Mapper scans for device-numbers in decimal instead of hex (in dm_get_device()). Update 2.6 so both versions use the same behavior. [Kevin Corry] [PATCH] dm: 64 bit ioctl fixes From: Joe Thornber Update the ioctl32 handlers for the 64-bit architectures to recognize the new Device-Mapper version 4 ioctls. The version 1 ioctls are still there. If/When the version 1 ioctls are removed, these same files will need to be updated again. I have been unable to test this patch yet, since I have not had any luck getting 2.6.0-test2 to compile on my ppc64 box (not a dm-related problem). But the patch is pretty trivial, so I'm pretty confident it will work. If anyone else can test this (on mips64, sparc64, parisc, or x86-64), let me know if you have any problems. [Kevin Corry] [PATCH] dm: missing #include From: Joe Thornber Missing #include [PATCH] [patch 7/25 dm: use sector_div() From: Joe Thornber Use sector_div() rather than defining own version. [Christophe Saout] [PATCH] dm: resume() name clash From: Joe Thornber Some architectures define an extern function called resume(), which clashes with a static function in dm-ioctl-v4.c. Rename static one to do_resume(). [PATCH] reiserfs: fix savelinks on bigendian arches From: Oleg Drokin This small patch fixes a savelinks problem on bigendian platforms, where savelinks were not working at all because of incorrect cpu->disk endianness conversion. Savelinks are used on reiserfs to remember "truncate" and "unlink" events so that if crash happens in the middle of truncate/unlink, we do not endup with lost or half truncated files. [PATCH] reiserfs: fix problem when fs is out of space From: Oleg Drokin This patch fixes various bad stuff that happens when you write to full or almost full reiserfs filesystem. [PATCH] reiserfs: fix races between link and unlink on same From: Oleg Drokin This patch (originally by Chris Mason) fixes link/unlink races in reiserfs. [PATCH] remount_fs needs lock_kernel() The new emergency remount path forgot to take lock_kernel(), which is required for ->remount_fs(). [PATCH] move_one_page() atomicity fix move_one_page() is awkward. It grabs an atomic_kmap of the source pte (because it needs to know if there's really a page there) and then it needs to allocate a pte for the dest. But it cannot allocate the dest pte while holding the src's atomic kmap. So it performs this little dance peeking at pagetables to predict if alloc_one_pte_map() might need to perform a pte page allocation. When I wrote this code I made it conditional on CONFIG_HIGHPTE. But that was bogus: even in the !CONFIG_HIGHPTE case, get_one_pte_map_nested() will run atomic_kmap() against the pte page, which disables preemption. Net effect: with CONFIG_HIGHMEM && !CONFIG_HIGHPTE we can end up performing a GFP_KERNEL pte page allocation while preemption is disabled. It triggers a might_sleep() warning and indeed is buggy. So the patch removes the conditionality: even in the !CONFIG_HIGHPTE case we still do the pagetable peek and drop the kmap if necessary. (Arguably, we shouldn't be performing the atomic_kmap() at all if !CONFIG_HIGHPTE: all it does is a pointless preemption disable). (Arguably, kmap_atomic() should not be disabling preemption if the target page is not highmem. But we're doing it anyway at present for consistency (ie: debug coverage) and because the filemap.c pagecache copying functions rely on kmap_atomic() disabling do_no_page() for all pages: see do_no_page()'s use of in_atomic()). [PATCH] ide-cd error handling oops fix cdrom_decode_status() can call cdrom_end_request() twice. The second call oopses because the first call destroyed the request. Fix it to only call cdrom_end_request() once. Jens has acked this change. [PATCH] might_sleep() checks for x86 usercopy functions From: Matt Mackall This only checks in the non-__ versions, as those are occassionally called inside things like kmap_atomic pairs which take a spinlock in with highmem. It's all conditional on CONFIG_DEBUG_SPINLOCK_SLEEP (which isn't quite the right name) so there's no overhead for normal builds. [PATCH] Don't trigger NMI watchdog for panic delay From: Andi Kleen In some cases panic can be called with interrupts off. Don't trigger the NMI watchdog in this case when a panic= parameter is specified. [PATCH] export lookup_create() From: jbarnes@sgi.com (Jesse Barnes) hwgfs needs lookup_create(), and intermezzo already has copied it. Document it, export it to modules and fix intermezzo. [PATCH] fix free_all_bootmem_core for virtual memmap From: jbarnes@sgi.com (Jesse Barnes) Currently, free_all_bootmem_core() assumes that the bdata for a given node will begin where the node's memory map begins. This isn't necessarily true on machines that use a virtual memory map (e.g. ia64 discontig machines), so we fix page to point to the first actual page of RAM on the node, which _does_ contain the bdata struct. [PATCH] NMI watchdog documentation for x86-64 From: Ville Herva NMI watchdog is nowadays supported on x86-64, too. The nmi-watchdog.txt document doesn't mention this. Here is a patch to add a few words on that. [PATCH] Add do_setitimer prototype to linux/time.h From: Peter Chubb Currently, do_setitimer() is used in several files, but doesn't appear in any header. Thus its declaration is repeated in some files, and its use causes a warning in others (because there is no declaration present). This patch: -- adds a couple of declarations to linux/times.h -- removes the (now duplicate) declarations from other files. [PATCH] itimer resolution and rounding fixes From: george anzinger a) Fixes bug 858 (http://bugme.osdl.org/show_bug.cgi?id=858) The problem was caused by round off error in calculating the correct jiffies value in micro seconds to do the round up to jiffies. The fix is to do the round up AFTER conversion to jiffies, rather than before. This only affected the timeval to jiffies calculation. b) Changed the scale values to get the highest possible precision short of going to full 64-bit math. This is particularly useful in the scaling of the seconds part of time. The code now computes a trial value at compile time and adjusts the scaling if the result is less than 32 bits. c) Adds comments to time.h to remove (I hope) ALL the confusion that this file use to generate. [PATCH] ext3: handle aborted journals in Teach journal_get_write_access() and journal_get_undo_access() to handle aborted trasaction handles. [PATCH] declare struct irq_desc From: Martin Pool ia64_mv_irq_desc returns a 'struct irq_desc', which had a forward declaration but did not actually exist. We're currently using a silly anonymous struct typedefed to irq_desc_t. Now add the structure name as well. [PATCH] mtrr race fix From: john stultz I've found a race in the mtrr ipi_handler() and set_mtrr() functions. Basically the server, set_mtrr() does the following: 1.1 initialize a flag 1.2 send ipi 1.3 waits for all cpus to check in 1.4 toggle flag 1.5 do stuff 1.6 wait for all cpus to check out 1.7 toggle flag again 1.8 return While the clients, running ipi_handler() do the following: 2.1 check in 2.2 wait for flag 2.3 do stuff 2.4 check out 2.5 wait for flag 2.6 return The problem is the flag is on the servers stack! So if 1.7 and 1.8 executes before 2.5 happens, the client's pointer to the flag becomes invalid (likely overwritten) which causes the client to never see the flag change, hanging the box. The patch fixes that by adding a final synchronisation step in which the controlling CPU waits for all the IPI'ed CPUs to complete. [PATCH] initialise page->private From: Nathan Scott XFS wants to use page->private as a bitmap of uptodate indicators for sub-page-sized blocks (which is one of the things ->provate was intended for). But someone needs to initialise ->private somewhere. best to do it in the page allocator, so the zeroness of a new page's ->private becomes a system-wide thing. [ALPHA] IRQ updates to match x86 changes. From Jay Estabrook . [ALPHA] Fix RTC init for LYNX. From Jay Estabrook . [ALPHA] Enhanced EV6/EV7 error management. From Jay Estabrook . [PATCH] defxx: Maintenance + DMA API fixes Having necessary resources, I've decided to take over the maintenance of the defxx driver for the PDQ-based family of DEC FDDI controllers (the DEFEA for EISA and the DEFPA for PCI are the models currently handled). I've talked to Larry, the original author and the last maintainer of the code, and he's said he'd be happy about it. He's asked me to update his long-outdated contact information. Here is a patch to update the driver to the PCI version of the DMA API. The patch includes appropriate status and contact information updates. [PATCH] fixes to zap_other_threads fix We should amend that test for zombies to include the "dead" state as well. [PATCH] ia64: make ia32 core dumps work The attached patch implements core dump functionality for IA-32 applications running on ia64. [netdrvr airo] Missing defines (only for documentation) [netdrvr airo] MAC type changed to unsigned [netdrvr airo] add missing lines for Wireless Extensions 16 [netdrvr airo] MIC support with newer firmware [netdrvr airo] safer unload code [netdrvr airo] Fix adhoc config [netdrvr airo] now that it builds, re-enable wireless_ext Merge with DRI CVS tree: fix use-after-free bug in DRM(takedown) ia64: Make elfcore32.h compile for 2.6.0-test2. [PATCH] Make x86-64 compile again Add include to fix compilation on x86-64 [PATCH] ia64: epoll support for ia32 applications The patch was created by Matt Helsley for 2.4 and has been changed slightly to match 2.6. The implementation compromises performance for correctness. [PATCH] ia64: compat_ioctl.c support The attached patch (against 2.6) helps IA-32 applications take advantage of the generic 32 bit (fs/compat_ioctl.c) ioctl handlers. [PATCH] ia64: sn2 pci fixes (among others) sn2 still doesn't use ACPI to describe PCI busses on the system (I'm working on it), so we have to do it the old fashioned way. This patch also includes a few other fixes. [PATCH] ia64: hardirq.h should include smp_lock.h when preempt enabled As in_atomic() uses kernel_locked() which is in smp_lock.h. [PATCH] ia64: IOSAPIC .weak symbol cleanup The patch below removes the .weak symbol stuff from iosapic.c. As far as I can tell, iosapic.c is compiled for every flavor except the simulator. I tried to boot the HP_SIM kernel on ski, but it seems to loop in find_save_locs(). This happens both with and without this patch, so maybe I have a local problem. (I started with a clean tree, did make [PATCH] ia64: more ACPI/IOSAPIC cleanup This applies on top of Takayoshi's interrupt polarity fix and just makes things a tiny bit more consistent. Is acpi_irq_to_vector() even needed anymore? I don't see any references to it. Remove bogus temporary file from revision control. [PATCH] modify data types in efi.h From Matt Tolentino: Here's a small patch to change several data types from u64 to unsigned long in efi.h. These changes enable the use of the same data structures and function prototypes for ia32 EFI kernels. [PATCH] remove unnecessary stubs from watchdog drivers This removes some function stubs from 6 watchdog drivers. The VFS already returns -EINVAL in cases where fop->read == NULL, so there's no need to duplicate the code 6 times. This patch removes the stubs and is compile tested. [PATCH] floppy smp fix This is a port of some smp fixes I did for 2.4 floppy.c Andrew did the re-diffing. I2C: move the name field back into the i2c_client and i2c_adapter structures. This is because the name field of struct device is going away, and the name fields on these i2c structures are useful for people. I2C: fix up driver model programming error. There was no release function for the objects. bad greg, no biscuit... [PATCH] I2C: i2c sysfs rant On Wed, Aug 06, 2003 at 04:22:44PM -0700, Greg KH wrote: > On Wed, Aug 06, 2003 at 09:11:45PM +0200, Wiktor Wodecki wrote: > > Hello folks, > > > > I just saw that I2C provides "/sys/bus/i2c/drivers/dev\ driver" in > > 2.6.0-test2. It would be nice if you'd consider renaming this to > > dev_driver, to avoid un-neccessary quoting in scripts. > > > > Thank You :-) > > Patches are always gladly accepted :) here you go [PATCH] USB: ftdi_sio - VID/PID for ID TECH IDT1221U USB to RS-232 adapter This patch adds support for ID TECH's IDT1221U USB to RS-232 adapter (intended for use and/or supplied with some of their magnetic/smart card readers). The VID and PID were provided by Steve Briggs on the ftdi-usb-sio-devel list. [PATCH] I2C: Additional P4B subsystem id for hidden asus smbus This patch adds another P4B motherboard subsystem identifier to the recent asus sensor patch for the 2.6 kernel. [PATCH] PCI: pci_enable_device vs bridges bugs Bug #1 (found by Jay Estabrook). On Alpha, under certain circumstances the firmware may close the IO window of PCI-to-PCI bridge even if there is IO behind. This wouldn't be a problem - linux PCI setup code does set up this window properly, but in addition the firmware clears the IO-enable bit in the PCI_COMMAND register of the bridge. Since we don't call pci_enable_* routines for bridges in non-hotplug path, we end up with disabled IO. Fixed by adding pci_enable_bridges() to pci_assign_unassigned_resources(). Architectures which don't use the latter, but do use other setup-bus code (parisc?) also should call pci_enable_bridges() for each root bus. Bug #2 (closely related to #1). As it turns out, pci_enable_device() doesn't work for bridges at all, only for regular devices (header type 0) due to 0x3f mask passed to pci_enable_device_bars(). The mask should be (1 << PCI_NUM_RESOURCES) - 1. Bug #3 (quite a few archs, including i386). pcibios_enable_device() does only check first 6 resources (regardless of the mask) to decide whether or not to enable IO and MEM. Bridge resources start at 7. #2 and #3 affect hotplug. I wonder, has anybody ever tried *bridged* PCI card behind a hot-plug controller? [PATCH] Donauboe probe fix ir260_donau_cleanup.diff : ~~~~~~~~~~~~~~~~~~~~~~~~ o [CORRECT] Disable chip probing that fail too often o [FEATURE] Cleanup STATIC [PATCH] IrLAP retry count ir260_lap_retry_count.diff : ~~~~~~~~~~~~~~~~~~~~~~~~~~ o [CORRECT] add interoperability workaround for 2.4.X IrDA stacks [PATCH] irda-usb probe fix ir260_usb_probe-4.diff : ~~~~~~~~~~~~~~~~~~~~~~ o [CORRECT] minor fix to the probe failure path of irda-usb. [PATCH] tekram-sir driver fix ir260_tekram-sir.diff : ~~~~~~~~~~~~~~~~~~~~~ o [CORRECT] Update tekram-sir dongle driver to common power-settling [irda] Add VIA FIR driver, via-ircc Contributed by VIA, via Jean Tourrilhes. Linux 2.6.0-test3