Summary of changes from v2.6.0-test4 to v2.6.0-test5 ============================================ PPC32: Update the Motorola MCP(n) 765 support code. From Mark Greer . [SCTP] Fix bugs in sysctl set/get of sctp rto parameters. PPC32: Cleanup arch/ppc/boot/simple/Makefile. This is from Sam Ravnborg . [AGPGART] Fix up ATI's identity crisis. Someone at ATI cloned the ALi GART driver, and never fixed up the references. This meant namespace collisions if the ALI driver was compiled too. Oops. [DRM] Update MAINTAINERS. On request from Rik. PPC32: Fix a warning in the boot serial code. From Scott Anderson . PPC32: Allow for hooks into the bootwrapper. This allows for platform specific bi_recs to be passed in, as well as other platform-specific fixups. PPC32: Fix udelay in the PPC boot code for non-16.6 MHz timebases. Patch from Scott Anderson originally. PPC32: Minor fixups to the Motorola Sandpoint platform. PPC32: Export flush_tlb_page. From Michel Daenzer . PPC32: Fix a warning in the 'mktree' boot util. PPC32: A number of minor KGDB fixes and tweaks. PPC32: Add Magic SysRq support to the MPC8260 platforms. From Wade Farnsworth . PPC32: Define MCA_bus__is_a_macro. From Christoph Hellwig. [PATCH] ia64: fix ia32 execve memory leak The attached patch by Tony Luck fixes a memory leak in the ia32 execve code path. [TG3]: Initial implementation of 5705 support. [TG3]: Bug fixes for 5705 support. - (major) status block DMA address wasn't being set, for 5705. whoops. :) - (minor) pass 5705-specific RX_STD_MAX_SIZE - (minor) don't program RCVBDI_JUMBO_THRESH reg on 5705 - (very minor) re-order *THRESH, HOSTCC* regs per bcm570x driver order [TG3]: More 5705 updates. - do not zero stats/status block on 5705, they don't exist (in controller memory, at least) - define TG3_MAX_MTU macro such that it takes a (tp) pointer arg, because the value varies between 5705 and non-5705 - use the macro to simply tg3_change_mtu [TG3]: More 5705 fixes. - call set-wire-speed phy function from tg3_phy_reset, not just _phy_probe - disable set-wire-speed usage on certain chips, per bcm5700 driver [TG3]: Another 5705 fix: enable eeprom write prot as needed. [TG3]: Only write the on-nic sram addr on non-5705. [TG3]: Add 5782 pci id. [TG3]: Fix statistics on 5705. [PATCH] USB: PATCH 1/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 2/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 3/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 4/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 5/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 6/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 7/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 8/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 9/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 10/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 11/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 12/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 13/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 14/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 15/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 16/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 17/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 18/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: PATCH 19/19 Audit usb_register/usb_serial_register under divers/usb/serial [PATCH] USB: remove #include from some usb drivers. It's not needed. [PATCH] USB: change pci host drivers to use PCI_DEVICE_CLASS() macro. [PATCH] USB: remove proc code from stv680 driver as it's no longer needed [PATCH] USB: convert stv680 driver to handle the driver core changes in the v4l layer [PATCH] USB: add sysfs files for stv680 driver, replacing the lost proc functionality. [PATCH] V4L: fix use after free bug in v4l core. [PATCH] V4L: add video_device_remove_file() to match video_device_create_file() [TG3]: Do not reset the RX_MAC unless PHY is Serdes. Bug discovered by Michael Chan @ Broadcom. [PATCH] USB: root hub polling stops after suspend [PATCH] USB: linuxppc-2.5 fixlets for usbtest.c fix drivers/usb/misc/usbtest.c:438: warning: passing arg 1 of `__swab32s' from incompatible pointer type by using le16_to_cpus instead of le32_to_cpus . [PATCH] USB: usb_sg_cancel() + disconnect, fewer messages One tester reported that disconnecting in the middle of a scatterlist operation would give a lot of confusing messages. This should improve that situation a bunch: most of the messages were pointless. It also resolves some related FIXMEs for both queue cleanup modes (cancelation, and after transport fault). - now only urbs in flight have non-null urb->dev, so we can avoid trying to unlink unsubmitted or (common) already-completed urbs. - it's ok to get -EBUSY unlink status, it just means the urb's already being given back (though since it's in flight, it's not an error to try unlinking). Also, the relevant diagnostics now use dev_*() driver model calls, making the kernel strings smaller and the output more useful. [PATCH] USB: ftdi_sio - fix memory leak and tidy up write bulk callback The patch frees the bulk write urb's transfer buffer in the write bulk callback (the buffer is allocated dynamically when the urb is submitted). The patch also tidies up the write bulk callback function a little bit - removing some unnecessary paranoid checks and scheduling a soft interrupt regardless of the port's open count (for consistency with other usb serial drivers). [PATCH] USB: Add ax8817x support to usbnet This patch adds support to usbnet for devices based on the ASIX AX88172 USB 2.0 Ethernet chipset. [PATCH] USB: new ids for io_ti driver [TG3]: More missing PCI IDs. [PATCH] USB: version.h cleanup 1 of 4 [PATCH] USB: version.h cleanup 2 of 4 I used a combination of: egrep -l 'UTS_RELEASE|LINUX_VERSION_CODE|\' and "grep -l linux/version.h" to find them. They compiled as module/non-module for me. The previous patch adds version.h, btw. [PATCH] USB: version.h cleanup 3 of 4 [PATCH] USB: version.h cleanup 4 of 4 [PATCH] USB: writing usb driver documentation update I noticed, that your documentation of your usb-skeleton driver is not up to date. So I took the time to rework it slightly. I append the patch to the version I found in kernel 2.6.0-test3. [PATCH] USB: C99: 2.6.0-t3-bk7/Documentation [PATCH] Fix cdrom error handling in 2.6 In both 2.4 and in 2.6, error handling for bad cdrom media is wrong. And it is my fault I'm afraid, since I botched an earlier fix for the problem by putting the fix in the wrong spot. My kids have a "Jumpstart Toddlers" cd they have long since completely killed, which makes a great test disc. Without this fix, the best time projection I can get for completing a dd type sector copy is about 2 years... Most of that is spent thrashing about in kernel space trying to re-read sectors we already know are not correctable.... After the fix, I was able to rip a copy the CD (or rather muddle through it getting lots of EIO errors) in about 15 minutes. Attached is the fix for 2.6.x, PPC32: Add the fadvise64_64 system call. On PPC32 we reorder the arguments so they fit into 6 registers. Glibc will need a two-line stub to change them from the standard order to the ordering used by the system call: (fd, advice, offset, len). PPC32: Declare cpu_online_map and cpu_possible_map as cpumask_t. PPC32: Update some of the example configs Input: typo in device matching. Too much cut-and-paste, noticed by Dmitry Torokhov [PATCH] vx_entry.c: remove release timer sound/pcmcia/vx/vx_entry.c: This patch removes the PCMCIA timer release functionality which is no longer required. Without this the module does not compile. [ARM PATCH] 1595/1: [PATCH] 1/10 Simpad changes Patch from Holger Freyther see content [ARM PATCH] 1598/1: [PATCH] 4/10 Simpad changes Patch from Holger Freyther [ARM PATCH] 1603/1: [PATCH] 9/10 Simpad changes Patch from Holger Freyther [ARM PATCH] 1611/1: Add big-endian support to AFLAGS Patch from Deepak Saxena This is required for usr/initramfs_data.o to build properly when CONFIG_CPU_BIG_ENDIAN is enabled. [ARM PATCH] 1615/1: Fix IOP3xx timer interrupts Patch from Deepak Saxena Fix IOP321 and IQ80310 timer interrupts to return IRQ_HANDLED [ARM] Noddy indentation fix for arch/arm/boot/Makefile. [ARM PATCH] 1613/1: arch/arm/boot/Makefile fixups for IOP3xx and ADIFCC Patch from Deepak Saxena Small cleanups for ADIFCC and IOP3XX machine types to support ATAG parameters. Working with Intel and ADI to get updated bootloaders that pass the tags. Also, all known IOP3xx boards have memory starting at 0xa0000000, so we can remove the redundant ARCH_IQ* zreladdr values. [ARM PATCH] 1616/1: Add PFN_TO_NID to IOP3xx Patch from Deepak Saxena [ARM PATCH] 1621/1: IOP3xx CPU detection (cleaned up) Patch from Deepak Saxena Removes extraneous bits that belong to separate IOP3xx PCI cleanup patch Supersedes 1618/1 [ARM PATCH] 1623/1: Updated def-configs for IQ80310/321 Patch from Deepak Saxena [ARM PATCH] 1620/1: dma_map_single/unmap_single support for ARM Patch from Deepak Saxena [ARM PATCH] 1559/1: updated include/asm-arm/checksum.h big-endian support Patch from Deepak Saxena This is an update to patch 1529/1 that cleans up the code so we don't need #ifdef's for little vs. big-endian systems. Tested on both systems with various network apps (ping, ftp, tftp, ssh, telnet, NFS root, http) with no issues. [ARM PATCH] 1563/1: Update pxa-regs.h with correct gpio number for 48 MHz clock output Patch from Frank Becker GPIO for 48 MHz clock output is 7 not 8. [ARM PATCH] 1565/1: syscall macros clobbering returned error value Patch from Nicolas Pitre In both 2.5.70-rmk1 and 2.4.19-rmk7 the syscall macros are clobering the returned error value when building library code. Example code: #include #include extern int fake_syscall(int x, int y, int z); _syscall3(int, fake_syscall, int, x, int, y, int, z) Current generated code: fake_syscall: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 str lr, [sp, #-4]! swi __NR_fake_syscall cmn r0, #126 ldrls pc, [sp], #4 bl __errno_location rsb r3, r0, #0 str r3, [r0, #0] mvn r0, #0 ldr pc, [sp], #4 In the code above, whenever the return value is an error code, it is lost due to the call to __errno_location. And because of the asm("r0") constraint on the variable __res the compiler continues using r0 for it even if it's now a pointer value. errno ends up with a totally bogus value. With the patch below the above code becomes: fake_syscall: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 stmfd sp!, {r4, lr} swi __NR_fake_syscall cmn r0, #126 mov r4, r0 bls .L3 bl __errno_location rsb r3, r4, #0 str r3, [r0, #0] mvn r4, #0 .L3: mov r0, r4 ldmfd sp!, {r4, pc} which is correct. Oh and added a small estetic change for generated code too. [TG3]: Reset PHY more reliably on 570{3,4,5} chips. [TG3]: Fix 5788/5901, update TSO code. - Do not set RDMAC_MODE_FIFO_LONG_BURST on 5788 - Do not set WDMAC_MODE_RX_ACCEL on 5788 - Note that 5788 cannot use tagged irq status. - 5788 cannot do TSO - 5788 cannot do NETIF_F_HIGHDMA. - 5901 is 10/100 only. - Update TSO firmware, add 5705 specific TSO firmware. - Update TSO packet handling in ->hard_start_xmit() to match updated TSO firmware. - TSO is still off by default until more perf analysis is done. [TG3]: Differentiate between TSO capable and TSO enabled. [ETHTOOL]: Add {G,S}TSO support to ethtool_ops. [TG3]: Add {get,set}_tso ethtool_ops support. Also, include TSO support code when NETIF_F_TSO is available but do not enable TSO by default even on capable cards. User can turn it on via ethtool. [TG3]: Bump version/reldate. [TG3]: Fix tg3_phy_reset_5703_4_5 chip rev test. [TG3]: Bump version/reldate. [ETHTOOL]: Add ethtool_op_{set,get}_tso helpers. [TG3]: More fixes and enhancements. - Use ethtool_op_{get,set}_tso(). - Avoid partial byte enables on DMA writes, this upsets several non-x86 PCI controllers. cputable.c: Fix CPU table, 750FX rev 1.x must not tab high BATs [SPARC64]: Add some missing PCI error reporting. Add new OF tree walking APIs Update OF platform & macio driver cores to adapt to device model changes. Fix refcounting Update openpic to expose a sys_dev for power management, make it more robust vs. concurrent calls by the PM system and cpufreq Update pmac PIC driver to register a sysdev for Power Management Major update via-pmu driver, hopefully last before we split it & do major cleanup. - Adapt to new power management - Make PM and cpufreq more robust by preventing ADB requests from getting in after the actual freq change / sleep one - Close a few races - Expose some IRQ stats & fix a problem where core99 machines were getting tons of spurrious ADB events [IPV4]: Route cache /proc interface cleanup. * use proc_net_fops_create to setup * collapse two_line setup functions into the init routine * proc_exit routine was never called and can go. * cleaner to refer to proc_net as base rather than net/rt_acct [NETFILTER]: Trivial 2.6 tftp conntrack fix. In 2.6, the TFTP conntrack helper returns -1 if the packet is too short, but that is an invalid return code. Return NF_ACCEPT instead. [ARM] Fix vmlinux linker script Since we're now 32-bit "armv" only, we don't need to select the linker script in vmlinux.lds.S. Also, whoever moved vmlinux.lds.S into arch/arm/kernel forgot to move the other scripts. This cset replaces arch/arm/kernel/vmlinux.lds.S with arch/arm/vmlinux-armv.lds.in, and deletes the obsolete scripts. [BRIDGE]: Add arpreply EBTABLES target. [AX25]: Make sure and hold ref to dev. The lower layers of ax25 hold a reference to the underlying device but don't increment the ref count. This is safe because it does the right thing when UNREGISTER notification comes in, but it is better to do the right thing. [AX25]: Convert to seq_file. [BRIDGING]: Update Kconfig files for bridging firewall. [ARM] Remove reference to struct device name element. [IRDA]: vlsi_ir v0.5 update, 1/7. * Kconfig: we depend on CONFIG_PCI * update header compatibility stuff * beautify C99-initializers for PCI IDs * PCIDEV_NAME wrapper to abstract device name storage location * cleanup of the pci shutdown path. Also fixing a possible NULL-pointer dereference when the driver is rmmod with the netdev still running. [IRDA]: vlsi_ir v0.5 update, 2/7. * don't fail without procfs - it's only needed for diagnostics * get rid of printk in favour of IRDA_DEBUG and friends wherever possible * reduce kernellog noise depending on irda debuglevel [IRDA]: vlsi_ir v0.5 update, 3/7. * fix error path for ring entry alloc in case pci_map failed * get rid of BUG() - it's mostly in interrupt and there's no need to kill the box on such issues * correct endianess for the hardware view of ring descriptors [IRDA]: vlsi_ir v0.5 update, 4/7. * interrupt handler cleanup, focus on fast path and low latency * rx-path cleanup * add missing crc16 check of incoming SIR frames [IRDA]: vlsi_ir v0.5 update, 5/7. * cleanup baud rate setting and mode switch * locking and barrier review [IRDA]: vlsi_ir v0.5 update, 6/7. * tx-path cleanup * fix deadlock when setting speed in tx_interrupt, issue was introduced by previous interrupt locking cleanup * don't let start_xmit return NET_XMIT_DROP if we drop and free the skb. This fixes an old bug in the error path leading to skb_slab corruption [IRDA]: vlsi_ir v0.5 update, 7/7. * correct mtt bits to indicate 1msec or more * rename IRENABLE_IREN to IRENABLE_PHYANDCLOCK * rearrange driver metadata and header * driver version 0.5 [NET]: Fix 'spin_lock_irqrestore' typos in sk_mca.c [NETFILTER]: Fix ipt_REJECT if used on bridge. [NETFILTER]: Remove ipt_MIRROR target from 2.6.x We have decided to remove the MIRROR target, since it was considered a stupid and potentially dangeroups example code of the early netfilter days that should never be used on the internet anyway. [NET]: Remove dead comment from dummy.c driver. [NETFILTER]: Remove ipt_unclean match from 2.6.x We have decided to remove the unclean match, since it is considered a potentially dangerous function of the current iptables code. The match is used by lots of users who don't really undestand what kind of danger they are imposing on the future-compatibility of their networks. (just think of the ECN issue resulting from this kind of filtering) We'd rather keep it in patch-o-matic, where lots of other modules that are only useful in experimental scenarios are kept. Now that we don't have to keep it for compatibility reasons, we'd like to remove it before 2.6.0 final is released. [NETFILTER]: Remove EXPERIMENTAL mark from some netfilter stuff. [NETFILTER]: Cosmetic netfilter patch. - moves all MODULE_{AUTHOR,DESCRIPTION,LICENSE} statements to the same location - adds some missing MODULE_LICENSE(GPL) tags - adds MODULE_DESCRIPTION and AUTHOR to all modules [NETFILTER]: NAT optimization. The following patch against 2.6.0-test4 (courtesy of Patrick McHardy) optimizes the NAT code. In the old implementation, the hash function was passed to the LIST_DELETE macro, which resulted in it being called two times instead of one. [NETFILTER]: Conntrack optimization (LIST_DELETE). The following patch against 2.6.0-test4 (courtesy of Patrick McHardy) optimizes the conntrack code. In the old implementation, the hash function was passed to the LIST_DELETE macro, which resulted in it being called two times instead of one. [NET]: Fix MCA device name handling in 3c509.c [NET]: Check tgid not pid in scm_check_creds(). [ARM] Fix device suspend/resume calls. These calls no longer take "level" arguments, so there's no need to call them multiple times. [ARM] Fix ecard.c manufacturer and product files. [SPARC]: Update ethtool support in Sun net drivers. Update PowerMac IDE driver. Adapt to new driver model, add proper support for Kauai ATA/100 and add activity led code. NOTE: The activity LED code has been left out of Kconfig until the proper support for it in the blk & ide layers have been merged (pending patch from Jens Axboe) [ARM] Tweak the bridge control register for PCI and cardbus bridges. This ensures that we release reset on devices behind a PCI bridge, and that we have error reporting enabled behind bridges. Adapt PowerMac i2c-keywest driver to new driver model Fix PowerMac ALSA build with device model "name" field change Update PowerMac mediabay driver to new model, fix an old bug that could prevent one of the timeouts from working, fix access to MMIO based interface [ARM] Remove pci_dev->dev.name in favour of pci_name() Adapt PowerMac "airport" driver to new driver model Fix build of controlfb driver Adapt PowerMac "platinum" video driver to new driver model [ARM] Remove old binutils compatibility. Old binutils (without .incbin) had the idea that a certain assembler instruction was illegal. binutils has since been fixed to allow it. [ARM] Update AMBA suspend/resume model. The device_driver suspend/resume methods are no longer used. Instead, the bus_type contains the suspend/resume methods. Fix the AMBA bus support for this change. fixup xmon ADB polling so that it works before ADB core is loaded [ARM] Update SA1111 suspend/resume model. The device_driver suspend/resume methods are no longer used. Instead, the bus_type contains the suspend/resume methods. Fix the SA1111 bus support for this change. We place the probe/remove/suspend/resume methods inside struct sa1111_driver and call them from the SA1111 bus driver (ie, how Pat wants this stuff done.) We leave the parent bus device suspend/resume methods in the device driver until power management for platform devices works again. However, we adjust these methods so they run only once, like the other PM methods. Add back missing fb_set_var to PowerMac platinum driver [ARM] Fix EBSA285 CLOCK_TICK_RATE. The timex/time code requires CLOCK_TICK_RATE to be constant. We assume that the platform picks an appropriate clock source such that we generate an exact HZ value, and set CLOCK_TICK_RATE to a value where ACTHZ == HZ. Update PowerMac cpufreq driver to adapt it to some core changes and fix a race with the PMU driver For keeping interface ordering consistent between previous kernels and the new driver model probing mecanism, drivers/macintosh has to be linked before ide and scsi Don't care about driver registration results for i2c-keywest so failing one don't break the other Fix drivers/video Makefile so control & platinum drivers gets proper depedencies on the cfb* files Add new pmac_zilog serial driver, obsolete old macserial. The new driver is a complete rewrite based on David Miller sunzilog adapted to PowerMac, it uses the new driver model & the serial driver core unlike the old macserial. It doesn't support DMA yet but this is a "feature" for now as the DMA implementation of macserial used to exhibit memory corruption problems. [PCMCIA] Use #define'd constants in ZV code where possible. [PCMCIA] Clean up yenta overrides Move the quirk selection to the main PCI ID table, and list the quirks by type. Introduce "cardbus_type" structure to contain the quirk information. [PCMCIA] Move socket initialisation to the quirk table. This removes the horrible side effect where we modify the generic yenta_socket_operations structure (which of course other sockets may be using.) We move the socket init quirks into our cardbus_type quirk structure, and call it during the generic socket initialisation. [NETFILTER]: New iptables modules (iprange, CLASSIFY, SAME, NETMAP). The following patch against 2.6.0-test4 adds four more iptables modules. They are adding the following functionality - iprange: matching against an arbitrary contiguous range of ip addresses - CLASSIFY: setting skb->priority from iptables (so you can skip tc filter) - NETMAP: SNAT a whole network 1:1 to another network - SAME: tries to keep the assigned ip per client the same within an SNAT pool [NETFILTER]: Use correct printf format for size_t in ipt_CLASSIFY.c Update "coff" zImage wrapper so it works with larger kernel images Fix missing bit in the new .coff wrapper [PATCH] IOMMU overflow handling fix for MPT fusion Currently mpt fusion does not handle IOMMU overflow (pci_map_sg returning 0) very gracefully. It gets not reported to the upper layers. This patch fixes this. As a related note the fusion driver tends to trigger the NMI watchdog as soon as it goes into any error recovery, because it busy waits for seconds with interrupts disabled (seems to be still true with the new error handling in 2.6). This is a big inconvenient because it leads to a forced oops. I tried to work around it by exporting touch_nmi_watchdog and using it in the delays, but Linus was opposed to this approach. It would be nice if someone could fix this. Afaik in 2.6 the error recovery should mostly run in process context, so it should be possible to use schedule_timeout() with interrupts on for the delays. At least on x86-64 the NMI watchdog runs by default and even on i386 it is a very useful debugging tool. some whitespace & tab fixes [PATCH] GFDL issue in Documentation/DocBook/scsidrivers.tmpl [Switch GFDL to GPL] Fix a bug where an ide-pmac hwif returned to the system because it's empty would still be probed thus causing a crash on some machines. Also fix some whitespace/tabs. Add & export some routines to access the i2c busses that hang off the PMU, not yet linked to the linux i2c subsystem though. Fix some whitespace/tabs too. [PATCH] imm driver needs scsi_unregister() Same as the ppa driver, keeping them in sync. patch_name: scsi_imm_unreg.patch patch_version: 2003-08-19.21:14:54 author: Randy.Dunlap description: scsi imm driver needs to call scsi_unregister(); product: Linux product_versions: 260-test3 diffstat: = drivers/scsi/imm.c | 1 + 1 files changed, 1 insertion(+) [PATCH] advansys build with ADVANSYS_DEBUG defined This patch enables the advansys driver to build when ADVANSYS_DEBUG is #defined. patch_name: scsi_advan_260t3.patch patch_version: 2003-08-10.22:37:15 author: Randy.Dunlap description: enable compile with ADVANSYS_DEBUG #defined product: Linux product_versions: 260-test3 URL: _ maintainer: unknown diffstat: = drivers/scsi/advansys.c | 13 +++++++------ 1 files changed, 6 insertions(+), 6 deletions(-) [PATCH] sym2 hotplug fix When testing sym2 hotplug I found a few places where we need to use __devinit, not __init. [PATCH] dc395x [1/6] - make functions static I forgot to make some of the new functions added during the list cleanups static. This patch just declares those new functions static. [PATCH] dc395x [2/6] - cleanup devices This cleans up the device management. It makes the init and cleanup seperate functions that basically do the opposite type things in reverse order. Makes it clear which functions remove a device and which ones free a device (or devices.) [PATCH] dc395x [3/6] - cleanup adapter init Cleanup of the adapter initialization sequence. Now it's clear what is going on and what has been done at any point. It also keeps the initialization of various things together and not spread out over a bunch of different functions. This then made it possible to ensure that appropriate the resources were correctly released in the event of failure. [PATCH] dc395x [4/6] - cleanup adapter uninit Clean up the initialization sequence for the adapter. Makes it easier to follow. [PATCH] dc395x [5/6] - check for device After searching for a device to free, only free it if it was found. [PATCH] dc395x [6/6] - use pci resource len Instead of hard coding the number of io ports (to the wrong value no less) use the pci_resource_length to determine the number. [PATCH] make scsi_priv.h includable standalone PPC32: Change the default behavior of a kernel with KGDB. We now don't default to an initial breakpoint, as this is how KGDB on i386 works. PPC32: Fix KGDB and userland GDB interactions. [SCTP] draft07 API changes: sctp_getpaddrs(), sctp_getladdrs() now return a packed array of sockaddr_in/sockaddr_in6 structures instead of an array of sockaddr_storage structures. [PATCH] ia64: fix printk type warning [PATCH] ia64: default to building compressed i386 defaults to building bzImage (as well as modules) if you just type make. This patch mirrors that on ia64 by building compressed. [PATCH] ia64: paddr_to_nid fixup Here is a small patch for paddr_to_nid(). This fix is already in 2.4 and is used in the case where a NUMA kernel is running on a machine without a SRAT ACPI table. Without this patch the node info is not correctly located. [PATCH] ia64: no discontig w/o NUMA Currently the generic kernel won't build if you turn off NUMA support. Seems discontig support is too entangled with NUMA support to live without it. This patch makes it behave a bit more friendly. ia64: Manual merge with Alex's "UP cmc/cpe polling fix" patch. [PATCH] ia64: ia64/lib/Makefile: use call-if-changed - IGNORE_FLAGS_OBJS is no longer honoured (this is the only reference to it in the tree). - Change the .o.S rule to look the same as the one in scripts/Makefile.build. This means we'll generate .cmd files instead of the .d files which makes CVS happier. [PATCH] make scsi logging level a sysctl The logging level is now controlled by a /proc/sys/dev/scsi/logging_level sysctl instead of /proc/scsi/scsi. The format is the same as the logging_level module parameter. [PATCH] make /proc/scsi/scsi/ support optional There's no more essential functionality in it so allow the embedded folks to configure it out. ia64: Use offset_in_page() instead of equivalent open code. ia64: Hook up fadvise64_64() system call. [PATCH] don't export proc_scsi proc_mkdir can also take absolute pathes, so we can avoid the export. [NET]: net/core/ethtool.c needs asm/uaccess.h [PATCH] add a missing extern to scsi_priv.h scsi_scan_host_selected was the only prototype without 'extern' [PATCH] serialize bus scanning Synchronize all scanning activity, this fixes long-standing races vs /proc/scsi/scsi and sysfs addition and deletion of devices. Note that this does not serialize removing, the lists will get their own locking soon. [TG3]: Fix ethtool_ops/sun_5704 changes collision. tg3_init_rings() happens in tg3_init_hw(), so zap every other occurance. [PATCH] fixup some tagged queuing mess This is a followup to Doug's comments and older work. It kills sdev->tagged_queue which wasn't ever set in 2.5/2.6 except through obscure and broken ioctls (!). As a reason of that tagged queing didn't work for a lot of drivers, so this does change behaviour. Be careful.. James, can you review the code in 53c700.c? Calling scsi_activate_tcq in ->queuecommand rather than ->slave_configure looks rather strange to me.. [TG3]: Protect get/set TSO support with proper ifdefs. [PATCH] give scsi_allocate_request a gfp_mask most callers really want GFP_KERNEL, not GFP_ATOMIC. [PATCH] kill an unused variable in sym2 [PATCH] kill some dead code in sym2 No need to keep around the non-dma mapping code in 2.6 [PATCH] check whether a disk got writeable in sd_open This is the 2.5 version of a 2.4 patch posted to the list long ago, the aacraid thread reminded me of it. The problem is that certain highend arrays allow to mark a r/o volume writeable on the fly so we have to call check_disk_change for write-protected devices in sd_open, too. C99 initializer fixes Remove useless junk at beginning of MachineCheck exception handler, this actually is causing problems on some CPUs [PATCH] fix Kernel Panic in scsi_host_dev_release If a driver calls scsi_register, but then has a problem in there detect where they need to call scsi_unregister the parent pointer of the struct device may never be set. drivers/scsi/hosts.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletion(-) [netdrvr sis190] fix build with older gcc older gcc's do not support C99/C++ style of variable declarations. [netdrvr sis190] pass irq argument to synchronize_irq() Looks like this driver wasn't tested on SMP :) [netdrvr 3c59x] ethtool_ops support [netdrvr sis900] ethtool_ops support [netdrvr 8139cp] ethtool_ops support [netdrvr sis190] convert TX path to use PCI DMA API Also, minor changes: * mark ->hard_start_xmit ETH_ZLEN test as unlikely() * use cpu_to_le32() and le32_to_cpu() in TX path * fix two leak in error path, in ->hard_start_xmit * don't test netif_queue_stopped() in TX completion path, netif_wake_queue() already does that. [netdrvr sis190] make driver depend on CONFIG_BROKEN Until RX path is cleaned up to use PCI DMA API and not virt_to_bus. [netdrvr 3c501] ethtool_ops support [netdrvr] ethtool_ops support in 3c503, 3c505, 3c507 [netdrvr] ethtool_ops support for 3c515, 3c523, 3c527, and dmfe [netdrvr pcmcia] ethtool_ops for 3c574, 3c589, axnet [netdrvr pcmcia] convert several drivers to ethtool_ops Drivers updated: fmvj18x_cs, ibmtr_cs, nmclan_cs, pcnet_cs, xirc2ps_cs. ia64: The second chunk of the "UP cmc/cpe polling fix" seems to have gotten lost. Please apply the attached for the cpe side of the fix. [netdrvr xircom_cb] ethtool_ops support Also, export PCI bus id via ETHTOOL_GDRVINFO. [wireless ray_cs] ethtool_ops support ia64: Fix usage ("corrected" machine checks and platform errors, not "correctable"). [netdrvr sis190] remove unneeded alignment code, other small fixes Driver does not need to enforce 256 byte alignment for data returned from pci_alloc_consistent(). - {rx/tx}_dma_aligned and {rx/td}_dma_raw are both replaced by {rx/tx}_dma; - {rx/tx}_desc_raw is replaced by direct use of {Rx/Tx}DescArray; - SiS190_open() + fixup for a lack of kmalloc() failure handling; + (return status) there is no need for both retval/rc: merge them; + anonymous printk() fixup: the name of the guilty device is printed; - define {RX/TX}_DESC_TOTAL_SIZE because I am too lazy to read twice the same lengthy arithmetic expression. Fix typo introduced into 53c700 by tag fixup patch Add extern for scsi_logging_level so scsi_sysctl.c can compile [netdrvr 8139too] use mii_check_media lib function, instead of homebrew MII bitbanging. [netdrvr 8139too] lwake unlock fix [netdrvr 8139too] remove unused RxConfigMask [netdrvr 8139too] add more h/w revision ids [netdrvr sis900] don't call pci_find_device from irq context I realized that I've had this patch in my tree for a while, and forgot to send it to you and lkml. The patch below fixes bug number 923: http://bugme.osdl.org/show_bug.cgi?id=923 (basically keeps us from calling pci_find_device from interrupt context.) It's been tested by a few people with this device, and they say it works just fine for them. Please forward it on up the food chain. [wireless airo] add support for MIC and latest firmwares [netdrvr sis190] small bug fixes * call pci_set_dma_mask * remove erroneous call to unregister_netdev in _init_board() Fix scheduling while atomic problem in getting attributes of newly created file. Fix truncate of existing file when O_CREAT but not O_TRUNC specified. [PATCH] USB: CREDITS file update [PATCH] Audit and minor cleanups in drivers/usb/* [PATCH] Audit and minor cleanups in drivers/usb/* - audit video_register_device - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* Changes - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 - static declarations for module_init/cleanup functions - adding missing __init/__exit for module_init/cleanup functions [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 - module_init/cleanup functions declared as static - missing __init/__exit [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 - static declarations for module_init/cleanup functions [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in drivers/usb/* - if usb_register fails report back its return code rather than 0 [PATCH] USB: fix compiler warning in mdc800 driver [AGPGART] Update VIA PCI IDs. - Add some new IDs - Rename some older ones. [PATCH] ...more usb audit - audit hiddev_init in hid_init - audit usb_register in hid_init [PATCH] ...more usb audit - audit usb_register in hiddev_init [PATCH] Another bad usb_register audit: dvb-ttusb-budget - if usb_register failes report back its return code rather than -1 [PATCH] Another bad audit in drivers/usb/*: usblp Another better audit: - If usb_register failes report back its return value rather than -1 [PATCH] Another bad audit in drivers/usb/*: cdc-acm Changes: - if tty_register_driver report back its return code rather than -1 - if usb_register fails report back its return code rather than -1 [PATCH] Another bad audit in drivers/usb/*: usbskeleton Another minor cleanup: - if usb_register fails report back its return code rather than -1 [PATCH] Audit and minor cleanups in usbnet [PATCH] Audit and minor cleanups in usbstorage [PATCH] USB: fix up a bunch of copyrights that were incorrectly declared. It needs to be "Copyright (C)" not "Copyright (c)" according to the lawyers who know these things... [PCMCIA] Add generic and per-controller power management handling. Add per-quirk power management to aid saving/restoring controller specific state. Also, add proper pci state saving/restoring. Note that Cardbus bridges have to save and restore at least 0x48 bytes of configuration space, not 0x40. This replaces the rather muddy save state in early initialisation, restore it on socket init stuff that we previously had. [PCMCIA] Move PM restore from socket initialisation. There is less reason for socket initialisation to vary between controller types now. In fact, we could very well get rid of much of the TI-specific socket initialisation quirk handling, since TI realised that they should be more compatible with other implementations in later versions of their bridges. [PCMCIA] Put socket initialisation to where it should be. Move re-initialisation from the socket init/resume paths to where it belongs - the main initialisation path. [PCMCIA] Move more controllers to the more advanced quirks. Now that we clearly know what each quirk type is doing, we can think about switching some devices to different quirks. Looking at the various data sheets for these devices, many of them support the MBURSTUP bit, so we can move these to the quirk which supports setting this bit. [PCMCIA] Add ToPIC97 and ToPIC100 support. Patch from Daniel Ritz. Add zoom video support for tosiba ToPIC97 and ToPIC100 chips. [PCMCIA] Don't add CIS cache entries on failure. If we fail to map the CIS space, don't pollute the CIS cache with invalid data. [ethtool] fix ethtool_get_strings counting bug [PATCH] USB: digi_acceleport.c: typo fix [PATCH] USB: Add Kconfig option for building ax8817x support in usbnet David T Hollis wrote: > This patch adds support to Kconfig to build ax8817x support into > usbnet. This renames the config option for the existing standalone > ax8817x driver to CONFIG_USB_AX8817X_STANDALONE. Please merge this version instead. It includes all of David's patch, plus it makes the descriptive info match the updated role of this driver. So given this, only the webpage still needs updates; the in-tree docs are now consistent. [PATCH] USB: usb_new_device() shouldn't be exported Minor cleanup. This call no longer needs exporting for root hubs, they have their own API to use instead. [SCTP] SCTP_SET_PEER_PRIMARY socket option support. (Kevin Gao) [PATCH] USB: minor doc updates Small kerneldoc clarifications: - more endpoint halt clearing info: * some hardware can't do it; which causes problems with drivers that want to use multiple interfaces or altsettings. * it doesn't affect queuing of data (should help usb-storage gadget driver, plus it's more sensible this way); - disconnect() callback not guaranteed: some hardware can't tell Mostly this captures answers to questions I've been asked. [netdrvr 8139too] ethtool_ops support [PATCH] USB: io_edgeport.o differences in 2.4 vs. 2.6 On Fri, Aug 22, Greg KH wrote: > On Sat, Aug 16, 2003 at 01:41:01PM +0200, Olaf Hering wrote: > > > > I sent you a patch for 2.4 once to make that FOO_MSR_RI, it seems that > > was not applied to 2.6 > Care to send me a patch for 2.6 then? How about that one: [netdrvr sis190] use PCI DMA API for RX buffers Missing pieces for DMA-API on the Rx side: - SiS190_init_ring: the global area for the received data is mapped. This area is persistent during the whole driver's life. It only needs to be unmapped in SiS190_close() as no other exit/error path exists. - SiS190_rx_interrupt: no map/unmap for received data buffer. A single sync operation is done. Btw, there is no need to store the same value in RxDescArray[cur_rx].buf_addr over and over again. - Remove driver dependancy on CONFIG_BROKEN. [PATCH] USB: Cyberjack patch Mahlzeit I attached you the diff for 2.6.0-test4. It does there also one program run without any error, but not more. I hope this issue will be resolved soon, but I do not know yet how. [PATCH] USB: Aten 4 Port USB 2.0 KVM C (ACS-1724) [PATCH] USB: hook up the USB driver core to the power management calls of the driver model. Now it's up to the individual USB drivers to implement suspend() and resume() if they want to. [PATCH] USB: rip out old proc code from the usbvideo driver. This removes the compiler warning from this driver. [PATCH] USB: removed the proc code from the se401.c driver This removes the compiler warning. [PATCH] USB: usbnet minor cleanup This goes on top of Dave Hollis' patch, and makes the front matter match the slightly revised role -- and mention that new support. It also eliminates a potentially confusing name and corrects an omission (Zaurus framing wasn't printed). [PATCH] USB: net2280 fixes: ep halt, sysfs Small updates: - don't try chiprev 0100 erratum 0114 workaround on newer chips; and (mostly) revert it when clearing endpoint halt feature. (bugfix) - add missing define for the "force crc error" bit; I guess those #defines were generated from old chip specs! potentially useful with test software. - sysfs register dump includes chiprev and decodes some of the more interesting endpoint response bits. - makes a sysfs "gadget" node, representing the gadget itself. (decided against the class_device or bus_type approaches, until their value outweighs their costs.) [PATCH] USB: usbnet, cdc ethernet descriptor parsing fixes This makes the new CDC Ethernet code handle more devices: - Uses the active config, not just the default one, if it's coping "descriptors in wrong place" quirk. (bugfix) - Uses usb_ifnum_to_if() to get interfaces. (bugfix) - AMBIT USB cable modems have bogus CDC Union descriptors; workaround by switching master and slave. (add quirk) - To make it easier the next time we run into firmware that violates the class spec, add debug messages saying exactly why it's giving up on a given CDC device. Net result, this code now handles at least one more cable modem design. [PATCH] USB: ohci -- reset, fault recovery This fixes two small and unrelated bugs in the current OHCI code: - Certain initialization sequences had problems with IRQs. Fixed last month in EHCI, but this ohci patch didn't seem needed back then. OK, so now I saw the same bug in OHCI. (I could believe UHCI needs it too, sigh.) - When restarting endpoint i/o after a queue fault, the HC needs to be told the control (or bulk) list filled (CLF/BLF). Likely this wasn't common (usbtest test10 subcase7 fault recovery reproduced it nicely). Please merge. Lack of the first one might make trouble for some people. [PATCH] USB: uhci-hcd, add uhci_reset() This is a straightforward change matching ones sent in for ehci (last month) and ohci (earlier this week). It abstracts the reset operation into something that's called before the pci glue does much to the hardware. It also arranges to kick the BIOS off the hardware before it resets it (not after) ... so there's no confusion at any time about what driver "owns" that hardware. (Again matching what ehci and ohci drivers do.) [ATM]: Clean up the code making use of sti/cli (from vinay-rc@naturesoft.net) [ATM]: In ambassador driver, use del_timer_sync instead. [NET]: Fix probing messages in 3c509.c Currently, 3c509.c prints this on detection: eth%d: 3c5x9 at 0x280, BNC port, address 00 20 af 2f d4 81, IRQ 5. ^^ [TG3]: Remove pci-set-dma-mask casts. [NET]: Fix OOPS in multicast procfs usage. Fix several refcntmistakes in seq_file handlers for /proc/net/{igmp,igmp6,msfilter,msfilter6} [NET]: Fix bpqether build with procfs disabled. [SPARC]: Add missing timer_create syscall entries. [COMPAT]: Add missing set_fs() calls to {clock,timer}_*() handlers. [IPV4]: Fix creat_proc_read_entry() args. [SPARC]: Two build fixes. [TG3]: More missing PCI ids. [SPARC]: Add pci_{map,unmap}_page(). [SCTP]: Fix printf format string. [IPVS]: Fix printf format strings. [HAMRADIO]: Missing return statement in yam.c driver. [SPARC64]: Fix struct sigevent32. [SPARC64]: sys_timer_create needs 32-bit translation. [SPARC]: Fix typos. [PATCH] USB: Another unusual_devs.h entry update This information was provided by Anthony Arkles . Please apply to both 2.4 and 2.6. [PATCH] USB: net2280, patch dma chains One person working on a mass-storage driver (the usb protocol side, not the block subsystem side) ran into a bug in how a bit of net2280 dma automagic was handled. This patch fixes it by calling existing dma chain patchup code when the dma engine was forced to "hiccup" by having a not-yet-valid entry in it. The hiccup is needed in this case since the IN data stage mustn't terminate with a short transfer (zero length packet); but the status stage is always a short packet. The "terminate with short packet" bit is endpoint state, not request state, so IN dma queues sometimes need this kind of fixup. [PATCH] USB: fix printk parameter types [PATCH] USB: fix functions to match prototypes [PATCH] USB: add support for 2 new devices to the visor driver. Based on the 2.4 version of the driver. [AGPGART] Numerous AMD64 gart driver cleanups. From Andi Kleen. - Fix the help text for the 8151 driver - Fix the dependencies (must be compiled in when the IOMMU is in) - Add __setup options for when the AGP driver is compiled in: agp=off agp=try_unsupported Currently only supported for the K8 driver, the other drivers would need fixes in their module init functions too. - Add try_unsupported support for the K8 driver. - Add some aperture sanity checking to the K8 driver. There are unfortunately still BIOS around that get it wrong. - Also try to read the aperture from the AGP bridge if it is bogus in the Northbridge. Windows only looks into the bridge and some BIOS only put the aperture there. [These two changes are only useful for 32bit kernels. The 64bit kernel checks this in aperture.c anyways, and fixes it. The 32bit kernel cannot fix a complety broken aperture currently, but at least it will not crash now] - Clean up handling for multiple northbridges. The paths are the same now for as for a single NB. - Some other minor cleanups. [AGPGART] Fix indentation. [AGPGART] Use generic AGP_APBASE define instead of per vendor _APBASE. [AGPGART] move NVIDIA registers to agp.h [SPARC64]: Make sure init_irqwork_curcpu() is called with PSTATE_IE off. [AGPGART] Indentation fixes [AGPGART] Fix missed AGP_APBASE conversion in VIA AGP driver. [AGPGART] Remove unneeded 8151 defines. [AGPGART] Make AMD64 GART driver marchitecture compliant. X86_64 -> AMD64 [PATCH] USB: fix usbnet for older versions of gcc Fix oops in reconnection logic when no dentry for file being reconnected. Match smb pid to current->tgid update change log for 0.9.1 cifs vfs [sysfs] Fix memory leak. From Thomas Spatzier. First reported by Martin Schwidefsky. Entries in the dentry_cache allocated for objects in sysfs are not freed when the objects in sysfs are deleted. This effect is due to inconsistent reference counting in sysfs. Furthermore, when calling sysfs_remove_dir the deleted directory was not removed from its parent's list of children. The attached patch should fix the problems. [power] Turn off debugging. [PATCH] USB: fix oops in keyspan and whiteheat devices when plugged in. Thanks to Pat Mochel for finding out where the error was for this bug. [PATCH] USB: remove usage of DEVICE_ID_SIZE from usb core as it should not be used. [kobject] Support unlimited name lengths. Add ->k_name pointer which points to the name for a kobject. By default, this points to ->name (the static name array). Users of kobjects may use the helper function kobject_set_name() (and are encouraged to do so in all cases). This function will determined whether or not the name is short enough to fit in ->name. If so, great. Otherwise, a dyanamic string is allocated and the name is stored there. ->k_name will point to that, and will be freed when the kobject is released. kobject_set_name() may take a format string, like: kobject_set_name(kobj,"%s%d",base_name,id); and will behave as expected (will put in ->name, unless it's too long, in which case a new string will be allocated and it will be stored in there). [sysfs] Use kobject_name() when creating directories for kobjects. [driver model] Use kobject_set_name() when registering objects. [PATCH] USB: Fix building of ax8817x if CONFIG_USB_AX8817X_STANDALONE [PATCH] USB: usb-skeleton bugfix [SCTP] draft07 API changes: sctp_bindx() now takes a packed array of sockaddr_in/sockaddr_in6 structures instead of an array of sockaddr_storage structures. [WATCHDOG] advantechwdt.c - patch small clean-up (add trivial comma) [WATCHDOG] wafer5823wdt.c - patch general clean-up (comments, trailing spaces, ...) Added WATCHDOG_NAME and PFX defines for easier printk's. clean-up printk's. [WATCHDOG] wafer5823wdt.c - patch2 fix possible wafwdt_is_open race make wdt_stop and wdt_start module params change wd_margin to timeout and make it a module_param make expect_close the same system as in advantechwdt.c clean-up ioctl handling added extra printk's to report what problem occured add MODULE_DESCRIPTION info [netdrvr 8139cp] build TX checksumming code, but default OFF (previously it was ifdef'd) Also, bump version to 1.0. [LLC]: Need to pskb_may_pull() in fix_up_incoming_skb(). [LLC]: Missing sk_set_owner() in llc_sk_alloc. [netdrvr 8139cp] support NAPI on RX path; Ditch RX frag handling. NAPI is turned on unconditionally for the RX path. The hardware supports interrupt mitigation, so that should be investigated too. RX fragment handling removed. We simply ensure that we alloc buffers large enough to hold incoming packets. Any stray RX frags that occur (shouldn't be any) will be dropped. [LLC]: Set module owner on /proc/net/llc directory. [ECONET]: Missing sk_set_owner(). [IPX]: Missing sk_set_owner(). [ATM]: Missing sk_set_owner(). [netdrvr 8139cp] update todo list in header [AX25/NETROM/ROSE]: Missing sk_set_owner(). [IRDA]: Missing sk_set_owner(). [DDP]: Missing sk_set_owner(). [netdrvr 8139cp] remove mentions of RTL8169 (now handled by "r8169") [DDP]: Invert logic for clarity. It is a lot clearer to invert the logic used in the destroy_socket so that it ends up as a positive expression, rather than a double negative. The SOCK_DEAD is redundant and can be eliminated because it is always set in the atalk_release() the only caller. [ATALK]: Fix whitespace in /proc/net/atalk/interfaces header. [ATALK]: AARP ->last_sent field never set. [ATALK]: Purge AARP table on module unload. [ATALK]: AARP needs to use del_timer_sync(). Aarp module unload needs to use del_timer_sync to handle the race condition where timer starts or is running during module unload. [ATALK]: Convert AARP over to seq_file. The output format is slightly changed: - address is printed in same format as /proc/net/atalk/interface - retry and last_sent are only shown for unresolved entries - times shown in seconds.hundreths rather than raw jiffies - column headers changed to same format as /proc/net/atalk/interface [ATALK]: Set owner on /proc/net/atalk directory. [DDP]: Fix obsolete comment about module handling. [DDP]: Fix oops in aecho socket handling. This fixes the problem caused by interrupting aecho causing an oops. What happened was that the sock was detached from the user process but sk->sk_sleep was still so when write data was freed it would do a wakeup on a poisoned data. The sk_state_change code that was there isn't necessary, because we are in middle of release so no user process can be waiting. sock_orphan does the right thing and sets SOCK_DEAD. This is similar to what some other protocols do. But some will have the same sk->sk_sleep problem... [ATALK]: Move aarp procfs file into atalk subdirectory. Move aarp /proc interface like all the others in 2.6; the other appletalk /proc interfaces were moved to /proc/net/atalk but aarp was overlooked. [DDP]: Missing netdev refcounting. DDP holds a pointer to underlying network device, but doesn't do the refcount bookeeping that it should. [DDP]: Convert to new protocol interface. Convert ddp to the new protocol interface which means it has to handle fragmented skb's. The only big change is in the checksum routine which has to do more work (like skb_checksum). Minor speedup is folding the carry to avoid a branch. Tested against a 2.4 system and by running both code over a range of packets. [BLUETOOTH]: Missing sk_set_owner(). [netdrvr 8139cp] small cleanups * remove netif_queue_stopped test, netif_wake_queue already does that * move vlan stuff to top of file * remove __dev markers * update todo list at top of file * remove pci_set_dma_mask argument casts; ULL suffixes preferred. [netdrvr 8139cp] fix NAPI bug; remove board_type distinction, not needed [netdrvr 8139cp] bump version [NETFILTER]: Remove unneeded version.h inclusion. [SUNRPC]: Remove unneeded version.h inclusion. [RXRPC]: Remove unneeded version.h inclusion. [BRIDGE]: Add 802.3 filtering support. [NETFILTER]: Fix ipt_helper build problem wrt. Kconfig. Please apply the following patch (against 2.6.0-test4). It fixes a bug in Kconfig causing ipt_helper not to be compiled if ip_conntrack is a module. [NETFILTER]: Fix email address in MODULE_AUTHOR. [IPV6]: Do not mistakedly use ndisc route for normal ipv6 output. Based upon a patch from Kazunori Miyazawa [netdrvr 8139cp] stats improvements and fixes * make sure rx_frags is still accounted * query RxMissed register, and clear, upon each get-stats func call [POSIX_TIMERS]: Do not assume timeval/timespec layout is identical. Based upon a patch from Jakub Jelinek [SPARC64]: In sysv IPC translation, mask out IPC_64 as appropriate. Based upon a patch from Keith M Wesolowski [netdrvr 8139too] make features more persistent; fix PCI DAC mode * only set PCIDAC (64-bit PCI) bit in hardware if sizeof(dma_addr_t) > 32. Need a better test for whether 64-bit mode is _really_ needed. * cache chip command register in private struct. this allows the setting of rx-vlan, rx-csum, and other features to be persistent across the entire lifetime of the net device. * remove dead private struct members frag_skb, dropping_frag, and pci_using_dac. [netdrvr pcmcia] support SIOC[GS]MII{PHY,REG} ioctls Updated drivers; 3c574_cs, axnet_cs, pcnet_cs, xirc2ps_cs Thanks to Komuro for pointing this out. [netdrvr 8139too] fix and pci ids needed for SH platform a.k.a. Sega Broadband Adapter. [netdrvr 8139too] remove useless board names The only thing that differentiated most of the entries in the board_info[] table and the board_t type was the vendor branding string for the board. This table is a pain to maintain, so we prefer to simply use "RTL8129" or "RTL8139". [netdrvr 3c509] dev->name removal build fix [netdrvr] fix skb_padto bugs introduced when skb_padto was introduced It seems that skb_padto security fixes in 2.4 and 2.5 trying to fix "CAN-2003-0001:Multiple ethernet NID device drivers do not pad frames with null bytes", do not put the skb_padto blocks in proper places in the 3c527, eth16i, fmv18x, seeq8005, yellowfin device drivers. In case a driver calls skb_padto(), it is possible that the space available in the original skb buffer tailroom is less than the space to pad. In this case, in short, the skb_padto() will create a new skb buffer, copy data from the original skb buffer to a new skb buffer, free the original buffer, and finally return the new buffer. If this happens to the aforementioned device drivers, they come to point to wrong data. And, for 3c527 and yellowfin, the drivers can unexpectedly double free the original skb buffers since they still point to the original skb buffers. The attached patch against 2.4.23pre1 fixes these issues. [netdrvr 8139cp] must call NAPI-specific vlan hook [netdrvr ixgb] must call NAPI-specific vlan hook [netdrvr sk_mca] somebody typo'd in their cli()-to-spinlock conversion Anybody with hardware, that can test this driver? [netdrvr sk_mca] remove ancient-kernel compat code; fix bugs * removed ancient-kernel compat code from sk_mca.h. I leave it to janitors to remove the now-useless SKMCA_xxx wrappers. * removed ancient-kernel compat code from sk_mca.c. * s/SKMCA_NETDEV/net_device/ * fixed static net_device initialization (this will go away when dynamic-alloc patches land) [PATCH] More ->pid to ->tgid changes One more overlooked area where the proper process ID has to be used: SysV IPC "pid" values should use the thread group ID, not the per-thread one. [WATCHDOG] wafer5823wdt.c - patch3 fix MODULE_PARM_DESC for timeout add WDIOC_SETOPTIONS functionality [WATCHDOG] acquirewdt.c - patch clean-up of comments, trailing spaces, includes, ... removed unnecessary spinlocking added WATCHDOG_NAME + PFX defines for easier printk's clean-up expect_close / acq_is_open made wdt_stop and wdt_start a module_param clean-up ioctl handling clean-up init and exit routines added MODULE_AUTHOR + MODULE_DESCRIPTION info [WATCHDOG] alim1535_wdt.c Add "ALi M1535 PMU Watchdog Timer" driver [PATCH] cable detection fixes for HPT37x controllers From Duncan Laurie This same patch made its way into 2.4 via the -ac tree but hasn't been put in 2.6 yet. It fixes some cable detect issues that stem from the fact that the cable detect pins are also used as address/data lines, so they need to first be configured as inputs to read valid cable detect state. [PATCH] fix PowerMac driver breakage caused by recent dynamic queue change From Mikael Pettersson . [PATCH] fix ide.c warning when compiling IDE for non-PCI systems From Stephane Ouellette . [PATCH] fix ide-lib.c warning when compiling IDE without DMA support From Mikael Pettersson . [PATCH] allow drivers (ie. mediabay) to set hwif->gendev.parent From Benjamin Herrenschmidt . [PATCH] kill ide_modes.h [PATCH] do not set drive->dn twice in probe_hwif() [PATCH] kill ide_init_drive() in ide-probe.c also fix comment in init_irq() [PATCH] remove unused exports from ide-probe.c export_ide_init_queue() and export_probe_for_drive() [PATCH] remove unused ide_chipsets and IDE_CHIPSET_MODULE [PATCH] kill ide_module_t [PATCH] kill ide_register() [PATCH] Make ACPI_SLEEP select SOFTWARE_SUSPEND CONFIG_ACPI_SLEEP doesn't compile without SOFTWARE_SUSPEND. Make it select it automagically. This fixes some bugzilla bug whose number I forgot. [PATCH] Do 32bit addresses in /proc/self/maps if possible As discussed earlier. This implements Linus' idea of printing the addresses in /proc//maps as 32bit if possible. This works around some broken 32bit programs that cannot parse 64bit addresses as generated by x86-64 kernels. Also simplifies the code slightly. [PATCH] sis190 driver fix synchronize_irq() requires an argument when built with CONFIG_SMP. [PATCH] x86-64 update Make everything compile and boot again. - Update defconfig - Some minor cleanup - Introduce physid_t for APIC masks (fixes UP kernels) - Add bandaid for CardBus bridges and broken BIOS (Vojtech) - Add bandaid for unsynchronized TSCs (Vojtech) - Fix ffs(0) return value (fixes XFS) - Fix compilation with software suspend [netdrvr 8139too] remove driver-based poisoning of net_device Harmless in 2.4, but causes oopses on rmmod in 2.6. slab poisoning can take care of this for us, anyway. [netdrvr 8139too] don't start thread when it's not needed The thread for was unneeded on chips other than CH_8139_K/8129. So, this patch doesn't create the thread on chips other than CH_8139_K/8129. [PATCH] cciss init problem This assigns the queue properly. [PATCH] bio.c: reduce verbosity at boot The queue init is really far too verbose at boot time. I don't think these messages add anything to either the end user experience or debug ability. Acked by Jens [PATCH] Fix module ref counting for md. We don't need to explicitly count references as: - refcounting already happens for opens of /dev/md? - when an array is active, a daughter module is loaded which locks "md" in. We just need to make sure we clean up properly on unload. (export_array) Also, xor needs a null module_exit so that it can be unloaded. [PATCH] Honour the read-ahead for for reads in raid5. If we get a failure trying to allocate a stripe_head for a read-ahead request (the only time we can get a failure), we skip the rest of the request and fail the whole bio. [PATCH] Set max_sectors for raid0 only, not for all raid levels. raid1 and multipath have not concept of a chunksize, so basing max_sectors on it is obviously wrong. Similary 'linear' has a very different concept of chunksize and max_sectors doesn't apply. raid5 does have relevant chunk_size concept, but it has code to effectively handle any chunksize. So we only need to set max_sectors based on chunk_size in raid0. [PATCH] Fix md superblock incompatabilities with 2.4 kernels. 2.4 kernels are very fussy about some values in the superblock, and 2.6 got them wrong. This fixes it. [PATCH] Track nfsv4 open files by "struct inode" rather than dev/ino/generation [PATCH] fix in NFSv4 server for bad sequence id errors From: "William A.(Andy) Adamson" this patch fixes the share state sequenceid bookeeping. - increment the sequence id on an open that is confirmed - increment the sequence id on close [PATCH] use irqreturn_t in m68knommu/5206 config.c [PATCH] use irqreturn_t in m68knommu/5206e config.c Fix up interrupt handler type to be irqreturn_t. [PATCH] use irqreturn_t in m68knommu/5249 config.c Fix up interrupt handler type to be irqreturn_t. [PATCH] use irqreturn_t in m68knommu/5272 config.c Fix up interrupt handler type to be irqreturn_t. [PATCH] dev_t handling cleanups (1/12) removed unused kdev_t stuff, fixed a typo left from the console->device() conversion. [PATCH] dev_t handling cleanups (2/12) tty_paranoia_check() switched from kdev_t to struct inode. [PATCH] dev_t handling cleanups (3/12) killed gratitious uses of kdev_t in tpqic02 [PATCH] dev_t handling cleanups (4/12) jffs used to put kdev_t values on disk - blind copy of in-core representation. Switched to explicit use of u16 (which is what kdev_t currently is), with appropriate conversion [PATCH] dev_t handling cleanups (5/12) removed bogus uses of ->i_sb->s_dev in intermezzo (comparizons can and should simply compare ->i_sb, printks should use ->s_id). [PATCH] dev_t handling cleanups (6/12) - hpfs_unlink() should not try to truncate the victim unless it's a regular file; truncate will not help for anything else and it will screw the page cache if victim happens to be a block device. - network filesystems should *not* invalidate page cache of block device node when inode gets invalidated; fixed, added a new helper - invalidate_remote_inode(). - nfs setattr syncs the file before sending SETATTR to server; that makes a lot of sense for regular files, but not for anything else. Fixed. [PATCH] dev_t handling cleanups (7/12) removed dead code from sparc64 hugetlbpage.c [PATCH] dev_t handling cleanups (8/12) Now that floppy_open() stores bdev in opened_bdevs[drive], we can remove crap from floppy_read_block_0() and have it use that bdev instead of messing with bdget_disk()/setting ->bd_disk by hand/bdput(). [PATCH] dev_t handling cleanups (9/12) struct block_device made the private part of bdevfs inodes; bd_count is gone, we use ->i_count of inode now; separate hash is also gone and we are using iget5_locked()/igrab()/iput() instead. [PATCH] dev_t handling cleanups (10/12) new helper - iminor(inode); defined as minor(inode->i_rdev); lots and lots of places in drivers had been switched to it. [PATCH] dev_t handling cleanups (11/12) new helper - imajor(inode) [PATCH] dev_t handling cleanups (12/12) added the exclusion between ADD_PARTITION/DELETE_PARTITION/open() (BLKPG ioctls didn't grab ->bd_sem when they should have). added bdev->bd_part; it is set at open() to point to the hd_struct of partition in question, reset on final close. blk_partition_remap() uses ->bd_part instead of the current mess ->bd_offset is gone, we use ->bd_part->start_sect instead added missing ->release() to hd_struct kobject, moved kfree() into it ->bd_part cotributes to refcount of hd_struct - we bump it when ->bd_part is set and drop when it's reset. [PATCH] vmlinux-*.lds (was: Re: Linux 2.6.0-test4) Kai Germaschewski: > o kbuild: Move generation of vmlinux.lds.s into arch/.../kernel This forgot to move two files: mv arch/m68k/vmlinux-std.lds arch/m68k/kernel mv arch/m68k/vmlinux-sun3.lds arch/m68k/kernel [PATCH] macide (was: Re: Linux 2.6.0-test4) Bartlomiej Zolnierkiewicz: > o ide: disk geometry/capacity cleanups > o ide: always store disk capacity in u64 Forgot to update the Macintosh IDE driver: [PATCH] m68k asm/sections.h M68k: asm/sections.h just includes the generic version (from Roman Zippel) [PATCH] m68k asm/local.h M68k: asm/local.h just includes the generic version (from Roman Zippel) [PATCH] Amiga z2ram Amiga z2ram: Add missing includes and remove some unnecessary includes [PATCH] Amiga floppy Amiga floppy: Add missing includes and remove some unnecessary includes (from Roman Zippel) [PATCH] M68k switch_to M68k: Set last in switch_to(), fix asm constraints (from Andreas Schwab) [PATCH] Atari floppy Atari floppy: Add missing includes and remove some unnecessary includes [PATCH] sonypi driver update This updates the sonypi driver to the latest version: * document the fact that FX501/FX702 laptops are not supported * add battery insert/remove events (thanks to Daniel K.) * improve the event detection using a different port offset on 'type2' models (thanks to Daniel K.) [PATCH] meye driver update In order to bring the 2.4 and 2.6 versions in sync, here is the missing bit for the meye driver :) [PATCH] h8300 interrupt problem fix typo fixed. [PATCH] h8300 include update o driver support headers update o fix warnings [PATCH] Give v850 its own version of the vmlinux.lds.h RODATA macro While it would be nice to keep using the generic version of RODATA, the v850's linker-script structure is sufficiently different from that of typical archs that it's not possible to use RODATA as it's currently defined. I earlier suggested splitting the generic definition of RODATA into `RODATA_CONTENTS' and `RODATA' (a wrapper around RODATA_CONTENTS) where most archs would use RODATA, and the v850 would use RODATA_CONTENTS, however Kai didn't like that idea. It _may_ be possible to rewrite the v850's linker scripts into something more typical (using lots of individual output sections), but it doesn't seem at all straightforward, so I don't have the time to do it right now. Anyway, this is the short-term work-around so that Linus's kernel works on the v850. [PATCH] Properly export symbols that depend on CONFIG_MMU [PATCH] OProfile: correct CPU type for x86-64 Enable the Hammer specific events by giving the correct cpu string. From, and tested by, Will Cohen. [PATCH] pcmciamtd.c: remove release timer This patch removes the PCMCIA timer release functionality which is no longer required (or supported). [PATCH] cyc2x: sanitize ioremap usage & more I wrote this driver a long time ago, and now, playing with my brand new PARISC machine I found these problems, could you please apply this patch? Ah, the "& more" refers to some alignment problems also solved in this patch. [PATCH] Remaining task queue to work queue conversion. Somewhere in the transition of task queue to the work queue, in stallion.c, some of the schedule_task were left out from being converted to schedule_work. This fixes it. [PATCH] fix cu3088 group write The current cu3088 ccwgroup write code overwrite the last char of the given arguments. This fixes the problem. It is been tested and applies on latest bk. [PATCH] free_netdev typo The free_netdev fixes in 2.6.0-test4 broke drivers/net/wan/cosa.c. This fixes it. [AGPGART] Various renames for AMD64 GART driver. - Remove references to 8151, as its not specific to this driver - K8 & x86-64 is deprecated in favour of amd64 [netdrvr 8139cp] PCI MWI cleanup; remove unneeded workaround * The PCI layer now handles incorrect cacheline size settings, as it should. Remove our own workarounds. * Move pci_set_mwi up much earlier in the probe process, and check its return value. * Call pci_clear_mwi() in ->probe error handling * Call pci_clear_mwi() in ->remove [PATCH] Fix compile errors in NFSv4 server [PATCH] .config checks updated From: Sam Ravnborg When building a kernel right after 'make mrproper' resulted in a very short run, and no sign that .config was missing. This has been fixed by adding a new rule for .config in the top-level Makefile, and a new target 'silentoldconfig' in scripts/kconfig/Makefile. Cleaned up a bit in scripts/kconfig/Makefile [PATCH] random: SMP locking From: Oliver Xymoron This patch adds locking for SMP. Apparently Willy never managed to revive his laptop with his version so I revived mine. The batch pool is copied as a block to avoid long lock hold times while mixing it into the primary pool. Two locks are added: gobal batch_lock batch_entropy_store can be called from any context, and typically from interrupts -> spin_lock_irqsave batch_entropy_process is called called via schedule_delayed_work and runs in process context -> spin_lock_irq entropy_store.lock the mixing process is too expensive to be called from an interrupt context and the basic worker function extract_entropy can sleep, so all this stuff can be under a normal spin_lock [PATCH] random: accounting and sleeping fixes From: Oliver Xymoron This fixes several calculation errors and races in entropy accounting that would allow /dev/random output to greatly exceed the measured entropy collection. This doesn't include any of my more controversial hardening, it just makes it behave as intended. It also corrects the operation of the 'catastrophic reseeding' feature so that it will actually prevent the state extension attack it's meant to guard against. And finally, it also fixes a couple missed wake-up and accidental sleep bugs uncovered by the above fixes. Debug instrumentation has been improved to help verify correctness. [PATCH] disable prefetch on athlons K7's (at least) are faulting in the prefetch instruction. The AMD engineers have said they will be getting back to us on it, and the fix is looking complex, and nobody seems to be standing up to work on it. So hum. The usual manifestation is an oops in hlist_for_each(), down in the VFS inode lookup code. Disrupting our testers in this way is very bad, so this patch just disables prefetch on all AMD parts in a rather stupid way. [PATCH] fix /proc/pid/fd ownership across setuid() From: "B. D. Elliott" There's a bug: - Someone reads a (say) root-owned process's /proc/pid/fd directory The inodes are instantiated owned by root. - That process does a setuid - The /proc/pid/* files still have the old ownerships. This happened because we are now caching the proc entries. The patch rewrites the ownership of the inodes under /proc/pid in the d_revalidate() handler. [PATCH] Call security hook from pid*_revalidate From: Stephen Smalley This patch against 2.6.0-test3-mm3 adds calls to the security_task_to_inode hook to the pid*_revalidate functions to ensure that the inode security field is also updated appropriately for /proc/pid inodes. This corresponds with the uid/gid update performed by the proc-pid-setuid-ownership-fix.patch that is already in -mm3. [PATCH] move DAC960 GAM IOCTLs into a new device From: Dave Olien The DAC960 driver uses an ugly overloading of the O_NONBLOCK flag to support the controller's RAID configuration features. Opening "/dev/rd/c0d0" with the O_NONBLOCK flag set returns a file descriptor that can be used to do RAID control operations using ioctl(). The normal ioctl operations are not availabe with that file descriptor. This patch removes that O_NONBLOCK overloading from DAC960_open() and DAC960_ioctl() functions. It introduces a new "miscellaneous" device named /dev/dac960_gam. It uses minor device number 252 of the miscellaneous character devices. The currently distrubted "Global Array Manager" server distrubted by LSIlogic on their web page page works only on RH7.3 or earlier. It doesn't work under RH9. There are probably some library incompatabilities. So, I don't view this patch as breaking anything that currently works. If this software package is ever brought up to date (which I doubt), then it can be modified to use this new device at that time. [PATCH] Add the kernel janitors to MAINTAINERS From: "Randy.Dunlap" Add the Kernel Janitors project to MAINTAINERS. Probably the trivial patch monkey should be there too. [PATCH] Update ide.txt documentation to current ide.c From: Maciej Soltysiak this patches updates Documentation/ide.txt to reflect more options that really are supported by the IDE driver (drivers/ide.c) [PATCH] v4l use-after-free fix From: Greg KH When working on converting the usb v4l drivers to the new v4l class changes, I ran into this nasty bug. Seems that the core was using a structure after it had been freed. The patch below fixes it. [PATCH] ikconfig - Makefile update From: "Randy.Dunlap" Please merge this makefile update from Sam. From: Sam Ravnborg Remark, I removed dependencies for configs.o - the are generated by kbuild anyway. Only generated files needs explicit dependencies. [PATCH] Fix ftape warning From: Chris Heath Here's a patch which fixes this warning: drivers/char/ftape/lowlevel/fdc-io.c: In function `ftape_interrupt': drivers/char/ftape/lowlevel/fdc-io.c:1299: warning: unused variable `_tracing' [PATCH] jffs aops return type fix From: "Randy.Dunlap" prepare_write() and commit_write() return `int'. Fixes an ia64 compile warning. [PATCH] Add 3GB personality From: Andi Kleen Another a bit ugly but necessary patch for 32bit emulation. Some applications including some versions of java break when the stack is beyond the i386 standard 3GB boundary. For these add a 3GB personality that moves the stack to 3GB and fixes the beginning of the mmap area. It's a bit ugly, but better than not running these applications at all (e.g. the Oracle installer depends on such a buggy java :-(). It's also not only Java, but some other programs as well. [PATCH] zeromap_pmd_range bugfix From: Benjamin Herrenschmidt The patch below fixes a 2.6 mm problem. Without this patch, zeromapped pages are not flushed properly when they are swapped out. What happens is that the page->index field is zero for page table pages corresponding to the zeromapped range. This causes ptep_to_address() to return an incorrect virtual address with the result that PTEs are never invalidated at swap-out... The fix below mirrors the remap_pmd_range() case. [PATCH] don't report async write errors on close() after all I had second thoughts on this. Reporting background writeout errors via close() only really makes sense if allthe IO has completed anyway: ie, the app has had the fd open without writing to it for many tens of seconds. It would be OK if it was harmless, but it is not. Changes are, applications ignore errors from close(). So if an application does a fork/exit and the child correctly does an fsync() of the fd, the close-on-exit will have wiped out any accumulated EIO/ENOSPC errors. Or if someone does dup()/close()/fsync(), the fsync() could fail to detect earlier errors, thanks to the close. So. The clear-and-report of errors on close() makes the reporting of errors on fsync/msync/fdatasync less reliable. [PATCH] remove add_wait_queue_cond() It has no callers, is using the non-existent spin_lock_irqrestore(), and is obviously very untested. Kill. [PATCH] spin_lock_irqrestore() typo fixes From: Vinay K Nallamothu s/spin_lock_irqrestore/spin_unlock_irqrestore/ [PATCH] zoran: memleak fixes From: Ronald Bultje This patch fixes several memleaks in error cases when the setup of i2c client drivers for video encoders/decoders fails. We forgot to free some memory in various places. This was noticed by Francois Romieu. [PATCH] zoran: debug->zr_debug From: Ronald Bultje This patch renames the debug symbol to zr_debug because debug is already defined somewhere else. Without it, it will cause a symbol conflict when compiling this driver statically into the kernel. This was noticed by several people, including Linus himself. [PATCH] zoran: add release callback From: Ronald Bultje This patch adds a release callback which frees the video_device struct. This is needed to prevent freeing memory before it's not in use anymore, as described in http://lwn.net/Articles/36850/. Without this, the driver will give a warning when loaded. It might crash when unloading (see article), too. The video4linux patch (by Gerd Knorr) was accepted a week (or 2?) ago, but I forgot to adapt my driver to it. [PATCH] zoran: add pci_disable_device() call From: Ronald Bultje This patch adds pci_disable_device() to the card release function; we already used pci_enable_device() in the card detection function. This was noticed by Francois Romieu. [PATCH] zoran: cleanups From: Ronald Bultje This patch changes some funky coding style (a.k.a. indent artifact) in the function zoran_irq() to a somewhat more conservative coding style. It was noticed by Francois Romieu. [PATCH] zoran: more cleanups From: Ronald Bultje This patch adds some newlines between variable declarations and function bodies. This was done on request by Francois Romieu. [PATCH] zoran: correct name field breakage From: Ronald Bultje I suddenly noticed that 2.6.0-test4 seems to have removed the struct device->name field, apparently for memory consumption reasons. Linus changed this to pci_name((zr)->pci_dev) in my driver, and that's almost correct, except that it is the PCI device ID, and I'm not supposed to touch it. Also, since it's only 4 bytes, all my device names now show like 'DC1' (this should be 'DC10plus') and alike. The attached patch fixes this by going back to the behaviour that we used in 2.4.x: we use a separate name field in our private driver struct. [PATCH] airo CONFIG_PCI=n build fix From: Geert Uytterhoeven On Fri, 22 Aug 2003, Linus Torvalds wrote: > Javier Achirica: > o [wireless airo] Fix PCI unregister code This patch causes a regression: if CONFIG_PCI is not set, it doesn't compile anymore. Here's a fix. I also killed a dead variable and its corresponding warning: [PATCH] drivers/char/pcxx.c warning fix From: "Krishnakumar. R" This patch removes the warning: drivers/char/pcxx.c:124:8: warning: extra tokens at end of #endif directive [PATCH] pcnet32 needs unregister_pci From: Domen Puncer The problem in pcnet32 is, that it doesn't unregister pci, if there's no hardware. This patch solves the problem. [PATCH] c99 struct initialiser conversions From: CaT Convert a whole bunch of struct initialisers into c99 format. [PATCH] Fix 'pci=noacpi' with buggy ACPI BIOSes From: Thomas Schlichter Make the `pci=noacpi' command line option work correctly. It fixes interrupt routing probems for (at least 3) people with broken ACPI BIOSes. [PATCH] /proc/kallsym caching fix From: Rusty Russell Out by one error broke caching of results in /proc/kallsyms, slowing reading to a crawl. [PATCH] Fix permissions on /proc/kallsyms From: Rusty Russell Change the permissions on /proc/kallsyms. As David M-T points out, it's nice for analysis tools not to need root. Place cond_resched() to avoid starvation problems on non-preempt. [PATCH] Kobject doc addition From: Here's an _important_ kobject doc patch. [PATCH] vm_enough_memory microoptimisation From: The expected case is (sysctl_overcommit_memory == 0), so put that first. [PATCH] abi doc update From: Update the abi sysctl documentation. [PATCH] ni5010.c: remove cli/sti From: Vinay K Nallamothu drivers/net/ni5010.c: This patch replaces cli/sti with spinlocks. Compiles fine though untested. [PATCH] do_no_page() fix From: David Mosberger , "Sharma, Arun" The truncate race fix assumed that a non-zero vma->vm_ops->nopage implies a non-zero vma->vm_file. The ia64 x86 emulation code breaks this assumption, so teach do_no_page() to handle it. [PATCH] parport_pc rmmod oops fix The `user_specified' variable is used in cleanup_module() and hence cannot be dropped from memory after module initialisation. [PATCH] reiserfs writepage-versus-truncate fix From: Oleg Drokin The conversion of reiserfs to not return errors from writepage-outside-i_size was incorrect. Fix. [PATCH] visws: fix 2.6.0-test4 breakage From: Andrey Panin attached trivial patch fixes visws subarch kernel build. It was broken by 2.6.0-test4 cpumask_t changes. [PATCH] Fix ext3 htree corruption on big-endian platforms From: Franz Sirl current bk 2.6.0 corrupts my ext3 filesystems, usually in the RESYNC dir during a bk pull. Checking the recent changes I noticed that the one in fs/ext3/namei.c misses an endian conversion. The attached patch fixes that and works fine for me since 2 days now on PPC. [PATCH] Fix selinux_file_fcntl From: Stephen Smalley , James Morris This patch adds the appropriate #if around the F_*64 commands in the selinux_file_fcntl hook function. [PATCH] Fix SELinux avtab From: Stephen Smalley , Arnd Bergmann This patch changes the SELinux avtab to use vmalloc/vfree; the table is too large for kmalloc on s390. [PATCH] Fix SELinux format specifiers From: Stephen Smalley , James Morris This patch corrects several format specifiers in the SELinux security server code. [PATCH] Rework SELinux binprm hooks From: Stephen Smalley This patch reworks the SELinux binprm hook functions to use a security structure for the linux_binprm rather than directly stuffing the security identifier into the void* security field. It also performs some cleanup of the SELinux binprm hook functions, and one miscellaneous fix. [PATCH] Fix typo in #ifdef for ext2 xattr support From: Stephen Smalley This patch corrects a typo in an ifdef that enables xattr operations for special files in the ext2 code; otherwise, extended attributes cannot be obtained or set on such inodes. [PATCH] Add more bad_inode operations From: Flesh out the bad_inode file and inode operations tables with new additions. [PATCH] Fix build with CONFIG_KCORE_AOUT We get a linkage error with CONFIG_KCORE_AOUT because there is no implementation of kclist_add() and kclist_del(). Also fix a warning in the a.out version of read_kcore(). Maybe we should just remove kcore a.out support. m68knommu and h8300 are setting CONFIG_KCORE_AOUT in their defconfigs though. [PATCH] kill CONFIG_KCORE_AOUT From: Adrian Bunk Remove CONFIG_KCORE_AOUT: the ability to present /proc/kcore in a.out format. I've checked with various arch maintainers. It won't be missed. [PATCH] knfsd nfs4 warning fixes [PATCH] Fix bluetooth compile warnings [PATCH] do_no_page() rss accounting fix From: Jaroslav Kysela The do_no_page() function in mm/memory.c does accounting for reserved pages (++mm->rss), but in zap_pte_range() we don't decrement rss if the page was reserved. So don't account for PageReserved pages in the rss. (Maybe it would be better to fix zap_pte_range in the opposite direction..) [PATCH] jbd: remove uninformative printk This printk doesn't impart any information. [PATCH] acpi pci_link fix From: Christophe Saout - acpi_pci_link_get_irq() returns 0 on error, not -ENODEV. - Fix mpparse.c tpyo. [PATCH] add context switch counters From: Peter Chubb Currently, the context switch counters reported by getrusage() are always zero. The appended patch adds fields to struct task_struct to count context switches, and adds code to do the counting. The patch adds 4 longs to struct task struct, and a single addition to the fast path in schedule(). [PATCH] remove size_t-based printk warnings From: "Randy.Dunlap" This patch removes warnings on non-matching parameter types to printk and incorrect function types (n_hdlc). [PATCH] large dev_t 12/12 oops fix From: viro@parcelfarce.linux.theplanet.co.uk On Wed, Aug 27, 2003 at 01:46:37AM -0700, Andrew Morton wrote: > > LILO seems to be oopsing in HDIO_GETGEO ioctl for some reason, in > generic_ide_ioctl(). > > I'm not sure quite why though. Could one of your patches affected this > area? The last one (fix for hd_struct handling). The fix follows: [PATCH] evdev_ioctl does not report EV_MSC capabilities From: Dmitry Torokhov While working on my GPM patches found out that EV_MSC was forgotten... [PATCH] AS: don't anticipate against a task's initial I/O From: Nick Piggin In the anticipatory scheduler, don't anticipate against the very first IO request which a process issues. This solves a very specific problem wherein a process starts, submits a single IO then exits. [PATCH] hch has moved From: Christoph Hellwig I moved a while ago and I'm also not at SGI anymore. [PATCH] Cyclades ISA serial driver fix From: "John Stoffel" Quick patch to get my 8 port Cyclades Cyclom-Y ISA card to work. (It doesn't look to be very SMP-robust, but then the 2.4 dirver probably isn't either). [PATCH] kbuild: warn if the user has old modutils From: Valdis.Kletnieks@vt.edu, Sam Ravnborg Adds an explicit check for the new modutils in the build system. Generally we should avoid these sorts of hardwired checks for the right versions of things, but we are still getting a significant number of problem reports due to people not having the new tools. Let's help them out. [PATCH] fix arcnet printk parameter types From: "Randy.Dunlap" fix arcnet printk parameter types [PATCH] floppy driver cleanup From: "Randy.Dunlap" - use kernel.h min() and max(); - C99 initializers; - Tidy up the scheule_work() callbacks (none of them take an arg) [PATCH] Use tgid rather than pid in dnotify From: Ulrich Drepper I'm not entirely sure about this change. But it seems to be necessary. The dnotify code stores the PID in the file structure. The entire process shares the file and any signal (is it used for that?) should be sent to the process (thread group), not the individual thread. Also keep in mind that threads can go away while the process (and therefore file descriptor) remain. And the ID of the thread can be reused. Somebody who knows this code should take a good look. (Looks right to me...) [PATCH] Fix a few declarations extern decls in .c files are evil. Put the send_sigio(), fcntl_setlease() and fcntl_getlease() into fs.h. [PATCH] make voyager work again after the cpumask_t changes From: James Bottomley Most is just simple fixes; however, the needless change from atomic to non-atomic operations in smp_invalidate_interrupt() caused me a lot of pain to track down since it introduced some very subtle bugs. I've also taken phys_cpu_present_map out of smp.h. Since it physid_mask_t is defined in mpspec.h anyway, and contains a duplicate definition, I don't believe it can hurt anything. [PATCH] mtrr cleanups - Remove duplicated implementation of attrib_to_str() - Make mtrr_strings[] static to if.c [PATCH] compat ioctl_table fix The arch ioctl tables are doing this: struct foo ioctl_start[] = { ... }; struct foo ioctl_end[0]; and fs/compat.c expects that the table lies between &ioctl_end and &ioctl_start. Problem is, gcc-3.3 puts ioctl_end into bss, even if it is initialised. It doesn't work. So we do away with the ioctl_end thing and add int ioctl_table_length = ARRAY_SIZE(ioctl_start); to each architecture. [PATCH] raw driver oops fix From: Dave Olien The raw.c character device Oopses dereferencing a NULL pointer in bd_claim() This problem occurred after bd_claim() in block_dev.c was modified to "claim the whole device when a partition is claimed". raw_open() made the mistake of calling bd_claim BEFORE calling blkdev_get(). At that time, the bdev->bd_contains field has not yet been initialized. Switching the order allows blkdev_get() to initialize those fields before calling bd_claim(). Also fixed up some error return paths: igrab() should never fail under these circumstances since the caller already has a reference to that inode through the bdev at that time. In the event of blkdev_get() failure or set_blocksize() failure, not all the work to unwind from the error was done. [PATCH] ipc_init() uses vmalloc too early From: Andrea Arcangeli aka: "vmalloc allocations in ipc needs smp initialized (and vm must be allowed to schedule in 2.6)" In short if you change SEMMNI to 8192 the kernel will crash at boot, beause it tries to call vmalloc before the smp is initialized. The reason is that vmalloc calls into the pte alloc code, and the fast pte alloc is tried first, but that reads into the pte_quicklist, that requires the cpu_data to be initialized (and that happens in smp_init()). the patch is obviously safe, since no piece of kernel (especially the code in the check_bugs and smp_init paths ;) calls into the ipc subsystem. The reason this started to trigger wasn't really that we increased SEMMNI, but what happend is that some IPC data structure grown, and for some reason the corruption due the uninitalized pte_quicklist triggers only for smp boxes with less than 1G (not very common anymore ;). So it wasn't immediatly reproducible on all setups. 2.6 doesn't suffer from the same problem, simply because 2.6 isn't using the quicklist anymore, but I think it would be much more correct to make the same change in 2.6 too, since whatever cond_resched() in the vm paths (and they're definitely allowed to call it), will lead to a crash since the init task isn't initialized and the scheduler can't be invoked yet. (and 2.6 already has the bigger data structures that should trigger the vmalloc all the time on all setups) [PATCH] vmscan: zone pressure calculation fix Off-by-one in balance_pgdat(): `priority' can never go negative. It causes the scanning priority thresholds to be quite wrong and kswapd tends to go berzerk when there is a lot of mapped memory around. [PATCH] vmscan: zone pressure simplification and fix The zone->pressure field is supposed to record the amount of reclaim pressure which this zone is under. We need this info so we know whether to unmap pages from pagetables right from the outset of a balance_pgdat() or try_to_free_pages() invokation. The problem with the current code is that the exponential average gets tugged around too much: as we perform the increasing-priority scan, the pressure metric is made artificially low by the early part of the scan. So instead what we do here is to record within the zone the scanning priority from the zone's previous scan. It is defined as the priority at which the zone achieved the "enough pages free" state. This prev_priority is used on the next scan for the do-we-need-to-be-unmapping-pages decision. [PATCH] Remove SSE2 bugs.h check From: Andi Kleen Remove some dead code. CONFIG_SSE2 hasn't been defined for some time, because everything SSE related is handled at runtime based on cpuid. [PATCH] HPET 1/6: Support for HPET based timer From: "Pallipadi, Venkatesh" High Precision Event Timer (HPET) is next generation timer hardware and has various advantages over legacy 8254 (PIT) timer, like: - Associated registers are mapped to memory space. So, we no longer require in and out on legacy ioports - Memory map address is reported by ACPI (and are not hard-coded) - Each timer can be configured to generate separate interrupts, even sharing lines with PCI devices - HPET has a minimum period of 100 nanosecs and is not fixed. Giving a flexibility of increasing the resolution in future. - Most current implementations has 3 counters, but in future, we can have as many as 32 timers per block, and 8 HPET timer blocks (total 256 timers) - Can support 32bit and 64bit counting (Refer to http://www.intel.com/labs/platcomp/hpet/hpetspec.htm for complete specs) The patchset that follow adds support for High Precision Event Timer (HPET) based timer in kernel. This uses the HPET in LegacyReplacement mode (so that counter 0 will be tied to IRQ0, and counter 1 will be tied to IRQ 8). In this mode, HPET overrides PIT and RTC interrupt lines. The patch will enable HPET by default, on systems where ACPI tables reports this feature. The patch will have no impact on systems that do not support this feature. A major change from previous version is elimination of fixmap for HPET. Based on Andrew Morton's suggestion, we have a new hook in init/main.c for late_time_init(), at which time we can use ioremap, in place of fixmap. Impact on other archs: Calibrate_delay() (and hence loops_per_jiffy calculation) has moved down in main.c, from after time_init() to after kmem_cache_init(). 1/6 - hpet1.patch - main.c change to introduce late_time_init() [PATCH] HPET 3/6: makefile and config changes From: "Pallipadi, Venkatesh" Miscallaneous makefile and config changes [PATCH] HPET 4/6: Core From: "Pallipadi, Venkatesh" All the changes required to use HPET in place of PIT as the kernel base-timer at IRQ 0. [PATCH] HPET 5/6: timer services From: "Pallipadi, Venkatesh" All changes required to support timer services (gettimeofday) with HPET. [PATCH] HPET 6/6: rtc emulation From: "Pallipadi, Venkatesh" This can be a standalone patch. With this patch we basically try to emulate RTC interrupt functions in software using HPET counter 1. [PATCH] HPET 2/6: boot parsing From: "Pallipadi, Venkatesh" acpi boot time parsing changes to look for HPET [PATCH] fix advansys.c if !CONFIG_PROC_FS From: Adrian Bunk The patch below fixes a compile error in drivers/scsi/advansys.c if !CONFIG_PROC_FS. [PATCH] handle setup_swap_extents() error in swapon. From: Hugh Dickins It's good that swapon fails on a tmpfs file ("swapfile has holes"), but not good that it then hangs up: note error from setup_swap_extents. [PATCH] scsi_unregister() oops fix Some drivers such as aha1542 and aic7xxx_old will call scsi_register() and then, if some succeeding operations fails they will call scsi_unregister(), without an intervening scsi_set_host(). This causes an oops in scsi_put_device(), because kobj->parent is NULL. In other words, scsi_register() immediately followed by scsi_unregister() is guaranteed to oops. The patch makes scsi_host_dev_release() more robust against this usage pattern. [PATCH] tty oops fix Ancient bug, reported by Hiroshi Inoue : 1. login to tty2 (not tty1) 2. start kon (Kanji cONsole emulator, console which support Japanese characters) 3. exit kon 4. logout It oopses in the debugging function check_tty_count(), walking a list_head which has been list_del()'d. Call trace is: #0 check_tty_count (tty=0x10d42000, routine=0xc817b00 ".paths") at include/asm/processor.h:583 #1 0x022c6c00 in do_tty_hangup (data=0x10d42000) at drivers/char/tty_io.c:426 #2 0x022c6f60 in tty_vhangup (tty=0xc817b00) at drivers/char/tty_io.c:536 #3 0x022c6fcc in disassociate_ctty (on_exit=1) at drivers/char/tty_io.c:574 #4 0x02127aee in do_exit (code=0) at kernel/exit.c:718 #5 0x02127caa in do_group_exit (exit_code=0) at kernel/exit.c:796 #6 0x02127cbc in sys_exit_group (error_code=0) at kernel/exit.c:807 The tty refcount is zero, so everything seems consistent and sensible. The fix just uses list_del_init() on that list_head. Heaven knows what the locking for tty->count is though. Some bizarre mixture of BKL, tty_sem and nothing at all. [PATCH] ext3_setxattr() oops fix If journal_start() fails it returns an ERR_PTR. Best not pass that into journal_stop(). [PATCH] Add documentation for /proc/stat From: "Bryan O'Sullivan" This patch adds documentation for the contents of the /proc/stat file. [SPARC]: Mark get_rtc_time() static in SBUS rtc driver. [TG3]: ICH2 needs MBOX write reorder bug workaround too. [NET]: Add MODULE_LICENSE to xfrm_user.c [IPV6]: Use per-cpu data for icmp sockets. [NET]: Convert netdev_rx_stat to per-cpu data. [IPV6]: Do not BUG() on icmp6 socket contention, just drop. [IPV6]: Fix typo in icmp BUG() fix. [BRIDGE]: Create CONFIG_BRIDGE_NETFILTER and use it instead of messy tests. [IPV6]: Fix two bugs in ip6_tunnel.c ICMP error handling. Fix byte order of info parameter in ip6ip6_err(). [IPV6]: Use free_netdev as ip6_tunnel device destructor. [IPV6]: Set dev->{dev_addr,broadcast} in ip6_tnls. [IPV6]: Remove sockets from ip6_tunnel.c [NET]: Remove reference to CONFIG_IA64_SGI_SN1, it is gone. Return error correctly on revalidate so dentry will be dropped. [IPV6]: Fix timer handling in ip6_flowlabel.c - Use time_{before,after}() macros. - Use mod_timer instead of del_timer/add_timer - Properly synchronize timer resetting using ip6_fl_lock. [IPV6]: Fix types in fl6_renew(). [IPV6]: linger member of ip6_flowlabel needs to be a long. [IPV6]: Fix printf format in ip6fl_fl_seq_show. [netdrvr de2104x] ethtool_ops support [PCI] Remove cases where PCI_CACHE_LINE_SIZE is hardcoded. Modifies drivers atm/eni.c, ide/pci/cmd64x.c, and ide/pci/ns87415.c. Ack'd by DaveM. [tokenring lanstreamer] clean up MWI / PCI_CACHE_LINE_SIZE usage * remove PCI_CACHE_LINE_SIZE workaround, PCI core already does this for us. (main change) * propagate pci_set_dma_mask return value * add 'ULL' suffix to pci_set_dma_mask arg * propagate pci_enable_device return value * call pci_set_mwi, check and propagate its return value * call pci_clear_mwi and pci_disable_device on close, and probe error * call iounmap when cleaning up [video planb] don't hardware pci command/cacheline/latency values, use the PCI layer instead to provide those for us. [netdrvr 8390] new function alloc_ei_netdev() (preferred over alloc_etherdev + 8390-specific ethdev_init) [netdrvr ne2k-pci] allocate netdev+8390 struct using new alloc_ei_netdev() Also, call pci_disable_device() in PCI ->remove handler, to match pci_enable_device() in PCI ->probe handler. [netdrvr ne2k-pci] ethtool_ops support [PATCH] software hd led support This adds support for software controlled hard drive LED activity. This is really nice on such machines as Apple Powerbooks, where there is no such LED in the first place and the sleep/suspend LED isn't used for anything when the machine is running. [PATCH] reenable CAPTURE button in sonypi This reenables the CAPTURE button events in the sonypi driver, which were lost with the latest patch... [PATCH] meye driver update This implements the needed 'release' callback in order to make videodev/sysfs happy again. [PATCH] vfat_valid_longname() cleanup From René Scharfe As a result the size of vfat.o drops by 384 bytes in my build. [PATCH] IO scheduler, not elevator I've been trying to remove these, but apparently new ones crop up. Lets just call it io scheduler, none of the ones in the kernel are using the classic elevator algorithm. [NET] move netif_* helpers from tg3 driver to linux/netdevice.h Helpers moved: netif_poll_{enable,disable}, __netif_rx_complete, netif_tx_disable Use the helpers in net/core/dev.c. o scsi: remove include procfs_h from hosts.h Don't claim exclusive ownership of the device when doing the SG_IO and SCSI_IOCTL_SEND_COMMAND ioctl's. That just screws things up when the drive is mounted. If somebody wants exclusive access, he should indicate that at open time. [netdrvr] ethtool_ops for epic100, fealnx, winbond-840, via-rhine [netdrvr fealnx] merge typo build fix (non-x86) from 2.4 [NET] move ethtool_op_set_tx_csum from 8139cp drvr to net/core/ethtool.c, where it belongs. [PATCH] sr.c should issue TEST_UNIT_READY The linux/drivers/scsi/sr.c code will issue a MODE_SENSE[_10] command to a device as the first command sent to the device. If the device has just come out of reset, it will likely respond with a UNIT_ATTENTION / NOT_READY status, which causes the MODE_SENSE to fail. In fact, the device may have several UNIT_ATTENTION conditions queued up (power-up reset, media change, etc.) This results in the mode page 0x2a data not being properly read and interpreted. As an end-effect, things like packet-writing don't work (because the writeable bit is not set). The solution to this is to issue one or more TEST_UNIT_READY commands to the device to clear any pending UNIT_ATTENTION conditions. This is the technique used by sd.c -- in fact, this code was lifted directly from sd.c At some point in the future, abstraction of this initial TEST_UNIT_READY code between all high-level SCSI drivers may be apropriate. For now, this patch makes sr.c issue TEST_UNIT_READY to clear the UNIT_ATTENTION, thus allowing the mode page 0x2a code to work properly. Given the approaching 2.6.0-final release, I urge that this patch be accepted. [PATCH] irqreturn_t fixes for m68knommu irq.h [PATCH] create an m68knommu local.h This patch creates a local.h for the m68knommu arhcitecture. Like most others architectures it is just an include of the generic one. [PATCH] create an m68knommu sections.h This patch creates a sections.h for the m68knommu architecture. Nothing special needed, just an include of the generic code. [PCI, ia32] don't assume "c->x86 > 6" applies to non-Intel CPUs when programming PCI cache line size. Just to be on the safe side. Suggested by Ingo Oeser. [PATCH] Update IEEE1394 (r1047) subsys : - Added hpsb_make_streampacket() helper - Fix re-probe of bus after reset, when node's generation changes - Missing spinlock.h include for csr.c general : - Fix a few warnings from size mismatches in printk's raw1394 : - Added RAW1394_REQ_ASYNC_STREAM - Use vmalloc/vfree for larger buffer support ohci1394 : - Fix a few endianess bugs in ISO routines eth1394 : - Fix cleanup of failed packets Fix del_timer_sync() SMP memory ordering (from Tejun Huh ) From Tejun's posting: > > This patch fixes a race between del_timer_sync and recursive timers. > Current implementation allows the value of timer->base that is used > for timer_pending test to be fetched before finishing running_timer > test, so it's possible for a recursive time to be pending after > del_timer_sync. Adding smp_rmb before timer_pending removes the race. Be a lot more careful about TS_USEDFPU and preemption We had some races where we testecd (or set) TS_USEDFPU together with sequences that depended on the setting (like clearing or setting the TS flag in %cr0) and we could be preempted in between, which screws up the FPU state, since preemption will itself change USEDFPU and the TS flag. This makes it a lot more explicit: the "internal" low-level FPU functions ("__xxxx_fpu()") all require preemption to be disabled, and the exported "real" functions will make sure that is the case. One case - in __switch_to() - was switched to the non-preempt-safe internal version, since the scheduler itself has already disabled preemption. [SUNHME]: Fix non-sbus build. [NET]: Use MODULE_ALIAS() in network families. Previously, default aliases were hardwired into modutils. Now they should be inside the modules, using MODULE_ALIAS() (they will be overridden by any user alias). [BLUETOOTH]: Fix typo in module alias changes. [PATCH] scsi cleanups o scsi/imm.h: use c99 style initialization As far as I verified this also fixes a bug when doing the table lookup for IMM_EPP_32, that would result in "Unknown" as IMM_EPP_32 is equal to 6 and there is the #ifdef... ChangeSet@1.1386, 2003-09-02 00:11:07-03:00, acme@allegro.kerneljanitors.org o scsi/*.h: remove not needed #define NULL ChangeSet@1.1385, 2003-09-02 00:05:16-03:00, acme@allegro.kerneljanitors.org o scsi/3w-xxx.h: use c99 style init [PATCH] Fix compile for raw1394 Include vmalloc.h to fix compilation of raw1394.c [PATCH] ide: fix ide_unregister() vs. driver model From: Benjamin Herrenschmidt This patch seem to have been lost, so here it is again. It fixes an Ooops on unregistering hwifs due to the device model now having mandatory release() functions. It also close the possible race we had on release if the entry was in use (by or /sys typically) by using a semaphore waiting for the release() to be called after doing an unregister. [PATCH] ide: forward-port siimage driver changes from 2.4.22 ide: forward-port siimage driver changes from 2.4.22 [PATCH] Mark more drivers BROKEN{,ON_SMP} - let more drivers that don't compile depend on BROKEN - MTD_BLKMTD is fixed, remove the dependency on BROKEN - let all drivers that don't compile on SMP (due to cli/sti usage) depend on a BROKEN_ON_SMP that is only defined if !SMP || BROKEN - #include interrupt.h for dummy cli/sti/... in two files to fix the UP compilation of these files I marked only drivers that are broken for a long time and where I don't know about existing fixes with BROKEN or BROKEN_ON_SMP. Fix keyboard double E0-sequence release case From Andries Brouwer : we discard the double release keypress, but we did it without clearing the "last byte was E0" flag. So the next byte in the input stream would get corrupted. [PATCH] USB: storage: cbw/csw trace in order Via this patch ... We change only when CONFIG_USB_STORAGE_DEBUG=y. To /proc/kmsg etc. we now trace the fields of the cbw as we order those fields in ram and as we order those fields in time on the bus, to avoid disorientating those of us who view those canonical orders often. Also we no longer print "S" or "Sig" to "Signature", instead we always print "S". We chose "S" over "Sig" because it is the "T" signature (aka "Tag") that actually makes each cbw/csw pair distinct, whereas the so-called Signatures only distinguish cbw from csw by flipping one bit. Also in the trace we uppercase a 'C' and an 'S' to keep cbw from csw typographically distinct. For example, what was: <7>usb-storage: Command INQUIRY (6 bytes) <7>usb-storage: 12 00 00 00 24 00 <7>usb-storage: Bulk command S 0x43425355 T 0x1f13 Trg 0 LUN 0 L 36 F 128 CL 6 ... <7>usb-storage: Bulk status Sig 0x53425355 T 0x1f13 R 0 Stat 0x0 becomes: <7>usb-storage: Command INQUIRY (6 bytes) <7>usb-storage: 12 00 00 00 24 00 <7>usb-storage: Bulk Command S 0x43425355 T 0x1f3b L 36 F 128 Trg 0 LUN 0 CL 6 ... <7>usb-storage: Bulk Status S 0x53425355 T 0x1f3b R 0 Stat 0x0 [PATCH] USB: storage: Revised update to isd200 I/O buffer patch This is a minor revision to the previous patch as83. It changes the name of the various struct hd_driveid variables from 'drive' to 'id', per Andries Brouwer's request. - Don't do DMA into the middle of a structure (info->drive). - Don't use I/O buffers for two different purposes simultaneously (info->ATARegs, regs, us->iobuf). - Rename info->drive to info->id. [PATCH] USB: net2280 one-liner Please merge this minor fix: - loosen constraints on buffer allocation This is needed before Alan's file-backed storage gadget driver will initialize using net2280. [PATCH] USB: usb hcd states AFAICT this is ready for your next merge with Linus. Ben's ohci stuff was not cooked yet, seemed like the pm stuff wasn't yet supporting the hook(s) he needed. RMK had similar issues w.r.t. PM on ARM too. This patch includes: - updates from Benjamin Herrenschmidt to make usbcore behave a bit better during PM suspend (setting and checking hcd state). - related updates from me, making more paths into hcds fail when the driver is suspended. - updates based on some feedback from Alan Stern, notably including getting rid of a state we don't really need (most of the patch, by volume). - an experiment that tries to give a warning in the sadly common case of ACPI or APIC (etc) settings that need to change before USB works. Net effect is that some of the PM issues start to get resolved, maybe IRQ problems will be diagnosed quicker, and some overdue cleanup gets started. [PATCH] Fix non-modular compile of 3c515.c [NETFILTER]: Use CONFIG_BRIDGE_NETFILTER in ipt_REJECT.c Add the isicom serial driver to the list of drivers that are broken on SMP (due to expecting global irq locking). Instead of asking for "broken drivers", ask for a "clean compile". This makes "allyesconfig" do a better job. fix bad return code mapping when server lacks hard link support [NET]: Convert af_netlink.c over to seq_file. [NET]: ethertap fixes. includes these changes from viro * switched ethertap to dynamic allocation * ethertap: embedded ->priv * ethertap: fixed resource leaks on failure exits and from me * get it out of the static device list completely. * add dependency on NETLINK_DEV * not really obsolete yet * configurable number of interfaces [NET]: Balance alloc_netdev() with free_netdev() in ethertap. [SCTP] Convert sctp_param2sockaddr() and sockaddr2sctp_addr() to address family specific routines af->from_addr_parm() and af->to_addr_param() respectively. [kobject] Don't use kobject->k_name after it's been freed. Bah, stupid mistake. After you call ->release(), you cannot touch the object. [IPV4]: Do not BUG() on icmp_xmit_lock() contention, just drop. [CPUFREQ] Move kernel/cpufreq.c to drivers/cpufreq/cpufreq.c Also remove $Id$ tag. No other code change. [CPUFREQ] fix up two typos. cpuferq hakcers cnat spel. [CPUFREQ] Move drivers/cpufreq/userspace.c to drivers/cpufreq/cpufreq_userspace.c Module names of 'userspace' aren't very informative. [CPUFREQ] Fix various oddities in the userspace governer. [CPUFREQ] Completely separate governors from policies. Governors are for CPUfreq drivers which have a ->target callback, Policies are for CPUfreq drivers which have a ->setpolicy callback. Also, the "hardwired" governors "powersave" and "performance" are removed. [PATCH] USB: fix uhci "host controller process error" By the way, let me explain what the problem was with uhci-hcd. The usb hardware directly accesses your computers memory. The bug is that it could still be accessing a bit of memory after uhci-hcd thought it had finished with it and freed up the memory. This bug has always existed, and I guess led to occasional mysterious data corruption, when some other part of the kernel started using that bit of memory while the usb hardware was still playing with it. You turned on the "slab debugging" option, right? With this turned on, when uhci-hcd frees the memory it gets filled with some garbage values. The usb hardware reads this garbage and barfs, giving a "process error". In short, you can also get rid of the process error messages by turning off slab debugging, then the data corruption will be silent again! [PATCH] USB: fix data toggle problem for pl2303 driver. [CPUFREQ] Add the "performance" and "powersave" governors as modules. Also add a config option so that the default governor [which is loaded and enabled at boot] is started. Note that if you select "performance" here, the CPU will be set to the highest possible frequency even if the CPU was booted at a lower frequency. If you select "userspace", the frequency will stay the same. [CPUFREQ][PPC] Small fixes necessary to separate the governors from policies. [CPUFREQ][SH] Small fixes necessary to separate the governors from policies. [CPUFREQ][SPARC64] Small fixes necessary to separate the governors from policies. [CPUFREQ][X86] Small fixes necessary to separate the governors from policies. [CPUFREQ][ARM] allow for easier Kconfig usage on ARM, and more features for SA11x0 users. [CPUFREQ] Fix incorrect entry in Kconfig [CPUFREQ] new cpufreq_driver->resume callback, needed (at least) for speedstep-smi. [CPUFREQ] fix speedstep-ich's .name to reflect its real name [CPUFREQ] Inform user about broken powernow-k7 PST tables. [ARM] Remove more 26-bit ARM support. Remove more of the redundant 26-bit ARM CPU support from the 32-bit ARM tree. [PATCH] amiflop error handling amiflop didn't init the queue before assigning it to disk->queue. the error handling was also immensely screwed, I've cleaned that up too. PPC32: Add support for the PPC 440 family of embedded processors. This has three main parts: (1) support for the 440GP and 440GX processors, (2) support for the "Ebony" and "Ocotea" reference boards for those processors, and (3) support for 64-bit physical addresses. The 440GP and 440GX are "Book E" processors, and this introduces a CONFIG_BOOKE and some definitions that apply to all Book E processors. Having 64-bit physical addresses means that PTEs are now 64 bits. The PTE pages stay at 4kB, and the pgdir expands to 8kB. PPC32: Eliminate one use of struct device name field. [AGPGART] Fix up compile for i460-agp Missed conversion when killing off the APBASE defines. [wireless airo] fix build with gcc 2.95 [SCTP] Fix a couple of issues with the call to sctp_ssnmap_new() in sctp_process_init(). The argument passed as inbound streams to sctp_ssnmap_new() is incorrect. Also allocating a ssnmap everytime a INIT is received is vulnerable to DoS attacks. So delay the creation of an ssnmap if we are processing a temporary association. [PATCH] ide: allow LBA48 on Promise 20265 It was disabled to workaround a bug in a driver. The orginal bug was fixed but the workaround was not removed. [PATCH] ide: add very basic support for VIA 8237 SATA controller From Daniela Engert . [PATCH] ide: enable LED support for PowerMac From Benjamin Herrenschmidt : This adds the Kconfig option for the PowerMac IDE driver "LED" feature (using the laptop's front LED as a disk activity indicator). It also adds a small bit to ide-probe.c that was missing from Jens patch when he added the activity function infrastructure. He did add the hwif field, but not the code to actually enable it. [PATCH] PowerMac: Fix build of via-pmu driver with some .config's This fixes the build of the via-pmu.c driver when CONFIG_PMAC_PBOOK is not set. [ARM] Remove more reminants of 26-bit ARM support. This removes include/asm-arm/proc-armv entirely, merging the contents into the relevant include files in include/asm-arm. We also update various files in arch/arm which reference definitions in the now non-existent directory. [netdrvr de4x5] big modernization / cleanup The enclosed patch tries to clean the tulip de4x5 driver, and update it to some of the 2.6 APIs : - Use PCI and EISA probing APIs - Use generic DMA API - Fix DE425 init on the Jensen - Remove de4x5 from Space.c It's been tested on x86 and Alpha, with a DE425 (21040, EISA), a DE435 (21040, PCI) and a quad DLink (4*21143, PCI). The major problem with this patch is that, because of the Space.c removal, interfaces get potentially renumbered. This has been discussed to death on lkml, without any obvious solution. IMHO, we'd better remove as many drivers as we can from Space.c before 2.6.0-final ships... [netdrvr] list CONFIG_BMAC in drivers/net/Makefile.lib, as it uses the crc32 library. [PATCH] COSA is no longer BROKEN the compilation of cosa.c was already fixed in your BK tree, so we can now remove the dependency on BROKEN. Avoid a negative in config questions: we don't want to have users forced into double negatives. [wireless airo] build fix when MIC support is disabled [SCTP] draft 07 API changes: Disable listening when backlog is 0. [PATCH] USB: fix up B0 support in the pl2303 driver. Thanks to Gernot Fink for pointing this out. [WATCHDOG] wafer5823wdt.c - patch4 remove module_param's for wdt_start and wdt_stop fix timeout check in init procedure [PATCH] label needs statement following it patch_name: cpqfc_labelend.patch patch_version: 2003-08-27.18:19:34 author: Randy.Dunlap description: cpqfc: label needs a (empty) statement after it; product: Linux product_versions: 260-test4 maintainer: support@compaq.com [PATCH] fix the scsi_logging_level fix We already had a prototype for it, it just was conditional on CONFIG_SCSI_LOGGING.. [PATCH] ips: remove arch limitations This patch removes the X86 arch limitation in drivers/scsi/Kconfig, downgrades the #error check for x86/x86_64/ia64 to a #warning, and updates an old email address in the help. It also fixes up a two places in the driver which have 8 spaces instead of a tab for indention. [PATCH] ncr & sym1 patches Some misc sym1 and ncr driver changes. Changelog: - Kconfig: Delete sym1 driver from Kconfig - Kconfig: Delete SCSI_NCR53C8XX_IOMAPPED, SCSI_NCR53C8XX_PQS_PDS and SCSI_NCR53C8XX_SYMBIOS_COMPAT options. - ncr53c8xx: Delete SCSI_NCR53C8XX_SYMBIOS_COMPAT option [PATCH] sym2 patchset A big pile of sym2-related changes. I have most of them split apart in CVS, so I can submit them as individual patches if anyone's interested. Changelog: - Use pci_set_mwi() instead of trying to do it ourselves. - Rename PCI_ID_LSI53C1010 to 1010_33 and PCI_ID_LSI53C1010_2 to 1010_66. - Turn sym_udelay and sym_mdelay into macros. - Move the definition of sym53c8xx_lock near the functions that call it and remove the macros that wrapper it. - SYM_LINUX_DYNAMIC_DMA_MAPPING is always defined. (Christoph Hellwig) - Remove first_host (Christoph Hellwig) - Support for hp C3000 (Grant Grundler) - Switch to using pci_name() - Remove the #if 0'd code from the pci_driver conversion. - Remove the sym_chip typedef. - Remove the pcifix option. - Remove a redundant printk on driver initialisation. - Use rmb() for __READ_BARRIER and wmb() for __WRITE_BARRIER - Increment the version to 2.1.17a. [PATCH] ISDN bugfixes part 1 Here is the first part of ISDN bugfixes for 2.6. It should make ISDN work again with most controllers. More fixes follow after more testing. [SCTP] draft 07 API changes: By default, all the event notifications are turned off even for one-to-many style sockets. [CPUFREQ] Cache FSB in longhaul driver. [CPUFREQ] Fix use of fsb before initialisation in longhaul. [CPUFREQ] Fix longhaul's mult,fsb -> MHz conversions. this was wrong in several places by a factor of 100. Introduce a calc_speed helper to make this harder to get wrong. Additionally, clean up some printk's to print out useful values like MinMult=3.5x instead of MinMult(x10)=35. [CPUFREQ] Clean up clock_ratio calculation. [CPUFREQ] Inform user of status of Ezra-T/Nehemiah longhaul support. These are currently unsupported, and I get quite a lot of mails asking about it. Hopefully this will be a little more informative than 'unknown CPU'. [CPUFREQ] Remove the voltage scaling from longhaul driver. The 'match voltage to frequency' routine is complete crap and needs rewriting. (It also only works for a single stepping of C3) I'll redo it when I find the specs again. In the meantime, it doesn't work properly, so kill it. Fix up scsi_alloc_request in sr.c to take a GFP_ flag [CPUFREQ] Move longhaul scale/ratio tables to longhaul header file [NET]: Fix 64-bit warnings in af_netlink.c [NET]: Use list_for_each() where applicable. [IPV6]: Remove unnecessary linux/version.h include. [NET]: Fix ethtool_ops thinko in sungem.c [ATM]: In atm_getaddr() do not copy_to_user() with locks held. [ATM]: Lanai driver updates. o Big performance improvement. The version of the driver in the kernel still had a "mdelay(1)" after every register write. This capped performance at about 8Mbps and ate tons of CPU time. (Luckily, most users of this card are just terminating a DSL line where its not too noticeable) However, after removing this delay the card started getting out of sync with the driver under stress tests. After a couple days of chasing the bug I finally determine that the card's support for transmitting partial PDUs just doesn't quite work as advertised (before we would send a partial PDU to completely fill a VCC's transmit buffer and then send the rest of the skb when more buffer space filled up). The usefulness of this is somewhat doubtful anyway and removing it cleaned up a lot of code. I also added some memory barriers to make sure operations to the card happen in the correct order. Now for the first time ever we get near line-rate performance out of this card (~19Mb/s TCP in netperf between two ~300Mhz machines) o Locking changes (essentially the patch Chas sent me a couple weeks ago with some minor tweaking) I'm still not sure we're getting 100% of the cases right but it's definitely FAR better than the old lock-less version. o Cleanup the backlog draining code in lanai_shutdown_tx_vci() o Remove outdated comment describing how to compile the module o Got rid of the "service_novcc_[tr]x" stats - it's really the same error as "service_[tr]x" - there's no reason to count them separately. o Use the ATM_25_PCR constant instead of computing it for ourselves [NET]: DLCI driver cleanups for 2.6.x - keep list of arrays for devices and use a lock - make sure header is contiguous before overlaying data structure - dynamically allocate dev->priv with alloc_netdev - get rid of MOD_INC/DEC - free devices on module unload - keep refcount on slave device's since holding a ptr [NET]: Use free_netdev() even in error paths. [NET]: Add probe_old_netdevs() hook. This set of patches is a mixture of Al's work to device initialization, and some of my own to complete it for all the ether, tr, sbni, and loopback devices. The first patch adds the hook for converting old driver initialization code over to dynamic allocation. This part extracted from Al viro's set of net driver changes for ethertap. [NET]: Convert SDLA to new initialization. Based on Al viro's NE10-sdla * switched sdla to dynamic allocation * sdla: embedded ->priv * sdla: fixed resource leaks on failure exits Additionally fixes. * get rid of cli/sti * get rid of MOD/INC Builds and probes, but don't have the hardware. Driver has never built on 2.6 before this. [NET]: Convert cops over to new initialization. More from Al NE12-cops * switched cops to dynamic allocation * cops: embedded ->priv * cops: fixed ->irq clobbering on autoprobe Added * free_netdev [NET]: Convert ether probes to probe_old_netdevs(). Convert old ethernet device probing from dev_base linked list to the probe_old_netdevs. Blame me for this one ;-) Builds and runs, but don't have old ISA hardware to really test it. So please find some or review it carefully. [NET]: Convert tr probes to probe_old_netdevs(). Analogous to previous patch. Instead of dev_base list of static entries, use a loop and dynamically allocate devices. Tested only the 'no hardware' case. [NET]: Convert sbni initialization. Convert sbni driver - new probing - single allocation using alloc_netdev for private data [NET]: Loopback device simplification. Now that all the magic chain of static devices is gone from Space.c The initialization of the one remaining static device (ie the loopback driver) can be simplified. One small change was to reduce possibility of failing the initialization if allocation of private data failed by just going without statistics. [NET]: Convert ltpc to new initialization. Originally from Al Viro NE11-ltpc * switched ltpc to dynamic allocation * ltpc: embedded ->priv * ltpc: fixed bugs in DMA allocation * ltpc: fixed resource leaks on failure exits * ltpc: fixed part of timer bugs (still a-f**ing-plenty of those) * ltpc: fixed order of freeing bugs Added * switch to free_netdev [NET]: remove duplicate #includes in net/ [CRYPTO]: remove duplicate #includes in crypto/ [NET]: Kill NET_PROFILE, has not built for years. [IPV{4,6}]: Fixing a bug that reading /proc/net/{udp,udp6} may drop some data. [PATCH] misc fixes - non_fatal.c comment fix (Zwane Mwaikambo ) - s/elevator/io scheduler/ in ll_rw_blk.c (Jens) - update KJ mailing list address ("Randy.Dunlap" ) - unused var in riscom8.c (Adrian Bunk ) - add help texts to two OSS drivers (Adrian Bunk ) - "PCMCIA SCSI adapter support" requires CONFIG_MODULES (Adrian Bunk ) [PATCH] Fix odd code in bio_add_page From: Neil Brown With the current code in bio_add_page, if fail_segments is ever set, it stays set, so bio_add_page will eventually fail having recounted the segmentation once. I don't think this is intended. This patch changes the code to allow success if the recounting the segments helps. (Jens has acked this) [PATCH] convert /proc/stat to seq_file From: "Randy.Dunlap" Anton needs this for ppc64. Things overflow with a huge number of CPUs. [PATCH] Fix rtc symbol clash and HPET config problems The new HPET RTC emulation code uses a function in rtc.c, get_rtc_time(). So that function was made non-static. Problem is, the same function name is used elsewhere by some architectures, so there will be linkage problems. And rtc_get_time() is used too, so I renamed it to rtc_get_rtc_time(). Also, the HPET code was setting CONFIG_HPET_EMULATE_RTC by hand in a header file. Fix it to use the Kconfig system properly. [PATCH] add config option for qla1280 SCSI MMIO/ioport From: Andrey Panin Add a config option which allows ioport/mmio selection for QLA1280 SCSI driver. With this patch applied QLA1280 can be used on Visws again. [PATCH] elevator insertion fixes From: Nick Piggin This fixes a bug in deadline and AS that causes insert_here to be ignored on blk_fs_requests. This has been causing problems with SCSI requeueing code. It makes elevator insertion more correct as advertised wrt insert_here and REQ_SOFTBARRIER. It also fixes a buglet in the as_requeue code where the request wasn't being put into the front of the list (in rare cases). [PATCH] 8250_acpi taints kernel From: Dmitry Torokhov 8250_acpi module does not have MODULE_LICENSE specified. 8250_gsc does not have it either but as I can't compile it I did not touch it. [PATCH] proc_misc.c needs irq.h fs/proc/proc_misc.c: In function `show_stat': fs/proc/proc_misc.c:423: `irq_desc' undeclared (first use in this function) [PATCH] more slab page checking Add checks for kfree() of a page which was allocated with __alloc_pages(), and for free_pages() of a page which was allocated with kmalloc(). [PATCH] might_sleep() improvements From: Mitchell Blank Jr This patch makes the following improvements to might_sleep(): o Add a "might_sleep_if()" macro for when we might sleep only if some condition is met. It's a bit tidier, and has an unlikely() in it. o Add might_sleep checks to skb_share_check() and skb_unshare() which sometimes need to allocate memory. o Make all architectures call might_sleep() in both down() and down_interruptible(). Before only ppc, ppc64, and i386 did this check. (sh did the check on down() but not down_interruptible()) [PATCH] MODULE_ALIAS() in block devices From: Rusty Russell Previously, default aliases were hardwired into modutils. Now they should be inside the modules, using MODULE_ALIAS() (they will be overridden by any user alias). [PATCH] MODULE_ALIAS() in char devices From: Rusty Russell Previously, default aliases were hardwired into modutils. Now they should be inside the modules, using MODULE_ALIAS() (they will be overridden by any user alias). [PATCH] Remove percpufication of in_flight counter in From: Ravikiran G Thirumalai The routine disk_round_stats showed up considerably under oprofile for high disk io load (four processes doing dd to the same disk (different partitions) on a 4 way). This is because the counter in_flight which is per-cpu right now gets read every time disk_round_stats gets called. Per cpu counters like disk statistics improve write speed, but reads are slow (since all cpus' local counter values have to be read and summed up). Considering the fact that in_flight counter is modified post disk_round_stats (which reads the in_flight counter) it is better not to per-cpu this counter. Following patch does just that. Below is the profile comparison before and after the change. This was on a 4 way PIII Xeon, 1G ram, 2.6.0-test4-mm2. Before: c010aa60 2910109 92.2249 poll_idle c0275340 23208 0.73549 __copy_to_user_ll c02753b0 11191 0.354657 __copy_from_user_ll c0114aa0 7168 0.227163 mark_offset_tsc c011ad10 6767 0.214455 schedule c011a2b0 6741 0.213631 load_balance c0138890 6710 0.212648 __generic_file_aio_write_nolock c011d302 4683 0.14841 .text.lock.sched c02e4b50 4533 0.143656 ahc_linux_isr c029cec0 3582 0.113518 disk_round_stats c0119b40 3509 0.111205 try_to_wake_up c029d320 3306 0.104771 __make_request c01567d0 3300 0.104581 __block_write_full_page c0156c00 3299 0.104549 __block_prepare_write After: c010aa60 2777940 92.1302 poll_idle c0275340 23479 0.778679 __copy_to_user_ll c02753b0 10943 0.362924 __copy_from_user_ll c0114aa0 7022 0.232884 mark_offset_tsc c0138890 6988 0.231757 __generic_file_aio_write_nolock c011ad10 6607 0.219121 schedule c011d302 5771 0.191395 .text.lock.sched c02e4a60 4458 0.147849 ahc_linux_isr c011a2b0 3921 0.13004 load_balance c01567d0 3569 0.118366 __block_write_full_page c029d2a0 3540 0.117404 __make_request ... c029ceb0 311 0.0103143 disk_round_stats c011d5b0 299 0.00991631 remove_wait_queue [PATCH] Enable SELinux via boot parameter From: James Morris This patch adds an 'selinux' boot parameter which must be used to actually enable SELinux. It follows some internal discussion about deployment issues, where a vendor would want to ship a single kernel image with SELinux built-in, without requiring the user to use it. Without specifying selinux=1 as a boot parameter, SELinux will not register with LSM and selinuxfs will not be registered as a filesystem. This causes SELinux to be bypassed entirely from then on, and no performance overhead is imposed. Other security modules may then also be loaded if needed. [PATCH] devfs pty fix From: Andrew Lunn Create the pty slaves on init so the behaviour is consistant with 2.4 and 2.6 without devfs. [PATCH] i8042 free_irq() aliasing fix The same address `i8042_request_irq_cookie' is used in three places for the i8042 request_irq() argument. This means that if someone calls i8042_check_mux() or i8042_check_aux() while the IRQ is in use, the free_irq() call in there will free the wrong IRQ handler. So give all three instances of request_irq() in i8042.c a distinct address by which to identify the IRQ instance. (This is probably a non-bug, because the `check' functions are not called when the device is open, but it is better this way). [PATCH] Remove Documentation/kmod.txt From: Rusty Russell Please delete Documentation/kmod.txt: it's entirely outdated and misleading. I thought about rewriting it, but there's not much to add beyond what's in the CONFIG_KMOD's help text. [PATCH] drivers/scsi/imm.c build fix [PATCH] hermes.h fails with outw_p() in :? From: Michael Pruznick build errors: hermes.h: In function `hermes_set_irqmask': hermes.h:337: parse error before "do" hermes.h:337: parse error before ';' token hermes.h: In function `hermes_write_words': In mips, outw_p() is a #define do...while(0) which, in the case of ?:, results in a statement being used where an expression is required. [PATCH] cciss error handling cleanup From: mike.miller@hp.com Clean up the error handling in cciss_init_one(). [PATCH] MODULE_ALIAS for tty ldisc From: Rusty Russell Rather than hardcoded names in modprobe, modules can offer their own aliases (which can be overridden by the config file). Here are the tty-ldisc ones. [NETFILTER]: NAT range calculation fix. This patch fixes a logic bug in NAT range calculations, which also causes a large slowdown when ICMP floods go through NAT. Author: Karlis Peisenieks [USB]: hiddev_exit() can no longer be __exit, called from init code now. [SPARC]: Add MODULE_ALIAS_LDISC() defines. [NET]: Kill net/README, obsolete and out-of-date. [PATCH] Don't #ifdef prototypes It seems that changing CONFIG_BLK_DEV_INITRD causes the whole kernel to rebuild due to an inappropriate ifdef in linux/fs.h - we should not conditionalise prototypes. In addition, real_root_dev is only used by two files (kernel/sysctl.c and init/do_mounts_initrd.c) so it makes even less sense that it was in linux/fs.h [PATCH] fix /proc/stat handler for ARM, SPARC64, others.. Some references to irq_stat[] snuck into generic code. It doesn't work on several architectures. So revert that little improvement to the original version. [PATCH] ide: fix PM with ide-default driver From Benjamin Herrenschmidt [PATCH] ide: remove supports_dma field from ide_driver_t driver->supports_dma was used together with CONFIG_IDEDMA_ONLYDISK to limit DMA access to disk devices only. However Alan introduced new scheme in 2.5.63 and this field is not needed any longer because all ide drivers support DMA. [PATCH] fix remap of shared read only mappings When mmap MAP_SHARED is done on a file, it gets marked with VM_MAYSHARE and, if it's read/write, VM_SHARED. However, if it is remapped with mremap(), the MAP_SHARED is only passed into the new mapping based on VM_SHARED. This means that remapped read only MAP_SHARED mappings lose VM_MAYSHARE. This is causing us a problem on parisc because we have to align all shared mappings carefully to mitigate cache aliasing problems. The fix is to key passing the MAP_SHARED flag back into the remapped are off VM_MAYSHARE not VM_SHARED. [PATCH] ikconfig - cleanups Cleanup ikconfig - use single_open for built_with file. - get rid of unneeded globals - use copy_to_user instead of char at a time - only need the read routine, proc defaults to correct behaviour for the rest. [ATM]: Convert the /proc/net/atm/br2684 to seq_file interface (from shemminger@osdl.org) [NET]: Convert /proc/net/unix to seq_file. [SCTP] Move a local variable declaration ahead of the function code. Apparently the new gcc 3.2.2 allows local variable declarations within the code of a function if it is not used earlier. But older gcc's do not allow this. [PATCH] Fix /proc/stat off-by-one I should have stayed in bed. [PATCH] USB: usb "gadgetfs" (1/2) This is another "gadget" driver -- one that lets user mode code implement usb device functions, with all the classic advantages of such solutions. There's an example driver at the linux-usb "gadget" web page, which uses pthreads and handles several control requests in user mode. This capability is packaged in the form of a filesystem, conventionally mounted at /dev/gadget, with files that the user mode driver opens, configures, and then uses with normal read() and write() system calls. Because this doesn't require use of ioctl(), such user mode drivers can be written in almost any language: not just C, but also Java, Python, Perl, and others -- likely even BASH. For now, such user mode gadget drivers are limited to a single configuration, although the interfaces in that configuration could support multiple altsettings when the hardware allows. Please merge. This first patch provides the driver, the next one adds kconfig and kbuild support. [PATCH] USB: usb "gadgetfs" (2/2) This adds the kconfig/kbuild hooks needed to build the driver. [CRYPTO]: Use try_then_request_module(). try_then_request_module() does what crypto/autoload.c is doing, so replace it. Fix try_then_request_module(), too (thanks James). [ATM]: pvc/svc missing .owner for proto_ops/family (from levon@movementarian.org) [ATM]: fix atm_dev module refcount bug (from levon@movementarian.org) [ATM]: reduce CONFIG_PROC_FS #ifdef clutter in .c code (from levon@movementarian.org) [NET]: COSA driver fixes. * get rid of leftover sti * no longer need MOD_INC/DEC stuff * get rid of dead code related to MOD_INC/DEC * use module_init/module_exit to cleanly run init code [NET]: Do not ifdef declarations in Space.c [NET]: More SDLS fixes. Since sdla.c now has locking instead of cli/sti, it shouldn't be completely busted on SMP. Also, the frad interface registration needed to be done once (and check the result), and undone on module unload. [ATM]: Remove bogus UNUSED macro usage in pppoatm.c [ARM] arch/arm/kernel/setup.c needs to include asm/cacheflush.h [ARM] Fix wrong cache flush call for ARM1020 CPUs [NET]: Remove all the silly 'NET4.x' init messages. [NET]: Print a KERN_INFO msg when protocol families are {un,}registered. [NET]: Kill more verbose init msgs and unused RTNL_DEBUG define. [PATCH] fix IO hangs The "insert_here" list pointer logic was broken, and unnecessary. Kill it and its associated logic off completely - just tell the IO scheduler what kind of insert it is. This also makes the *_insert_request strategies much easier to follow, imo. [PATCH] Move MODULE_ALIAS_LDISC to tty_ldisc.h MODULE_ALIAS_LDISC() is not in any way architecture-specific, so don't put it in architecture header files. Here's a patch which moves it to a more sensible location. [PATCH] ide: fix ide_cs oops with TCQ From Matias Alejo Garcia . [CPUFREQ] Print out FSB in longhaul debug info [CPUFREQ] Print out CPU name in debug info. Add template for Nehemiah. [AGPGART] Remove unneeded string from AMD64 GART driver. [PATCH] Unpinned futexes v2: indexing changes This changes the way futexes are indexed, so that they don't pin pages. It also fixes some bugs with private mappings and COW pages. Currently, all futexes look up the page at the userspace address and pin it, using the pair (page,offset) as an index into a table of waiting futexes. Any page with a futex waiting on it remains pinned in RAM, which is a problem when many futexes are used, especially with FUTEX_FD. Another problem is that the page is not always the correct one, if it can be changed later by a COW (copy on write) operation. This can happen when waiting on a futex without writing to it after fork(), exec() or mmap(), if the page is then written to before attempting to wake a futex at the same adress. There are two symptoms of the COW problem: - The wrong process can receive wakeups - A process can fail to receive required wakeups. This patch fixes both by changing the indexing so that VM_SHARED mappings use the triple (inode,offset,index), and private mappings use the pair (mm,virtual_address). The former correctly handles all shared mappings, including tmpfs and therefore all kinds of shared memory (IPC shm, /dev/shm and MAP_ANON|MAP_SHARED). This works because every mapping which is VM_SHARED has an associated non-zero vma->vm_file, and hence inode. (This is ensured in do_mmap_pgoff, where it calls shmem_zero_setup). The latter handles all private mappings, both files and anonymous. It isn't affected by COW, because it doesn't care about the actual pages, just the virtual address. The patch has a few bonuses: 1. It removes the vcache implementation, as only futexes were using it, and they don't any more. 2. Removing the vcache should make COW page faults a bit faster. 3. Futex operations no longer take the page table lock, walk the page table, fault in pages that aren't mapped in the page table, or do a vcache hash lookup - they are mostly a simple offset calculation with one hash for the futex table. So they should be noticably faster. Special thanks to Hugh Dickins, Andrew Morton and Rusty Russell for insightful feedback. All suggestions are included. [ARM] Newer binutils want -mcpu=xscale not -mxscale [PATCH] incomplete asm constraints in arch/i386/pci/pcbios.c This fixes a "miscompile" HP reported against gcc 3.3 with -march-pentium4. It turned out to be a non-complete asm contraint. the existing constraint on "opt" was on the address of "opt", which allowed gcc to reorder the setting of the fields inside opt to beyond the asm that uses it, which is less than useful at best. [ARM] Restore preempt count before reporting unbalanced preempt count On ARM, we oops when we detect that an interrupt handler has unbalanced the preempt count. We should restore the preempt count when we started to handle the interrupt and then cause the oops. [ARM] Don't read the CPU control reg back - it may be write only. Some ARM CPUs don't allow CP15 CR1 control register to be read. Therefore, to ensure that the value hits the control register on Xscale, read back the CP15 CR0 ID register instead. [ARM] Fix ARM suspend-to-RAM. - Suspend and resume system devices. - If device suspend fails, don't suspend. [PATCH] 2.6.0-test4 synclink.c * add RCC underrun handling * fix stats output typo * replace previously removed NULL context check (causes oops when opening non existent device) [PATCH] 2.6.0-test4 synclinkmp.c * replace previously removed NULL context check (causes oops when opening non existent device) [PATCH] 2.6.0-test4 synclink_cs.c * replace previously removed NULL context check (causes oops when opening non existent device) [ARM] Fix PXA and SA1100 suspend/resume - Don't write the current time back to the RTC on suspend - we may jump over a programmed wakeup alarm. - Restore SA1100 GPIO output state [ARM] Don't sleep in cpufreq code if IRQs are disabled (during resume.) [ARM] Kill snprintf formatting warning. [PATCH] large dev_t - second series (1/15) misc trivial cleanups [PATCH] large dev_t - second series (2/15) floppy98 ->probe() forgot to set *part to 0; fixed. [PATCH] large dev_t - second series (3/15) paride/pt.c cleanups - passing pointer to pt_unit instead of index in array; same as had been done for pd/pcd/pf. [PATCH] large dev_t - second series (4/15) cciss cleanup - instead of playing with device numbers, we add helper functions that get host and drive structures by gendisk and use them in open/ioctl/release, same as had been done for cpqarray. [PATCH] large dev_t - second series (5/15) cdevname() killed, there was only one remaining user (tty_paranoia_check()) and in that case cdevname() was worse than plain major:minor (basically, it's "you've got corrupted inode that was supposed to belong to tty device; here's what I'd found in ->i_rdev") [PATCH] large dev_t - second series (6/15) tty redirect handling sanitized. Such ttys (/dev/tty and /dev/console) get a different file_operations; its ->write() handles redirects; checks for file->f_op == &tty_fops updated, checks for major:minor being that of a redirector replaced with check for ->f_op->write value. Piece of code in tty_io.c that had been #if 0 since 0.99 had been finally put out of its misery. kdev_val() is gone. [PATCH] large dev_t - second series (7/15) the last kdev_t object is gone; ->i_rdev switched to dev_t. [PATCH] large dev_t - second series (8/15) kdev_t, to_kdev_t(), etc. are gone - there is no more objects of that type and no remaining callers of these functions. [PATCH] large dev_t - second series (9/15) beginning of fs side work: * new helpers - old_valid_dev(), old_encode_dev() and old_decode_dev() * old_valid_dev() checks if dev_t value is OK for old filesystems (i.e. both major and minor are below 256). * old_valid_dev() calls are added in ->mknod() instances that care about dev_t values (disk-backed and network ones). * old_encode_dev() and old_decode_dev() convert dev_t -> u16 and u16 -> dev_t resp; currently these are no-ops, places that use current formar (minor in bits 0--7, major in bits 8--15) will switch to these before we widen dev_t. [PATCH] large dev_t - second series (10/15) Fix for endianness bug in UDF: it writes major and minor as 32bit host-endian and reads them as 32bit little-endian; obviously a bad idea on big-endian boxen ;-) Needed both for 2.4 and 2.6. [PATCH] large dev_t - second series (11/15) Fix for JFS handling of device nodes; it has 32bit on-disk device numbers, shoves them into 16bit (->i_rdev) when inode is read and writes them back truncated when inode is written to disk. For now (and 2.4 will have to do the same permanently) we store the original value in private part of inode and use it instead of ->i_rdev in ->write_inode(); mknod() sets it at the same time as ->i_rdev. It will become unnecessary when dev_t becomes wider than 16 bits, but for now we need it. [PATCH] large dev_t - second series (12/15) Similar fix for UFS; touching device node (and they have 32bit dev_t) ends up killing upper 16 bits, which makes for very unhappy *BSD, since that turns /dev/ad0s1 into alias of /dev/ad0. Again, for now we store on-disk value in private part of inode and use it instead of ->i_rdev in ->write_inode(). [PATCH] large dev_t - second series (13/15) HPFS code that uses EAs for storing i_rdev/i_mode/i_uid/i_gid sanitized. [PATCH] large dev_t - second series (14/15) nfs_fattr->rdev switched to dev_t; code that unpacks on-the-wire attributes does explicit conversion now. [PATCH] large dev_t - second series (15/15) old_decode_dev()/old_encode_dev() added where needed in other filesystems. Parts in different filesystems are independent, but IMO it's not worse splitting into a dozen of half-kilobyte patches. [PATCH] Common PROT_xxx -> VM_xxx mapping This moves the mapping of PROT_* bits to VM_* bits from mmap.c to the common header file . The mapping is needed for mprotect too. Fix mprotect() to do proper PROT_xxx -> VM_xxx translation. This also fixes the bug with MAP_SEM being potentially interpreted as VM_SHARED. [PATCH] New version of jfsutils needed A recent change to the 2.6.0 kernel has changed the behavior of opening a block device with the O_EXCL flag. This can cause fsck.jfs to fail to replay the journal when a file system is mounted read-only. The JFS utilities have been fixed, and it is recommended that any users of JFS update the utilities to version 1.1.3. [AGPGART] Fix up missing brackets on defines. [driver model] Add exports for sys devices. From Dominik Brodowski: A few missing exports -- even though the cpu_sysdev_class isn't strictly needed now, I need it for a few ACPI-related patches I'll send out in a minute. [sysfs/kobject] Update documentation. From Randy Dunlap. [PATCH] USB: usb_epnum_to_ep_desc only look Original patch from oliverthered@oliverthered.com ... this updates it: - usb_epnum_to_ep_desc() only looks at the active altsetting - docs clarified It's possible some user mode drivers will have relied on the previous buggy behavior, since usbfs uses this call. The fix will be for them to set the appropriate altsetting. [PATCH] unusual_devs.h entry Hereby you may find my patch for a Medion digital camera along with the /proc/bus/usb/devices output. [irda] IrCOMM mod refcount o [FEATURE] Finish removing traces of old module refcount stuff [irda] NSC 3839x probe fixes o [CORRECT] Make NSC 3839x probe and init *really* work The new 3839x code was totally broken. Won't affect code for regular 38108/38338 chips. [irda] irtty cleanup o [FEATURE] Finish removing traces of old irtty driver [irda] LAP close race o [CRITICA] Fix a race condition when closing the LAP prevent the stack to open new LSAPs while we are killing them. [irda] connect watchdog fixes o [CRITICA] In case of connect watchdog, drop reference to the LAP o [CORRECT] Prevent dumping LSAP after connect watchdog o [CRITICA] Prevent dumping TSAP if dumping LSAP did fail o [CORRECT] Only set connected bit on response if LSAP state is correct [irda] init failure cleanups o [FEATURE] Don't leak stuff in various failure paths o [FEATURE] Properly initialise self->max_header_size in IrIAP [irda] Dongle module aliases o [FEATURE] Add module aliases to dongle drivers [WATCHDOG] Documentation move all watchdog documentation into Documentation/watchdog/ [PCMCIA] Fix cs.c debugging. socket references are pointers, not integers. [PCMCIA] Use "yenta" instead of pci_name() when allocating irq. [PCMCIA] Fix race condition causing cards to be incorrectly recognised This patch fixes a race condition between the pcmcia socket initial insert processing, ds.c and cardmgr. This allowed cardmgr to believe that a card was inserted while the card is still in the process of resetting itself, and it therefore tried to read the CIS while it was unavailable. We change the meaning of SOCKET_PRESENT slightly - it now means that a card is present _and we have completed its initialisation_. We introduce SOCKET_INUSE to indicate that we have a reference count against the module. We also take the skt_sem to prevent clients from registering while we're handling an insert/remove/suspend/resume. kbuild: Do not duplicate A/CFLAGS This solves 1193 in bugme as reported by ak@suse.de AFLAGS and CFLAGS contained duplicate entries, both generic and architecture specific flags kbuild: arch/i386/boot*, use kbuild syntax when descending into compressed Use proper kbuild syntax when descending into compressed. The use of $(Q)$(MAKE) $(build)=... is the preferred method kbuild/ieee1394: Makefile update Use full path to script in oui.c build rule. Take advantage of kbuild checking command-line arguments, by adding FORCE as prerequisite, and by use of targets= kbuild/isdn: Defer md5sum calculation until needed Replacing ':=' assignment with '=' assignment defers md5sum calculation until required. The pevious implementation actually calculated the md5sum during a make clean kbuild/eisa: Makefile update - Nice output when generating devlist.h - Defer DEVICE_NAME_SIZE assignment until needed No funtional changes kbuild: genksyms, add explicit reference to include dir genksyms references .h files in the genksyms directory from a generated .c file. Explicit tell kbuild to search the genksyms directory in the kernel src tree for .h files. [PATCH] ide: fix imbalance preempt count with taskfile PIO Noticed by Tejun Huh . [PATCH] Fix futex hashing bugs This fixes two buts that the glibc NPTL verification tests found, one new and one old. The new bug is that "offset" has been declared as an alternative in the union, instead of as an element in the structures comprising it, effectively eliminating it from the key: keys match which should not. The old bug is that if futex_requeue were called with identical key1 and key2 (sensible? tended to happen given the first bug), it was liable to loop for a long time holding futex_lock: guard against that, still respecting the semantics of futex_requeue. While here, please let's also fix the get_futex_key VM_NONLINEAR case, which was returning the 1 from get_user_pages, taken as an error by its callers. And save a few bytes and improve debuggability by uninlining the top-level futex_wake, futex_requeue, futex_wait. [PATCH] Futex-fd error return fix Hugh Dickins caught this confusion between the ret variable in outer scope (holding the fd) and the return value of f_setown. Rename inner "ret". [PATCH] dmasound core fixes Dmasound core fixes from Christoph Hellwig: - Some exported symbols are declared __init - in the modular case this is freed before the other modules can call it.. - dmasound.lock is initialized too late, do it at compile time [PATCH] dmasound kill MOD_{IN,DE}C_USE_COUNT Dmasound: Use try_module_get()/module_put() instead of methods calling MOD_{IN,DE}C_USE_COUNT (from Christoph Hellwig) [PATCH] janitor: remove unneeded version.h #includes From: Randy Hron remove unneeded linux/version.h usage & some duplicate #includes; [PATCH] janitor: add static to comx From: Daniele Bellucci add 'static' to a function [PATCH] janitor: sc520_wdt Insert ioremap error check and adjust cleanup path accordingly. From: Leann Ogasawara [PATCH] janitor: oss/ali copy*user fixes From: Daniele Bellucci [PATCH] janitor: oss/ite8172 copy*user fixes This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: skfddi copy*user fixes From: Daniele Bellucci This patch audits some copy_from/to_user in the SysKonnect FDDI device driver. [PATCH] janitor: remove __SMP__ Three small 1-line patches to get rid of any remaining __SMP__ references in the 2.6 kernel. From: Ron Gage [PATCH] janitor: jffs2 add/delete version.h From: Randy Hron [PATCH] janitor: adfs: add/remove version.h From: Randy Hron Put version.h in the file that needs it. Remove version.h where it isn't needed. Tested as module/non-module on x86. [PATCH] janitor: fix oss/harmony copy*user This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: cdrom module owner From: Daniele OK-ed by Jens. [PATCH] janitor: fix input serport register failure From: Daniele Bellucci [PATCH] janitor: fix blk_init_queue() comments blk_init_queue() has changed (it now returns queue), but the comments were the same. Also fixed a comment in blk_queue_end_tag. From: Domen Puncer [PATCH] janitor: fix oss/swarm copy*user This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: saa7134 pci alloc/free consistent checking From: Leann Ogasawara Patch to insert ioremap() error checking and missing iounmap()'s. Also updated error handling to have only one return statement on error. Finally, in saa7134_finidev() on line 954 there was a duplicate saa7134_i2c_unregister(). [PATCH] janitor: coda delete version.h Test compiled on x86. From: Randy Hron [PATCH] janitor: oss/au1000 copy*user fixes This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: fix copy*user in tc/zs This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: more init/exit cleanups From: Domen Puncer and Randy Dunlap Release (in fact all) functions shouldn't be __init or __exit, if they are called from __init and __exit functions. [PATCH] janitor: oss/forte copy*user fixes This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] janitor: paride: better return codes From: Domen Puncer [PATCH] janitor: qla1280 pci alloc/free consistent checking Ports previous qla1280.c patch to 2.6.0-test2. Fixes incorrect if statement. Inserts pci_free_consistent on error. From: Leann Ogasawara [PATCH] janitor: x86_64/sys_ia32 This patch catches insures proper return values from copy_to/from_user calls. From: Ron Gage [PATCH] rename make check* targets, add versioncheck rename make check* targets to make *check (per Sam) since 'make checkconfig' currently doesn't work; add versioncheck and scripts/checkversion.pl; [PATCH] jffs2: add linux/version.h as needed include linux/version.h in files that use its defines; [PATCH] more keyboard stuff I looked a bit more at the keyboard code and find a bug and a probable bug. (i) In case a synaptics touchpad has been detected, the comment says "disable AUX". But we do not set the disable bit, but instead .and. with the bit - no doubt getting zero. This must be a bug. (ii) Directly above this is the suspicious comment "keyboard translation seems to be always off". But every machine comes always up in translated scancode 2. Translation is never off. But wait! by mistake the above .and. cleared the XLATE bit. So, I think bug (i) explains mystery (ii). However, note that this is code reading only. I do not have the hardware, so cannot test. [PATCH] use size_t for the broken ioctl numbers The ioctl number-generating macros should be used like #define XXXX _IOR(n,x,type-of-arg) which generates an ioctl number that has the size of the argument encoded within it. But there are a number of ioctl #defines that look like #define XXXX _IOR(n,x,sizeof(type-of-arg)) which is very wrong: the _IO/_IOR/_IOW/_IOWR macros will do the sizeof() on the argtype themselves, so the end result is that we will be doing a sizeof(sizeof(argtype)), ie a sizeof(size_t). In other words, the argtype didn't matter at all, and ended up totally pointless. Clearly it's too late to change the ioctl definitions, but we can at least stop people from copying them and making the same mistake. Fix PCMCIA typo (extra 'R') that broke the compile. Fix over-eager ioctl number fix. _IOC() does want the sizeof(). Undo static on ide_probe_for_pdc4030: it can (and will) be called from the IDE init code when compiled-in. Mark drivers that can't be built stand-alone in the configuration files. [PATCH] next fixes here are the next fixes, sorry for the delay, but one of bugs was a really odd one. Note: - here are lot of bugs left, so ISDN is not stable yet but I think it's really time to fix it, even if it need some cycles to get it right (normally I'm only send patches if it works 100% for me). - I add some additional #warnings to address places which need fixing (I hope that some of the other ISDN developer jump in) [PATCH] Fixes to allow ARM to build in the standard tree In addition to the MODULE_ALIAS_LDISC patch, the following changes to generic code are needed to allow ARM to build in Linus' tree. The first is to add PT_SINGLESTEP to ptrace.h so we do the right thing when adding/removing breakpoint instructions into processes (see arch/arm/kernel/{signal.c,ptrace.c} for usage.) The second is needed because pmd_clear() needs to flush the pmd. However, we can't include tlbflush.h into pgtable.h without causing a circular dependency (tlbflush.h needs vm_area_struct and mm_struct which are in mm.h, which needs pgtable.h.) swapfile.c seems to be the only file affected. Fix various scripts to be marked executable. From carbonated beverage . [ "carbonated beverage"? WTF? I think I need a cool handle too ;] [PATCH] arm26 updates Not much to write home about. mostly tidying, some debug, and XIP support. just keeping arm26 up to date really. [PATCH] x86-64 update Nothing too exciting, just some minor new features and bug fixes. The IOMMU code should now not BUG again without CONFIG_IOMMU_DEBUG/iommu=force - Compiles now with -funit-at-a-time - Fix up ioctl 32bit tables following Andrew's change. - Fix __SI_POLL siginfo_t passing to user space - Add 32bit emulation for fadvise64_64 - Remove unneeded sys32_utimes - Various merges with i386 (ACPI, APIC etc.) - Port cpuid patching infrastructure from i386 - Use it to provide better copy_*_user/memcpy/memset/clear/copy_page for C stepping K8. String instructions are faster now that unrolled loops. - Don't try to merge unforced PCI mappings that don't exceed the device's DMA mask. - Discard .exit.data/.exit.text at runtime like i386 - Don't use NTI stores for clear_user - Convert bitops.h bitmap functions to use unsigned long * pointers instead of void * - Fix some warnings in kernel headers. - Fix PDA comments [PATCH] CONFIG_64BIT This adds CONFIG_64BIT to allow us to disable non-64-bit safe drivers on 64-bit platforms and converts the I2O driver to use it. [PATCH] Modules: Be stricter recognizing init&exit sesections Someone pointed out that -ffunction-sections can cause a function called "init" to be put in the init section, and discarded. This hurts PARISC badly. Get more fussy with identifying them. [PATCH] modprobe -q: quieter when modules missing The kernel invokes "modprobe" on modules which might not exist: rightfully, modprobe complains by default when this happens. So the correct response is to invoke "modprobe -q", which is silent on such errors (but still reports other errors such as config errors). Also, use MODULE_NAME_LEN from module.h instead of inventing our own. Fix more ioctl _IOR/_IOW misusage. [PATCH] Verify proper usage of ioctl macros This new version works with all compiler versions, and also catches the case where somebody tries to pass in an array as an argument to the ioctl macros. Thus we verify that only proper types are used. I have checked now that the object code for arch/s390/kernel/compat_ioctl.o remains identical and that the whole kernel compiles for s390 and i386, after fixing the broken ioctl numbers. Arnd's new-and-improved _IOx() argument checking showed two sound drivers whose microcode load ioctl's used types with sizes that overflow the ioctl number. Mark them _IOx_BAD() to document the fact. [PATCH] sdla non-module build fix. Last round of changes broke sdla build if not a module. [PATCH] Fix noop elevator request merging From: Oleg Drokin Without this, if elv_try_last_merge() returns nonzero, we do not initialise *req. That results in a subsequent BUG_ON() in __make_request() because req is NULL (or is just uninitialised). [SERIAL] Make SA11x0 serial driver build. Update the SA11x0 serial driver for the removal of system devices from the driver model. The driver becomes a platform device driver. The driver is now known to the driver model and resource subsytems as "sa11x0-uart". Linux 2.6.0-test5