Summary of changes from v2.6.0-test1 to v2.6.0-test2 ============================================ o wl3501: new wireless driver for Planet WL 3501 802.11 PCMCIA card After a long while, and with wireless becoming a hot topic, at least for me, I get back to work on this driver, Aristeu, Niemeyer, Marcelino, this will finally be integrated! Whee! :-) ACPI: make it so acpismp=force works (reported by Andrew Morton) o wl3501: reorganization . use enun instead of tons of #defines . put the initial smp locking, still commented out . use some defines for magic numbers . break the rx_interrupt routine in multiple inlines for each signal type . CodingStyle cleanups . Activated the stupid loop, will now try without it, works? kill this stupidity o wl3501: fix the bug that prevented us from reliably using MTU ~> WL3501_BLKSZ o wl3501: use eth_copy_and_sum, assorted cleanups o wl3501: disabling the stupid loop for now, working well... o wl3501: uncomment spin_lock usage, working well, have to stress this thing more now o wl3501: remove comment about supporting wireless extensions It will, but is not supporting now, just some basic skeleton is in place. o wl3501: remove stupid loop o wl3501: add locking in the interrupt handler o wl3501: move some variable declaration to where they are needed o wl3501: tidy up wl3501_ioctl . check if the device is present, bail out if not . move the buffer to the place where it is used . check the size of the firmware buffer passed from userspace . make wl3501_write_flash return -EIO on failure, 0 on success o wl3501: initial batch of support for wireless extensions and ethtool o wl3501: implement some more wireless extensions Also reorganize wl3501_card struct a bit to avoid wasting some bytes. This time get_sense and set_wap wireless extensions were added, work in progress, ya know 8) o wl3501: restructure netdev handling and kill card_start abomination o wl3501: update tx statistics o wl3501: more wireless extensions: {get,set}_nick and get_freq o wl3501: remove leftover debug from get_freq o wl3501: create channel to frequency table and use it in get_freq This table was obtained from the Planet WAP 1000 Access Point web interface, accessing it over this driver after I ran nmap against the AP box that is now only with the wireless interface, i.e. all accesses to it are over this driver :-) o wl3501: do proper tx throttling . check if queue was stopped when receiving interrupt tx confirmation, prior to calling netif_wake_queue. . stop the queue processing if there is less than 2 tx blocks in the card, with this I get no drops in pktgen, whee! 8) o wl3501: subtract one from this->channel to get the correct frequency o wl3501: implement get_rate wireless extension For now returning a fixed rate of 2 Mbit/s, that is by far the most common for this thing, but perhaps this card can work at 1 Mbit/s and so I have to find out from were to get this info, without documentation coding drivers is, humm, "fun" :-\ o wl3501: first cut at adding set_freq wireless extension This will require further study and probably to include the MIB stuff in the original driver. o wl3501: use wl3501_reset when changing some parameters o wl3501: the first two chars in this->essid are special . The real BSSID is after the first two bytes, that is why this->bssid has 34 chars when IW_ESSID_MAX_SIZE is just 32... . Include some debug, selectable with the pc_debug kernel module parameter, that is turned off by default. o wl3501: kill one magic number, introducing WL3501_ESSID_MAX_LEN o wl3501: finally a sane use for this->def_chan! With this we can finally select in a sane way the channel to use, selectable thru wireless extensions/iwconfig interface freq nr_channel :-) o wl3501: update this->rssi at wl3501_md_ind_interrupt Now the sensitivity information in iwconfig is dinamically updated. o wl3501: clarify arp type checking in wl3501_md_ind_interrupt Information collected from another driver source found on the net for this hardware, written by magyver@zcom.com.tw, that I'm reading to find more information about this hardware, coalescing several efforts to have a driver for this card. o wl3501: initialize link->release timer and use alloc_etherdev o wl3501: merge some bits from yet another fork of the original sources This time from work done by Heiko Kirschke, and also do some simplification wrt access to ->addr4 in tx headers, i.e. use offsetoff and do just one wl3501_set_to_wla in wl3501_send_pkt. o wl3501: use offsetof(struct wl3501_{rx,tx}_hdr, addr4) in more places o wl3501: use the MIB stuff in this card, add one more wireless extension . Using the MIB in the card I'm now able to find lots of useful information that will get used in more support for wireless extensions. . Also some cleanups wrt ifdefing the code not yet used to write into the flash of this card and some more messages tidy up. o wl3501: implement get frag threshold wireless extension o wl3501: implement get encode wireless extension . Well, this is just for completeness, as with this specific firmware in the cards I have WEP is not implemented... This is the information for the cards I have (tested just one but I doubt the others have WEP...): Card Name: OEM WLAN/WPCMCIA Firmware Date: 02.00.06 01/07/2000 12:13:49 o wl3501: implement get power wireless extension Now to study how to enable power management. o wl3501: implement get tx power wireless extension o wl3501: implement get retry wireless extension o wl3501: kill a race in wl3501_get_mib_value and more . collect statistics in wl3501_get_wireless_stats . WL3501_MIB_ATTR_PRIV_OPT_IMPLEMENTED doesn't seems to be related to WEP, remove its test in get_encode o wl3501: revert the change to get_encode wrt priv_opt_implemented It turns out that the first implementation of get_encode was right wrt checking WL3501_MIB_ATTR_PRIV_OPT_IMPLEMENTED, according to the "802.12 Wireless Networks - The Definitive Guide" O'Reilly book, so, put it back in. o wl3501: remove commented out code Will get back to this at some point. [SCTP] Move rwnd accounting and I/O redrive off of the skb destructor. When the skb was shared with Ethereal, Ethereal was sometimes the last user and the destructor would get called on another CPU, not knowing anything about our sock_lock. Move our rwnd updates and I/O redrive out of the skb destructor. Also, if unable to allocate an skb for our transmission packet, walk the packet's chunks and free the control chunks. Also change list_dels to list_del_init. Fix real later, but this prevent us from a doing damage if we list_del twice. [PATCH] aha1740 update Anyway, here is the latest patch, including fix for the very nice locking bug Adrian just found. [PATCH] aha152X oops fixes From: Martin Diehl Seems there are two problems: * interrupt handler expects to find the host in aha152x_host[] array which is currently set too late after probing irq's * despite testing for NULL swintr derefences a shpnt==NULL anyway, looks like a victim of HOSTNO obfuscation ;-) The patch below fixes the issue for me - succesfully tested to compile, load and even use my attached scanner. drivers/scsi/aha152x.c | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) o wl3501: remove more unused code in wl3501.h will be back in some way with iwpriv support. o wl3501: kill WL3501_SLOW_DOWN_IO, use slow_down_io() instead Also fix some loop variables use, one of which potentially is related to ADHOC not working, i.e. it was not being properly initialized, thanks to gcc 3.3.1 (pre-release) and this was caught... o wl3501: kill magic numbers in cap_info, fix bss_type setting it was only setting INFRA mode... o wl3501: remove dead code that was surviving from original driver It never was used for anything meaningful, i.e. driver_state never is set to non zero. o wl3501: fix some mib variables sizes Following what is in the 802.11 specs and doing experimentations. o wl3501: argh, WL3501_MIB_ATTR_{SHORT,LONG}_RETRY_LIMIT is u8 o wl3501: kill wl3501_80211_data_mac_hdr, we already have ieee802_11_hdr o wl3501: kill wl3501_mac_addr, to follow the de-facto standard for mac addrs [PATCH] scsi_debug mode sense bug This is for 2.5, but should go back to 2.4 I suppose. MODE_SENSE_10 alloc_len LSB is in cdb byte 8, not byte 6, AFAIK... [PATCH] consistant names for device model related struct members currently the embedded struct devices and class devices have totally irregular and sometimes confusing (sdev_driverfs_dev) names. Name them consistanly s{dev,host}_{class,gen}dev. [PATCH] rework shost/sdev attribute handling I've finally found some time to look over the per-driver sdev/shost attribute handling and I'm not so happy with it. First it adds new writeable variables to the host templates which is otherwise almost readonly, the other thing is that it needs per-template procedure calls in the drivers wheras we have moved away from that. Also it looks a bit coplicated :) I've attached a patch below that makes the attributes handling a lot simpler. Details: - the shost_attrs and sdev_attrs in the host template are now used to store the attributes overriden or added by the LLDD. - the midlayer creates those first and then the generic attributes that haven't been overridded and the other way around. - the host attributes are properly unregistered now and don't leak anymore. Unlike the first patch the attribute inheritance is back. [PATCH] pull scsi_scan_host out of scsi_add_host As Douglas mentioned on this list a while ago there's hardware these days where we don't want to automatically perform an initial bus scan in scsi_add_host. Currently we only have ieee1394 in the tree but I can imagine more uses like iscsi or certain fc setups. This patch removes the call to scsi_scan_host from scsi_add_host and moves it into the drivers that want in. [PATCH] fix scsi_mode_data length result I have some Seagate drives that apparently return to much data when asked for 31 bytes for a MODE SENSE cache page, resulting in buffer overruns. Requests for 4 bytes work fine. Changing __scsi_mode_sense to correctly set the scsi_mode_data length per the following patch fixed the problem for me. Fix scsi_lib MODE SENSE(6) bug o wl3501: remove duplicate assignment of link->irq.IRQInfo2 [CPCI] Fix potential deadlock on extract found by Rusty Lynch. Removed cpci_find_slot function that created potential deadlock condition from the CPCI hotplug API. ia64: Move local per-CPU area to the last page of the address space. This makes it possible to address CPU-local variables via an addl (instead of addl/ld8 or movl). Suggsted by John Worley. This doesn't buy us much at the moment, since GCC cannot take advantage of it, but hopefully GCC will support this type of addressing some day. ia64: Performance-tune itc_get_offset() a bit. Fix up syntax error in aha1740 [SCTP] Fix for panic on recvmsg() with MSG_PEEK flag and some ulpevent cleanup. [SCTP] Send SHUTDOWNs through the same path as the received DATA in SHUTDOWN-SENT state. (Ryan Layer) PPC32: use kstat_this_cpu in arch/ppc/kernel/irq.c ia64: Force assembly name of init_task_mem so the aliasing directive works with all compilers. [IPV6]: Fix device leaks in privacy extension code. [CPCI] Kconfig tweak Changed CONFIG_HOTPLUG_PCI_CPCI to a bool instead of a tristate to match how it is used in the makefiles. The board specific driver options have hadd their "depends on" lines updated to have HOTPLUG_PCI first so that they will work as expected. [CPCI] Minimal fixes to restore CPCI hotplug to working order Removed double kfree in unconfigure_visit_pci_dev_phase2, and added a call to pci_bus_add_devices in cpci_configure_slot. ACPI: Correctly handle NMI watchdog during long stalls (Andrew Morton) ACPI: proc function return value cleanups (Andi Kleen) ACPI: Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas Klausner, Nate Lawson) ACPI: Parse SSDTs in order discovered, as opposed to reverse order (Hrvoje Habjanic) [TCP]: Fix SOCK_DONE setting when TCP receives FIN (bug introduced by ChangeSet 1.889.291.25) [PATCH] USB: Adding DSS-20 SyncStation to ftdi_sio Patch for 2.4.22 ftdi_sio to add DSS-20 SyncStation to ftdi_sio - the SyncStation is the usb cradle for the Sony Ericsson P800 phone. [PATCH] USB: more ids for ipaq 3 more device ids added to ipaq.c/ipaq.h Added ids for the Rover P5, Toshiba E310 and E335. Thanks to Matthijs van der Molen, Pavel Stoliarov, Tod B. Schmidt and Matt Hartley. [PATCH] PCI: fixup for compile error in pci/legacy.c the last patch forgot to fix the debug code. PCI: fix up error for when CONFIG_PCI=n and scsi.h is included. [PATCH] vfsmount_lock-fix This fixes one place where I missed the replacing dcache_lock with vfsmount_lock in put_namespace(). Tested with CLONE_NEWNS flag also. [PATCH] syncppp: incomplete function prototype This fixes this warning: syncppp.c:165: warning: function declaration isn't a prototype by adding "void" as the function parameter list. [PATCH] reduce stack usage in wanrouter From Jorn Engel and Randy Dunlap. It reduces stack usage in the WAN router by about 0x500 bytes (from 0x520 to 0x24 when I did it in April). [PATCH] unchecked return code of copy_to_user in read_profile From Daniele Bellucci . Check the copy_to_user() return code in read_profile(). [PATCH] busmouse: fix memory leak and misc_register failure From Flavio B. Leitner. Fix a memory leak and an unchecked return code in the busmouse driver. [PATCH] Fix irq handling of IO-APIC edge IRQs on UP send_IPI_self is needed to resend irqs with IRQ_PENDING status when enabled. Checked with Ingo, and it's in 2.4-ac for some time. This should fix ide lost interrupts on UP with IO-APIC Ide trigers it this way: - disable_irq - do stuff that triggers IRQ. - irq is IRQ_PENDING - enable_irq - IRQ is lost, needs to be resend. I'll send the patch to fixup IDE disable_irq logic to Bart. [PATCH] unresolved symbol with moduled intermezzo This solves the unresolved symbol problem with modular intermezzo. Also update the MAINTAINERS entry. [PATCH] pvr2fb update Here's an update for pvr2fb (with a patch this time), which makes it compile again. [PATCH] PCMCIA: Update hd64465 driver This patch updates the sh-specific hd64465 pcmcia driver for the new API, as well as fixing up some other issues (such as remap_page_range() abuse -- we remap through P3 area instead) which caused it not to compile. Changes by Dominik Brodowski and myself. [PATCH] shwdt update This patch includes quite a few changes and updates for the shwdt driver (which brings it in sync with LinuxSH CVS HEAD). This fixes up support for the SH-2, and also fixes up some timer brain-damage. ACPI: Dynamically allocate SDT list (suggested by Andi Kleen) ACPI: Update version, and other trivialities [PATCH] USB: fixed up pci slot_name accesses in usb code [PATCH] USB: fixed up pci slot_name accesses in usb gadget code [PATCH] ia64: Add some devinits to pci.c These functions can all be devinit as they're all called from functions which are themselves devinit. [PATCH] PCI: remove usages of pci slot_name from the pci core code. [PATCH] PCI: remove usages of pci slot_name from acpi pci hotplug driver [PATCH] USB: convert ISD200 and Jumpshot to DMA-safe buffer This patch converts the ISD200 and Jumpshot drivers to use the new DMA-safe buffer. I'd also like to take a moment to thank Alan Stern, who writes many of these patches. Without his help, many of the improvements everyone has seen over the 2.5.x series would not have been possible. [PATCH] USB: remove now-dead mode-translation code This patch removes all of the mode-translation logic. It's no longer needed, as the upper-level drivers now all issue the proper 10-byte commands. This is a large patch, but what it's doing is removing a great deal of unneeded code -- about 650+ lines removed, according to diffstat. Those of you who are having some trouble getting your DVD-RAMs detected properly should have all your problems solved by an upcoming patch from the SCSI folks. It may look like that problem is related to this patch, but it isn't -- it's a side-effect of another SCSI patch to consolidate code. Special thanks to James Bottomley for being patient enough to work with me on these issues on the SCSI layer. This, BTW, makes US_FL_MODE_XLATE a NOP. The symbol is kept for the purpose of allowing unusual_devs.h to be consistent between 2.4 and 2.5 There are still a few places where more code could (potentially) be removed. I need to mull over the UFI specification to be sure, tho. [IPVS]: Fix typo in Kconfig file. [NET]: Turn softnet_data into per-cpu data. [ATM]: Cleanup pppoatm_ioctl_hook. [ATM]: Cleanup br2684_ioctl_hook. [IPSEC/IPV6]: Add missing email address to my copyrights. [PATCH] ia64: use has_8259 in acpi_register_irq() acpi_madt is marked as __initdata, so an attempt to use acpi_register_irq() after we discarded init sections would cause us to dereference a random location. Everywhere else uses has_8259 anyway. ia64: Set the PRT entry's irq member in iosapic_parse_prt(). ia64: Small fixes for 2.6.0-test1 merge. [SCTP] Update API names to be compatible with draft-ietf-tsvwg-sctpsocket-07.txt. [TCP/IPV6]: Check for anycast where we check for multicast. PPC32: Add some more system calls - tgkill, utimes, [f]statfs64. Patch from Anton Blanchard. Also reserves a syscall for swapcontext and updates the _syscallN macros. PPC32: Add SEMTIMEDOP. Patch from Anton Blanchard. PPC32: Eliminate duplicate variable declarations in arch/ppc/kernel/time.c PPC32: Fix compilation of powermac CPU frequency switching support. [PATCH] PCI: fix problem with pci remove functions not being built if CONFIG_HOTPLUG was not set This fixes a build problem on sparc, and hopefully will prevent this from happening in the future... [SCTP] Support v4-mapped-v6 addresses (Ardelle Fan) [PATCH] USB: remove some warnings when building the documentation. [PATCH] USB: flush all in-flight urbs _before_ disconnect() is called. This solves the module unload problem for some usb-serial drivers (like visor.c and ftdi_sio.c), and makes usb drivers much simpler. [PATCH] USB: fix up bluetty driver's tty and devfs names. [PATCH] USB: fix up cdc-acm driver's tty and devfs names. ia64: Change per-CPU implementation so that __get_cpu_var() returns the canonical address (l-value). To get the virtually mapped alias (which is more efficient), use __ia64_per_cpu_var(). The latter is safe only if the address of the l-value is never passed to another CPU (i.e., not stored in any global place). For extremely efficient, portable per-CPU variables, there is now a new API local.h which was introduced by Rusty Russell. To use this, declare a variable of type local_t as a per-CPU variable and then use {__,}cpu_local_FOO() to manipulate such variables. This patch also updated the atomic interface with a 64-bit counter. [PATCH] USB: ohci minor tweaks Two small updates: - Report short control reads correctly in an exotic case that our regression tests cover. (Haven't run them with ohci for a long time, it seems...) - IRQ non-delivery bugs (ACPI, APIC, etc) can prevent urbs from unlinking. This prints a warning when that sort of non-USB bug is biting. [PATCH] USB: usb net drivers SET_NETDEV_DEV I noticed that Viro's "use alloc_etherdev" patch left a small problem: only "usbnet" did SET_NETDEV_DEV, and that used the wrong driver model device. This has all the usb network drivers use SET_NETDEV_DEV, so the /sys/class/net/*/{device,driver} files link to the relevant usb interface and to its device driver. [PATCH] USB: ethernet gadget learns about pxa2xx udc The original code needed some updates to work properly with the USB Device Controller found in Intel's PXA 2xx processors. - SET_INTERFACE is effectively unusable. So the driver now has a "minimalist" mode, with none of the bells and whistles of CDC. - The config symbol will be CONFIG_USB_PXA2XX, since the same controller (modulo errata) is in several processors other than the "older" pxa250. For the record, that "minimalist" mode was the original idea behind this driver ... implementing CDC was a win for interop since most non-MSFT host operating systems support it already, without needing a new driver. There were also a few other minor updates: - Net2280: queue depth shrank a bit, don't use the same endpoint numbers for the IN and OUT sides. (CATC doesn't let filters consider direction, just numbers.) - Join the Jihad! Abolish register_netdev()!! This just nests the gadget-private data structures inside the netdev data structure, instead of the other way around. - Minor cleanups. [PATCH] USB: usbtest, autoconfigure from descriptors Not all gadget controllers support ep2in-bulk and ep2out-bulk, unlike the EZ-USB (non-FX2) devices or the net2280. So this patch teaches "usbtest" how to look at the descriptors it's given, and use the appropriate endpoints. This helps support Linux test devices using hardware like the pxa2xx UDC, and other controllers. [PATCH] USB: gadget zero learns about pxa2xx udc The original code needed some updates to work properly with the USB Device Controller found in Intel's PXA 2xx processors. - SET_INTERFACE and SET_CONFIGURATION involve hardware automagic: all endpoints get reset. This is a PITA, and will likely get more work. (Seems like the reset is only partial, hosts need to CLEAR_HALT themselves...) What this does is to handle -ECONNABORTED notifications from pxa2xx_udc, in those cases. In general, gadget drivers need to reset endpoints themselves, since the lower levels (hardware!) won't know how the endpoints are allocated between interfaces and altsettings. - The config symbol will be CONFIG_USB_PXA2XX, since the same controller (modulo errata) is in several processors other than the "older" pxa250. - This also adds an "i/o pattern" parameter, so that it can continue to use the "all zeroes" pattern or switch to something else. The initial "something else" is an easily predicted "mod63" pattern. [PATCH] USB: fix open/probe race in scanner driver This patch from Oliver Neukum fixes a race between open and probe. [PATCH] USB: New vendor/product ids for scanner driver this patch adds new vendor/product ids for Avision, Canon, HP, Microtek and Relisys scanners. Fix patch breakage. [PATCH] USB: fix race between open() and probe() registering the device before setting the interface data can lead to a null pointer being followed in open(). This patch fixes that. [PATCH] USB: fix layering violation in usblp writing urb->status is a no go area for drivers. [PATCH] USB: More unusual_devs.h entry updates Here are more user-reported updates for unusual_devs.h. [PATCH] USB: fix a nasty use-after-free bug in the usb-serial core. ia64: Patch by Arun Sharma: Make execve()ing of ia32 tasks work again. The impact on native ia64 fork+execve performance as measured by LMbench is in the noise range (plus or minus 0.1%). The first two hunks in the patch are not together because we wanted to hide the memory latency. o wl3501: remove llc_type stuff, not used o wl3501: use the regulatory domain defines I.e. less magic numbers, also rename freq_domain to reg_domain, as in regulatory domain, as the atmel driver does, and that made me realize that this defines and the function that checks if a channel is valid in a regulatory domain should be moved to the wireless extensions (or some other place) common code. o wl3501: create wl3501_esbq_exec to avoid cut'n'paste in several functions [TCP/IPV6]: Another anycast check. [IPV4/IPV6]: Fix use-after-free bugs in tunneling drivers. [NET]: Dynamic net_device for serial eql balancer. [ATM]: Use sk_state_change() and eliminate vcc->callback(). [ATM]: Eliminate vcc->sleep in favor of sk->sk_sleep. [ATM]: Use sk_data_ready and sk_change_state instead of wake_up. [ATM]: Replace vcc->reply with sk->sk_err; implement sk_write_space. [PATCH] USB: fix memory leak in the visor driver. [SERIAL]: Do not use serio->private to track serio open status in sun drivers. Issue discovered by Ricky Beam (jfbeam@bluetronic.net). [SUNKBD]: Mark reset/layout as volatile. ia64: Put per-CPU data into .data.percpu section both for UP and MP. This ensures that per-CPU data is "addl"-addressable even on UP. [SPARC64]: Fix pbus->sysdata interpretation in pci_domain_nr(). [SPARC64]: Fix assumptions about data section ordering and objects ending up in .data vs .bss [IPV6]: Get reference to neigh/dev when building ndisc DST. o wl3501: use c99 init style for the signals also remove some unneeded casts. [IPV4]: Add the defense timer for IPVS. [IPV4]: Remove the unnecessay del_timer_sync call in IPVS connection expire. [IPV4]: Do not use proto for route output in IPVS. [PATCH] USB: fix irq urb in hpusbscsi this fixes the completion handler for the interrupt urb in hpusbscsi. [PATCH] USB: fix race between probe and open in skeleton registering a device only partially initialised is quite bad an idea. [PATCH] USB: ethernet gadget, another pxa update - #ifdefs out some code that never runs on the pxa - catches "alloc_etherdev Jihad" changes I somehow missed [PATCH] USB: usblcd: race between open and read/write usblcd registers a device before all buffers are allocated leading to a race resulting in NULL pointers being followed. This fixes it. [PATCH] USB: I/O buffering for sddr09 This patch makes the sddr09 subdriver use proper DMA I/O buffering. [PATCH] USB: Make sddr55 use proper I/O buffering This patch makes the sddr55 subdriver use proper DMA I/O buffering. [SCTP] Reduce the size of struct sctp_ulpevent so that it fits in skb->cb even on 64-bit systems. Removed the redundant 'asoc' field in struct sctp_ulpevent and instead use sinfo_assoc_id which is present within the other field 'sndrcvinfo'. This makes the size of struct sctp_ulpevent to be less than the size of skb->cb[](48 bytes) even on 64-bit systems. [PATCH] ia64: fix GENERIC compile This will fix the generic compile by removing sn2 from the list of targets, since it depends on the new discontig code, which hasn't gone in yet. Fix inverted kmalloc parm ordering (noticed by Zwane) that caused oops on mounts of long server names (reported on bugzilla). Fix multiuser mount option. o wl3501: nuke def_chan, useless But I still didn't managed to change the channel on the firmware... will implement wl3501_set_mib_value... ia64: If the compiler supports it, use attribute (model (small)) to tell the compiler that per-CPU variables can be addressed with "addl". On the simulator kernel, this saves about 2776 bytes in the kernel image. On a zx1 kernel, it saves about 5593 bytes. As per-CPU variables are used more, these savings will increase, of course. o wl3501: keep it simple, support only ARPHRD_ETHER packets PPC32: Remove unused fields from irq_cpustat_t. PPC32: PCI mapping fixes for non-cache-coherent PPC machines. PPC32: Make FP exceptions enabled by default. PPC32: Change mm_segment_t definitions to simplify the code. o wl3501: use more c99 style struct initializers [ALPHA] Do ISO C90 strncpy buffer zeroing. [SPARC64]: Fix OBP 4.6+ PCI probing, use pcic_present() consistently. [SPARC64]: Do not break out of PCI controller probing loop too early. [PATCH] sym2 error handler sleeps with irqs off The scsi error handler calls driver error handlers with the host_lock taken. We need to drop it before calling down() in the sym2 driver. [PATCH] Consolidate SCSI requeueing and add blk elevator hook This patch removes the scsi mid layer dependency on __elv_add_request and introduces a new blk_requeue_request() function so the block layer specificially knows a requeue is in progress. It also adds an elevator hook for elevators like AS which need to hook into the requeue for correct adjustment of internal counters. [SCTP] Fix v6 linklocal address send not getting routed to correct i/f. User specified scope_id, but we didn't fill this in to our request down to v6 routing, so the ICMPv6 neighbor sol. went out the wrong i/f. Revert PCI bus number size increase - it isn't even needed on 2.5+, since ppc64 can (and does) use the PCI domain numbers for this instead. The PCI domain support should be back-ported to 2.4.x rather than having bigger PCI bus numbers. Cset exclude: jgarzik@pobox.com|ChangeSet|20030714162217|61624 [PATCH] fix IDE irq disable logic Since the IO-APIC irq disable fix went in we can now enable the proper IRQ disabling in the IDE driver again. That had been disabled due to the problems with UP IO-APIC. [PATCH] Fix dma timeout bugs From Alexander Atanasov Fix DMA I/O and state machine fixes, error recovery [PATCH] fix emu10k1 removal oops All of the cleanup functions in sound/oss/emu10k1/main.c were incorrectly marked as __devinit. This little one fixes it, so that the module no longer oopses when being removed. Add "clock_t_to_jiffies()" conversion function with some rather minimal overflow protection. [PATCH] make clean should remove usr/initramfs_data.S The kernel build leaves a temp file in linux/usr/ that make clean doesn't remove. Fixed in the patch below. [PATCH] Incorrect timeout in CDROM_SEND_PACKET ioctl The CDROM_SEND_PACKET ioctl passes a struct cdrom_generic_command from user space, which contains a timeout field. The timeout is measured in jiffies, but the conversion from user to kernel jiffies is missing, which makes the timeout 10 times shorter than it should be in 2.5 kernels on x86. This causes CDRW formatting with cdrwtool to fail. The following patch fixes this problem. o wl3501: create iw_valid_channel To validade if a channel is OK in a specific regulatory domain, I prefixed it with iw_ as I plan to move this stuff to the main wireless extensions code, ditto for the next changeset, where I'll introduce iw_chan2freq and iw_default_channel. [PATCH] Update the saa7146 driver core - fix WRITE_RPS0 and WRITE_RPS1 inlines, fix usage in mxb and budget drivers - export "saa7146_start_preview" and "saa7146_stop_preview" to allow drivers to start and stop video overlay (necessary for analog module support in the av7110 driver) - fix i2c implementation: some frontend drivers transfer a huge amount of firmware data (> 30kB), speed up the transmission by busy waiting between byte transfers for bigger transmissions - change ioctl function in various driver to accept a saa7146 filehandle instead of a saa714 device structure [PATCH] Various small fixes in dvb-core - indentation fixes in dvb_demux.c - include cleanup in various files - simplify dvb/ttpci/Makefile [PATCH] Major dvb net code cleanup, many fixes - code review and fix the old race condition in dev->set_multicast_list - use tq_schedule instead of tq_immediate - remove card_num and dev_num from struct dvb_net (now obsolete) - prevent interface from being removed while it is in use - allow add/remove only for the superuser - set check-CRC flag on section filter to drop broken packets - some more debug printfs in filter handling code - cleaned up and commented packet reception handler - fix formatting [PATCH] Update dvb frontend drivers - grundig_29504-401.c: fix charge pump and band switch setting bug, caught by Robert Schlabbach - grundig_29504-401.c: pass apply_frontend_param() return value to upper layers - grundig_29504-401.c: try to make a more specific detection mechanism - grundig_29504-491.c:remove bogus out-of-range check, FEC table index is limited to 0...7 due to &= ~0x03 anyway... - nxt6000.c: Patch by Paul Andreassen: Add Support for Comtech DVBT-6k07 (PLL IC: SP5730) - ves1820.c: use Robert Schlabbach's suggestions for CLKCONF (0x03) and CARCONF (0x04) - alps_bsrv2.c: don't enable voltage on init + inversion bugfix [PATCH] Add Zarlink MT312 DVB-T frontend driver - Zarlink MT312 satellite channel decoder driver contributed by Andreas Oberritter [PATCH] Update the DVB budget drivers - follow changes in dvb_net, use new eeprom parse code to properly detect the mac - add new subvendor/subystem id pair [PATCH] Update the DVB av7110 driver - Fix to 'Sharing SDRAM between TT re-insertion and OSD...' - OSD didn't get the maximum available memory in one piece; needs new firmware version 0x2616 - Improved performance when setting palette with full 256 color OSD - read MAC from EEPROM if available, contributed by Michael Glaum - add some MODULE_PARM_DESC for modinfo - add support for the "analog module" available for DVB-C cards: the saa7113 is initialized and some more v4l2 ioctls are available. you can use "xawtv" now to switch between "dvb" and "analog" input. when you are one the "analog" input, you can tune in analog channels. [PATCH] More saa7146 driver core updates - separate all EXPORT_SYMBOL stuff to saa7146_ksyms.c - properly stop capturing when no more buffers are available (missing register upload) - make extension data a per-device member, not a per-extension member, so that every device can have it's own private data (necessary for DVB drivers which handle more than one device) - implement field based capturing, ie. capturing fields to different capture buffers - change default old of capture fields for ALTERNATE mode (comply with bttv) - follow these changes in various analog saa7146 based cards drivers (mxb.c and dpc7146.c) - follow these changes in various saa7146 based budget card drivers [PATCH] Various kconfig and Makefile updates [PATCH] Add a driver for the Technisat Skystar2 DVB card - add DVB driver for Technisat Skystar2 card, which is based on the FlexCop2 chipset by B2C2 [PATCH] Add two drivers for Hexium frame grabber cards - add drivers for the Orion and Gemini frame grabber cards, based on the saa7146. For details, see http://www.hexium.hu/. Thanks to Michael Hunold . [PATCH] More updates for the dvb core [PATCH] Add TDA14500x DVB-T frontend driver - tda1004x DVB-T driver contributed by Andrew de Quincy and Robert Schlalach [PATCH] Update various other frontend drivers - In alps_tdlb7.c read SP8870 status reg to clear pending irqs in FE_SET_FRONTEND, as suggested by Ragnar Sundblad to avoid frontend hang-ups. - the vp310 support in mt312.c support should be configured to 90Mhz, too. skystar2 driver with bugfixed master_xfer() should probably work now. [PATCH] Update the av7110 DVB driver - fix DMX_GET_STC to get the msb right - follow changes in saa7146 driver core, separate some data for DVB-C and DVB-S cards [PATCH] Add two drivers for USB based DVB-T adapters - add two new usb dvb drivers: o dvb-ttusb-budget.c for Technotrend/Hauppauge Nova-USB devices (Thanks to Holger Waechtler and elix Domke ) o dvb-ttusb-dec.c for Technotrend/Hauppauge USB DEC2000-T devices (Thanks to Alex Woods ) [PATCH] Update Technisat Skystar2 DVB driver This is a follow-up patch to my latest patch series. It fixes the problems and flaws Greg KH pointed out. There was a typo in the Makefile, so the driver was never compiled. But I assumed that it built without errors. Doh! - update the Technisat Skystar2 driver: - follow kernel coding rules, change comments - change function return values from u32 to int where possible - make all functions static - comment out unused functions - fix return values of functions to follow kernel rules - removed bogus delay, read and write functions o wl3501: create iw_default_channel Also aimed at being moved to the core wireless extensions code. [PATCH] rpcsec_gss compatibility start gss seq no at 1; netapp doesn't accept seq no 0. Just as a data point, Solaris 9 client uses initial seq. no. 2. [PATCH] Fix rpc_setbufsize() usage - fix null dereference on xprt->inet if (!connected), which happens if a rpc cred wasn't available (root+auth_gss case) - set bufsize on reconnect [PATCH] Allow unattended nfs3/krb5 mounts The comment in nfs_get_root() basically describes the patch: Some authentication types (gss/krb5, most notably) are such that root won't be able to present a credential for GETATTR (ie, getroot()). An easy way (ie, without this patch) to have unattended mounts is to have a root/host@REALM (or similar) principal stashed in a keytab, which root (rather, gssd) can use. However, this might not be desirable for many sites. In any case, RFC2623 specifically describes the problem addressed here. Notes: - Root inode gets inum of 1. This doesn't seem to matter, but may be aesthetically unpleasing. I wanted to choose an inum unlikely to conflict with an existing inum (although NFS has specific support for that). It looks like more work than it's worth to change the inum after the info is available. AFAICT it's not critical info. - Solaris has this "wierd" (but understandable) behavior that after mounting without a credential, the mount point is not visible at all until an access is attempted with a credential. This now-you-see-it- now-you-don't behavior doesn't seem worthwhile to reproduce here. - Unfortunately, MOUNT_VERSION must go to 5. Some kernels with ver 4 do not understand pseudoflavor. Keeping it at 4 means that the userland mount can't know for sure whether the kernel accepted the option or not. (Unless I'm missing some hack that could be done.) It works in my environment, against a netapp server (with the rpcsec_gss patch I provided earlier). [PATCH] s390: arch update - New default configuration. - Fix get_tv32/put_tv32. - Replace generic dma-mapping file with empty one. - Remove wrong comment from dma.h. [PATCH] s390: irq stats. Enable irq statistics for s390*. We defined NR_IRQS to 2, one for all i/o interrupts and one for all external interrupts. [PATCH] s390: dasd driver. Remove put_disk from dasd_destroy_partitions. This is done in dasd_free_device. [PATCH] s390: common i/o layer. - Fix two memory leaks. - Clear pending status in cio_enable_subchannel. - Don't call device_unregister from interrupt context. - Fix refcounting problems on static device structures for the ccw console. - Delete timeouts for qdio after successful startup. [PATCH] s390: qeth network driver. - Reset netdevice to defaults in offline processing. - Fix checksumming. - Fix routing status display. - Get rid of _ccw_device_get_device_number in qeth. - Inline some functions to save stack space. [PATCH] s390: siginfo_t for s390x. Correct size of siginfo_t for s390x (from 136 to 128). [PATCH] remove all #include 's This causes blk.h to print a warning and removes all uses of blk.h. I've tested the compilation in 2.6.0-test1 with a .config that tries to compile as many drivers as possible. [PATCH] sound/oss/ad1816.c update This fixes various problems with the AD1816 sound driver: - Compilation errors with CONFIG_PNP enabled fixed. - PNP specific code rewritten. - SMP fixes. - DMA resource handling fixes. - Other minor code cleanup. [PATCH] Fix up unattended nfs3/krb5 mounts The patch from Frank was missing the auth flavor argument to nfs_sb_init(). Trivial fix follows. [ Side note: the code mixes the spellings 'flavor' and 'flavour', which is somewhat confusing. That should probably be fixed to avoid confusion. ] [PATCH] USB: Handle over current inputs on all Intel controllers This patch for the UHCI driver changes the test for over current inputs, which can cause false Resume indications with some of Intel's USB controllers. Previously the code only checked for one specific controller chip, but now another one has turned up that exhibits the same flaw. It seems best just to check for Intel being the manufacturer, especially since it doesn't hurt to check for the condition when it isn't present or is only temporary. [PATCH] USB: unlink interrupt URBs in scanner driver Clean up irq urb when not enough memory is available. [PATCH] USB: fix race between probe and open in dabusb the driver is registering the device too early, so that open may see a partially initialised device. [NETFILTER]: Fix ip_nat_ftp in 2.6.0-test1. This is a 2.6 only fix for the FTP NAT helper code. The patch below (by Martin Josefsson) also closes Bug 933 in the kernel bug tracker. The bug was introduced while making the helper compliant to the recently introduced support for nonlinear skbs in netfilter. [PATCH] USB: better locking in hcd_endpoint_disable() You'll recall there was a change to the locking in that code after it was submitted. This is a better fix to that issue. "Obviously correct", though I've not run with this in ages. o wl3501: remove lots of uneeded casts o wl3501: first cut at power management support [PATCH] ia64: simeth driver fix I can see a NaT consumption fault every time I cat /proc/net/dev OK, the problem is in the simulated ethernet driver. [SPARC64]: Clear all IRQs at probe time in PCI sabre driver. Fixes operation under newer OBP versions. [BRIDGE/EBTABLES]: Add stp packet matching. [SPARC64]: Fix floppy irq handler return types. [PATCH] Allow LBD on architectures that support it From: Milton Miller Enable the CONFIG_LBD option for the architectures which appear to support it. It is not actually tested for those architectures, but it's not likely to be unless we do this... [PATCH] misc fixes - i460-agp linkage fix ("Luck, Tony" ) - Don't reimplement offsetof() in hfs - NBD warning fix - Remove unneeded null-pointer test in journal_stop (Andreas Gruenbacher) - remove debug stuff in journal_dirty_metadata() - slab.c typo fixes (Lev Makhlis ) - In devfs_mk_cdev() error path, don't print `buf' until we've written something into it. (Reported by Gergely Nagy ) - Two ISA sound drivers had their kmalloc() args reversed (Spotted by Steve French) [PATCH] parport_pc.c compile warning From: Shane Shrybman This fixes the following warning: drivers/parport/parport_pc.c:98: warning: `verbose_probing' defined but not used [PATCH] ext3 extended attribute fixes From: Andreas Gruenbacher - Fix transaction credit exhaustion BUG. - ext3_journal_get_write_access_credits failures break out of the loop in 1058, so is not released properly. - must be reset after journal_release_buffer() in line 1072. [PATCH] Ext3 xattr credits fix for quotas From: Andreas Gruenbacher The xattr and acl code are not properly reserving credits for quotas. EXT3_DATA_TRANS_BLOCKS is an overestimate of the credits required including quotas. Make it a little more tight, and use it in the xattr and acl code to be quota safe. [PATCH] ioctl(BLKBSZSET) fix and cleanup From: Lou Langholtz - set_blocksize() already does those size checks. - test the set_blocksize() return value: it can fail if the requested blocksize is less that the hard sector size. [PATCH] pass regs into dump_fpu() in elf coredump From: Pete Zaitcev sparc32 needs the registers passed into dump_fpu(). [PATCH] is_devfsd_or_child() deadlock fix From: Andrey Borzenkov The code that did proper check existed in 2.4 and was removed in 2.5 for whatever reason. The patch restores it slightly modified as below. 2.4 code looks somewhat unclean in that - it traverses task list without lock. - it starts from current->real_parent but nothing prevents current be init_task itself. This hung for me on 2.5 during boot. May be 2.4 does something differently. [PATCH] remove task_cache entirely From: Manfred Spraul kernel/fork.c contains a disabled cache for task stuctures. task structures are placed into the task cache only if "tsk==current", and "tsk==current" is impossible. There is even a WARN_ON against that in __put_task_struct(). So remove it entirely - it's dead code. One problem is that order-1 allocations are not cached per-cpu - we can use kmalloc for the stack. [PATCH] use kmalloc for ia32 stacks From: William Lee Irwin III I've been slab allocating the stack on i386 for some time, and it has gone without incident in pgcl, -wli, -mjb (?), and so on. kmalloc() is fine; there isn't any particularly compelling reason for a dedicated slab as there's no preconstruction to do, though it can be arranged. Basically, it works, there's no obvious reason not to, and (even better) it's not totally invisible to the VM and even makes overhead reportable. [PATCH] fix removable partitioned media with devfs From: Andrey Borzenkov Current 2.5 does not register any device node in devfs for empty media (capacity == 0) case. This makes removables unusable with devfs. Partition rescan is done only on bdev open, but without any device node for device it is impossible to open it. In 2.4 it was finally solved by always registering .../disc node as representation for "whole" disk and using devfsd action to force partition rescan on access to (non-existing) partition name. For primary names it was handled internally by devfs - it kept track of removable devices in directory and initiated partition rescan when name was not found. Both are obviously broken now. You can't do partition rescan because no node is registered at all and internal handling was removed. Very nice. The attached patch makes resgister_disk always register at least disc node. This now works for old and new compat names as per devfsd configuration; canonical names are still broken: {pts/3}% ll /dev/scsi/host1/bus0/target4/lun0/part4 ls: /dev/scsi/host1/bus0/target4/lun0/part4: No such file or directory but it can be fixed using the same technique as above so I won't push it. [PATCH] fix return of compat_sys_sched_getaffinity From: Anton Blanchard On success getaffinity should return the size of mask. It looks like Randy's patch (which fixed a bogus return) missed this bit. In reality I'm not sure if we care, and with cpu bitmasks this stuff is going to break. [PATCH] Fix two bugs with process limits (RLIMIT_NPROC) From: Neil Brown 1/ If a setuid process swaps it's real and effective uids and then forks, the fork fails if the new realuid has more processes than the original process was limited to. This is particularly a problem if a user with a process limit (e.g. 256) runs a setuid-root program which does setuid() + fork() (e.g. lprng) while root already has more than 256 process (which is quite possible). The root problem here is that a limit which should be a per-user limit is being implemented as a per-process limit with per-process (e.g. CAP_SYS_RESOURCE) controls. Being a per-user limit, it should be that the root-user can over-ride it, not just some process with CAP_SYS_RESOURCE. This patch adds a test to ignore process limits if the real user is root. 2/ When a root-owned process (e.g. cgiwrap) sets up process limits and then calls setuid, the setuid should fail if the user would then be running more than rlim_cur[RLIMIT_NPROC] processes, but it doesn't. This patch adds an appropriate test. With this patch, and per-user process limit imposed in cgiwrap really works. [PATCH] unline most of put_namespace() It has five callsites, and is big. [PATCH] CONFIG_BLK_DEV_CRYPTOLOOP needs CONFIG_CRYPTO From: Brett CONFIG_BLK_DEV_CRYPTOLOOP needs CONFIG_CRYPTO [PATCH] slab: print stuff when the wrong cache is used From: Manfred Spraul Some extra diagnostics when someone passes the wrong object type into kmem_cache_free(). To help some bug which Manfred is chasing. [PATCH] settimeofday() fixes From: davem - sys_stime() takes an int*, but it should be a time_t*: they have different sizes on (for example) sparc64. - sys_settimeofday() is confusing timevals with timespecs. They have different sizes on sparc64 and the time keeps on getting set to epoch. [PATCH] visws: fix PCI breakage From: Andrey Panin This fixes Visws PCI code which was broken since 2.5.73. [PATCH] vesafb fix From: Gerd Knorr The patch below fixes some vesafb issues. Changes: * fixed struct screen_info in tty.h to use portable types. "unsigned long" for 32bit values doesn't work on hammer machines ... * limited the framebuffer memory used by vesafb to 16 MB. This avoids that vesafb's ioremap() eats plenty of kernel address space for no real benefit if the gfx card has very much memory (some have 128 MB or more, ia32 has 128 MB address space for vmalloc and ioremap ...). * mtrr is enabled by default. That should improve the vesafb performance a lot. Also added a option to disable mtrr. [PATCH] watchdog: i810-tco support From: Wim Van Sebroeck Adds support for the 82801EB and 82801ER I/O Controller Hub's (ICH5 & ICH5R). This will add watchdog support for the i865 and i875 motherboard chipsets. It also removes some extra trailing spaces in the source files. [PATCH] CLONE_STOPPED From: Ulrich Drepper CLONE_STOPPED: start a thread in a stopped state. Required for NTPL. [PATCH] dm: 'wait for event' race From: Joe Thornber There was a race associated with the 'wait for a significant event' functionality. Basically userland could read the status table, then wait for another event, but the event it was waiting for could have occurred in the gap between reading and waiting. To solve this we assign identifiers to events, in order to successfully wait for an event both userland and the kernel driver must be in agreement about what the last event identifier was. If they don't agree the wait call will return immediately, allowing userland to re-read the status and see what it missed. The new ioctl interface will use this properly. [PATCH] dm: v4 ioctl interface From: Joe Thornber v4 of the ioctl interface. Note there never was a v2 or a v3 except in an unofficial EVMS way. This works correctly with the 64-bit dev_t patches in -mm kernels. There is now a config option to allow the user to select v1 or v4, it defaults to v1. dm-ioctl.[hc] just #includes dm-ioctl-v[14].[hc] depending on the config option. If you want to use v4 you will have to update your tools (libdevmapper/lvm). The latest tools at the time of writing are: dmsetup + libdevmapper + replacement kernel patches for 2.4.20 & 2.4.21: ftp://ftp.sistina.com/pub/LVM2/device-mapper/device-mapper-testing-new-version4-interface.tgz Updated LVM2 tools to work with the above: ftp://ftp.sistina.com/pub/LVM2/tools/LVM2.0-testing.tgz [PATCH] fix bootmem allocator on machines with holes in From: Anton Blanchard If the memory we are trying to allocate is too large to fit in the current region, we should skip to the end. We currently search the available bitmap, find the area is too small, increment the start by incr and try again. This resulted in an apparent lockup on a 64GB machine that had a 3GB IO hole starting at 1GB (and the mem_map array would not fit in the first region). Also use ALIGN macro instead of an open coded version. [PATCH] Update Documentation/magic-numbers.txt From: Update Documentation/magic-numbers.txt [PATCH] fix as-iosched do_div() For CONFIG_LBD=n case it was passing a u32 into do_div(). [PATCH] "Fix" AS i/o hang with aacraid driver From: Mark Haverkamp Mark says: "Daniel McNeil and I have been debugging a hang with the aacraid driver using the as I/O scheduler." We found that scsi_request_fn would de-queue a request and later re-queued it. This left the as_data->nr_dispatched variable in an inconsistent state (it was never being decremented back to zero). We added a call to elv_completed_request to clean up the state before re-adding the request. This has fixed our hang problem." It affects other SCSI drivers, but less frequently. We're assuming this is the cause of several "everything got stuck in D state" reports. A very long design discussion has ensued. We don't have a suitably tested fix ready so I think it is best to put Mark's one-liner in there for now, fix it for real when everyone gets back from OLS. o wl3501: slow_down_io exists only on __i386___ The joys of having several arches at my home lab, thanks to parisc this time. [PATCH] alpha illegal->invalid [PATCH] mtrr printk levels [PATCH] mtrr fixes Fix cyrix mtrr ((Zoltán Böszörményi) Back port 2.4 handling for the Intel bug Add printk levels [PATCH] fix visws pci (visws specific code) (Andrey Panin) [PATCH] another batch of "invalid" not "illegal" fixes (Steven Cole) [PATCH] POSIX doesnt guarantee head -2, only head -n 2 (and some build environments are set up to be poxixly correct) (Teemu Tervo) [PATCH] head -n 2 for ppc64 [PATCH] updated magic number tables (Fabian Frederick) [PATCH] pnp layer seems to document wrong file name (Jochen Hein) [PATCH] first cut ftape conversion (Paulo Andre) [PATCH] clean up ip2 glue (not yet ported tho) (Adriank Bunk) [PATCH] move watchdogs to __module_get now it exists (Jan Dittmer) Also add the 82801EB/ER (Wim Van Sebroeck) [PATCH] fix all the paths in ide Kconfig docs (Helge Hafting) [PATCH] convert ewrk3 for new locking etc [PATCH] clarify AXNET kconfig as per 2.4 [PATCH] use cpu_relax in seq8005 [PATCH] re-enable seq8005 [PATCH] forward port 2.4 Zoom video support Also apply the right fix to the yenta hang problem [PATCH] make isapnp request its port properly [PATCH] function is long gone, kill prototype [PATCH] pas16 build fix [PATCH] fix qlogicfas build warning [PATCH] undefined shifts in qla1280 C doesn't define >> by 32 for 32bit systems, and on some gcc leaves you with the original value... [PATCH] sym53c8xxx wasnt updated to new irq code etc [PATCH] serial proc gives info on keycounts which can sometiems be abused For 2.4.x we made the file r-------- but for 2.6 we can do a nicer job [PATCH] xjack pcmcia needs .. pcmcia (Taral) [PATCH] restore console log level when jbd raises it (Vita Samel) maybe the set function should return the old value instead ? [PATCH] fix jffs2 build (Jamie Hicks) [PATCH] fix a doc error and misleading printk [PATCH] remove a now false comment (Frank Cusack) [PATCH] fix a copy_user return [PATCH] fix failed sethostname corrupting the data (Stephan Maciej) [PATCH] correct author of ad1980 plugin (Overzealous C&P of Red Hat license template 8)) [PATCH] fix make rpm versioning [PATCH] fix ver_linux for 2.6 (Steven Cole) [PATCH] fix unused symbol in ad1889 (Francois Romieu) [PATCH] btaudio uses memset so should be strlcpy (I've got a patch pending from someone to redo the lot using memset so its safe from padding suprises) [PATCH] illegal->invalid for dmasound [PATCH] emu10k further updates/bug fixes [PATCH] Add HAL2 driver (Ladislav Michl) [PATCH] Add Harmony OSS driver (Jean-Christoph Vaugeois, Matthieu Delahaye,Helge Deller, Alex deVries) [PATCH] Kahlua audio driver [PATCH] Makefile bits for audio resync [PATCH] Rename `nb85e' to `v850e' on v850 The term `nb85e' is incorrect (caused by my confusion when starting the v850 port), so this renames all occurances to `v850e'. Because this change renames some files too, it contains a number of whole-file add/removes. [PATCH] Refactor v850 UART driver The v850 family contains several related-but-not-identical on-chip UARTs. This patch factors out the common code and uses it to implement both types (only one was supported before). Also, this patch changes the way the v850 UART is initialized, to use the same method as other linux serial drivers. This patch renames the UART code to be `v850e_uart' rather than `nb85e_uart', as the former is more correct. As this change renames some files too, the patch contains a number of whole-file add/removes. [PATCH] Cleanup v850 cache-flushing code a bit (1) Add support for the V850E/ME2 processor (2) Clean up the cache-flushing function naming a bit (3) Similar to previous patches, rename everything from `nb85e' to `v850e'. This patch renames some files, and so contains a number of whole-file add/removes. [PATCH] Add another layer of indirection for irq numbering with v850 `gbus' irqs This allows ports that support the v850 RTE-CB `GBUS' interrupts to use both them and processor-board-specific interrupts at the same time. [PATCH] Add v850 RTE-V850E/ME2-CB port This adds a port to the V850E/ME2 processor, and the `SolutionGear mini' RTE-V850E/ME2-CB evaluation board. [PATCH] Add v850 `sim85e2s' port, and cleanup v850e2 code This patch adds support for the `sim85e2s' simulation of the NA85E2S processor implementation. As part of this, cache-flushing support for the common v850e2 cache implementation is added. It also cleans up a bunch of code that was duplicated between different v850e2 processors. [PATCH] Update v850 config/makefile This updates the v850 Kconfig and kernel/Makefile to reflect preceding changes. [PATCH] v850 miscellanea Some updated copyright noticed and an unnecessary variable deleted. [PATCH] Rename config option CONFIG_V850E_MA1_HIGHRES_TIMER on v850 This feature is not actually MA1-specific, so get rid of the `MA1' in the name. [PATCH] Update AS85EP1 port on v850 [PATCH] On v850, use a long jump to start_kernel This allows the low-level start code to be located far away from the rest of the kernel, which is sometimes necessary. Put the requeue hack back into as-iosched.c [SCTP] Support for IPV6_V6ONLY socket option. (Ardelle.fan) [PATCH] Fix error path in kahlua driver Memory leak fix: hw_config is allocated before the call to sb_dsp_detect. [PATCH] Unchecked copy_to_user disturb harmony Fix an assortment of unchecked copy_to_user(). [PATCH] add new sound drivers to Makefile/Kconfig Adds kahlua, harmony and hal2 drivers to the build options. Fix vfat shortname character logic that had wrong signedness tests. From Dennis Vshivkov: "whenever I was trying to create a file using only national characters for its name, it was always created with an uppercased shortname (provided that the name was not too long for 8.3, of course). Everything was fine with latin filenames, though." The bug is that we check "buf[0]" as an unsigned character, but "buf" is just "char *", which (depending on architecture and compiler options) tends to be signed. [PATCH] Allow struct members inside percpu macros The current percpu macros do not allow __get_cpu_var(foo.val1) which makes building macros on top of them really difficult. The reason for this is the __per_cpu postfix appended to per-cpu variables, designed to catch direct uses. Prepend it instead. [PATCH] Centralize Linker Symbols Richard Henderson point out a while back that linker generated symbols should be declared as: "char _text[]" so that the compiler can't make assumptions about them sitting in small sections, etc. Centralize these defintions in asm/sections.h (where some already are on x86). [PATCH] introduce "local_t" - cpu-local atomic variables Introduces local_t, a type which is like atomic_t, but the operations are only atomic from a single CPU's point of view (ie. atomic against interrupts and softirqs). Some architectures (eg. i386) can implement these very efficiently. There are special operations for the case of a local operation on a per-cpu variable (which is common), which some architectures can implement efficiently (eg. IA64 keeps all per-cpu variables mapped at the same address, so no address arithmetic is needed). The generic implementation given here simply uses atomics on 32-bit archs, three variables on others. x86 is already implemented specially. [PATCH] Resolve module local_t conflict Uses local_t for module reference counts. [PATCH] Sparc64 local_t support These are the local_t bits for sparc64. Other platforms such as PPC64 and Alpha (and in fact any "load locked/ store conditional" like platform other than IA64), probably want to do something similar. [PATCH] Make rmmod -f taint kernel. Somehow, the code which taints the kernel when rmmod -f is used got lost. Restore it. [PATCH] module_put_and_exit Author: Neil Brown Define module_put_and_exit() and use it for nfsd/lockd Both nfsd and lockd have threads which expect to hold a reference to the module while the thread is running. In order for the thread to be able to put_module() the module before exiting, the put_module code must be call from outside the module. This patch provides module_put_and_exit in non-modular code which a thread-in-a-module can call. It also gets nfsd and lockd to use it as appropriate. Note that in lockd, we can __get_module in the thread itself as the creator of the thread is waiting for the thread to startup. In nfsd and for the 'reclaimer' threaded started by locked, we __get_module first and put_module if the thread failed to start. [PATCH] Delete init/cleanup_module prototypes in obscure places. A few places pre-declare "int module_init(void);" and "void module_cleanup(void);". Other than being obsolete, this is unneccessary (it's in init.h anyway). There are still about 100 places which still use the obsolete-since-2.2 "a function named module_init() magically gets called": this change frees us up implement that via a macro. [PATCH] Make percpu_modcopy a macro davidm@hpl.hp.com writes: "I'm working on updating the ia64 tree with local_t etc. One thing that would really help me: could you make asm-generic/percpu_modcopy() a macro? The routine depends on cpu_possible(), but I can't including smp.h in percpu.h since that would lead to recusive header-file dependencies (and in my opinion, percpu.h should be more "primitive" than smp.h, so that it can be included virtually everywhere)." o wl3501: cleanup types [PATCH] Use before initialisation in devfs_mk_cdev() As noted by Gergely Nagy: "devfs_mk_cdev() first checks the mode passed to it, and if it thinks it is not a char device, it prints a warning and aborts. Now, this printing involves the local variable `buf' (char buf[64]), which is not initialised at that point." The same problem also affects devfs_mk_bdev. Fixed thus. [TCP/IPV6]: Revert previous anycast changes. [IPV6]: Fix anycast usage. - Recognition of reserved anycasts is removed from ipv6_addr_type() Flag IPV6_ADDR_ANYCAST is removed as well. - Some meaningless noop code checking for anycast which are not going to happen is removed from ndisc.c - ipv6_unicast_destination() replaces suboptimal ipv6_chk_acast_addr() in data paths [SERIAL]: rev in sunsu.c uart port info needs to be a short. [SPARC64]: Update defconfig. [PATCH] janitor: drivers/telephony/ixj From: Daniele Bellucci This is an audit (copy_*_user), cleanup, and coding-style fix for this driver. [PATCH] janitor: audit misc_register in wdt977 From: Daniele Bellucci Add a check to misc_register() in the wdt977 driver. [PATCH] janitor: copy_to_user in media/video/pms From: Daniele Bellucci Add a status check to copy_to_user() in a media/video driver. [PATCH] janitor: copy_to_user in net/irda/vlsi_ir From: Matthew Wilcox and Daniele Bellucci Fix an unchecked copy_to_user() in net/irda/vlsi_ir.c. [PATCH] janitor: copy_to_user in wireless/ray_cs ioctl From: Daniele Bellucci Fix an unchecked copy_to_user in ray_cs ioctl. [PATCH] janitor: unchecked copy/put_user in umsdos ioctl author: Daniele Bellucci Fix a series of unchecked copy/put_user()s in umsdos ioctl. [PATCH] janitor: unchecked copy_to_user in drivers/sbus/char/envctrl author: Daniele Bellucci Fix several unchecked copy_to_user()s in sbus/char/envctrl [PATCH] janitor: unchecked copy_from_user in ieee1394/amdtp author: Daniele Bellucci Fix an unchecked copy_from_user in ieee1394/amdtp. [PATCH] janitor: unchecked copy_from_user in parisc/led.c author: Daniele Bellucci [PATCH] janitor: mem leak and copy_from_user in wan/comx driver author: Daniele Bellucci Fix a memory leak and checks a copy_from_user in wan/comx driver. [netdrvr wan] update comx maintainer, by request Previous entry said to be out of date by two years or more. [netdrvr b44] tons of fixes. should work now. [PATCH] fix ne2k-pci memleak ne2k-pci leaks memory on unload. dev->priv is allocated in ethdev_init(), but never freed. against 2.4-bk, but also applies to 2.5-bk with offset. [PATCH] mark comx obsolete, by request [PATCH] add ethtool TSO get/set * Add TSO get/set command to ethtool interface. Applies to both 2.4/2.5. Ethtool application patch sent under separate cover. [PATCH] Add ethtool TSO, Rx/Tx csum, SG Get/Set support * Add ethtool TSO, Rx/Tx csum, SG Get/Set support. [PATCH] sk_mca [PATCH] via-rhine 1.19-2.5: One more Rhine-I fix This patch fixes another way the Rhine-I found to break down under load. It should bring Rhine-I behavior on par with the Rhine-II. [PATCH] Software suspend and RTL 8139too in 2.6.0-test1 This patch is needed to make software suspend work with the 8139too driver loaded. [PATCH] 3c574_cs initialise spinlock This patch against 2.5.75 initialises a spinlock when the structure containing it is allocated [wireless airo] Simplify dynamic buffer code in Cisco extensions. [wireless airo] Update structs with the new fields in latest firmwares. [wireless airo] Make locking "per thread" so it's fully preemptive. [wireless airo] Don't sleep when the stats are requested. [wireless airo] Don't call MIC functions if the card doesn't support them. [wireless airo] Fix small endianness bug. [wireless airo] Returns proper status in case of transmission error. [wireless airo] Checks for small packets before transmitting them. [wireless airo] Return channel in infrastructure mode. [wireless airo] Update to wireless extensions 15 (add monitor mode). [wireless airo] Update to wireless extensions 16 (new spy API). [bonding] sync ifenslave with 2.4 (pulls in several bug fixes) [wireless airo] fix 2.4-isms that break build [NET]: remove MOD_* from LAPB. The MOD_INC and MOD_DEC in lapb are no longer necessary in 2.6 since the module subsystem will not allow lapb to be unloaded as long as a module that is referencing the symbols (lapb_register/lapb_unregister) is loaded. [NET]: Allow LAPB to be unloaded. Without an exit routine lapb can't be unloaded. [NET]: Eliminate MOD_* from wanrouter. Wan router register/unregister does not need MOD_INC/MOD_DEC because it can not be unloaded as long as its symbols are in use by the calling module. [SPARC64]: Add Ultra-IIIi/Jalapeno support. [SPARC64]: Add JIO/Tomatillo PCI controller support. [IPSEC] correct 'discvovery' typo [IPV4/IPVS]: Deactivate the timer in connection expire if it is activated by other users [IPSEC]: Make reqids 32-bits. [NET]: Makefile cleanups for net/. [EBTABLES]: Copy skb when shared. [ATM]: Make sigd_sleep conditional with WAIT_FOR_DEMON. [ATM]: Return ENODEV if !dev. [ATM]: If !IFF_UP drop the frames. [ARCNET]: Fix module refcounting. [SPARC64]: Now the brlocks are gone, the udelay garbage in cpu_relax() can go. [SPARC64]: Read processor number correctly on Ultra-IIIi/Jalapeno. [NET]: Fix hang/memleak in pktgen. [NET]: Audit copy_from_user checks in pktgen. Patch by Steffen Klassert [NET]: Remove some debugging from pktgen. ISDN: Fix i4l subsystem crash A loop over all drivers obviously should use ISDN_MAX_DRIVERS, not ISDN_MAX_CHANNELS. ISDN: Fix avm_pci driver for irqreturn_t changes Somehow, this one had been overlooked... ISDN: FsmNew() can't be __init FsmNew() is exported, so it sure can't be __init (and since we now discard __init in modules, it in fact crashes). ISDN: Fix mem leak in ST5481 driver In the unload path, we forgot to free the D-Channel state machines. ISDN/HiSax: Move registering of a card out of line This cset just introduces a new function do_register_isdn() which takes care of what's necessary to register with the i4l link level. ISDN/HiSax: Move some init code out of line Again, just introduce do_init() and move some code into it. It'll be needed in the next cset. ISDN/HiSax: Fix up dynamic registration Instead of faking a hisax-internal card, just register a card driven by a submodule directly, which fixes the current crashes when loading such a driver. This makes use of the just introduced do_register_isdn() and do_init() helpers. ISDN: Export "kstat" This patch exports the kstat per-cpu variable, needed for hisax, which uses kstat_irqs() during card probing to make sure that irqs actually work. This could possibly replaced by a private counter in the hisax ISRs, but that's really just unnecessary overhead, since the core kernel already does the work anyway. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from divasmain's init fuction. The module load code adds a reference to the owner field before calling the modules init function so it isn't necessary for the init function to do a similar action. Also fixed the racy check_region()/request_region() calls. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from i4lididrv.c Module init methods are called with a reference already taken by the module code so the MOD_*_USE_COUNT can be deleted. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from capimain.c Module init methods are called with a reference already taken by the module code so the MOD_*_USE_COUNT can be deleted. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from divamnt's init fuction. The module load code adds a reference to the owner field before calling the modules init function so it isn't necessary for the init function to do a similar action. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from divamnt's init fuction. The module load code adds a reference to the owner field before calling the modules init function so it isn't necessary for the init function to do a similar action. ISDN: [TRIVIAL] Remove un-needed MOD___USE_COUNT from divamnt's init function. The module load code adds a reference to the owner field before calling the modules init function so it isn't necessary for the init function to do a similar action. [SPARC64]: In pci_common.c:find_device_prom_node() recognize PCI_DEVICE_ID_SUN_TOMATILLO. [ALPHA] Add asm/sections.h. [ALPHA] Add atomic64_t. [ALPHA] Finish adding asm/local.h. PPC32: Use char[] consistently with __bss_start, _end, etc. PPC32: Add asm-ppc/local.h [BRIDGE]: Cleanup kernel messages, use C99 initializers. [BRIDGE]: Fix several startup/shutdown timer races. [DECNET]: Fix missing module refs in DECnet. [NET]: Fix no_cong_thresh sysctl. [SPARC]: Do not include asm-generic/dma-mapping.h if !CONFIG_PCI. [SPARC64]: Remove PCI ifdef from lib/PeeCeeI.c [SPARC64]: Handle !CONFIG_PCI properly in sparc i8042 support. [SPARC64]: Always export I/O string ops. [SPARC64]: Make sparc speaker driver depend upon PCI. [SPARC64]: Make BBC I2C driver require PCI. [SPARC64]: If SPARC64, make parport_pc need PCI. [SPARC64]: Make HAVE_DEC_LOCK depend upon DEBUG_SPINLOCK. [SCTP]: Update MAINTAINERS entry. [SPARC64]: Remove extraneous copy of atomic_dec_and_lock in debuglocks.c [SPARC]: Fix compile warnings in flash driver when !PCI. [IPV6]: Reporting of prefix routes via rtnetlink. [ATM]: Timer cleanup in lec.c [SPARC64]: In ISA support, is interrupt-map exists use it. [SPARC64]: Finalize TOMATILLO/JIO support, help from bcollins@debian.org. [SPARC64]: In clock_probe(), treat m5819p just like m5819. [TG3]: Support OBP firmware mac-addresses on sparc64. [SPARC64]: Remove unused local var in isa_dev_get_resource. [SPARC64]: Use __s64 for atomic64_t implementation. [NET]: Print statistics using unsigned format in sysfs. [SPARC64]: Do not renumber PCI buses anymore. ia64: Drop ".bias" in spinlocks as it caused more harm than good. Pointed out by Jesse Barnes. Also, drop the old lock code. [SPARC64]: Use domain in naming PCI buses. [SPARC64]: Sanitize PCI controller handling to support Tomatillo better. - Move varions controller datums into pbm structure. - Add controller type/version/revision info to pbm structure. - SCHIZO/TOMATILLO fixes: - Treat PBM etc. register bases as PBM local. - Use PBM prom node ranges property to figure out where CFG/MEM/IO space physical bases are. [NET]: Fix signnedness test in socket filter code. [TG3]: Recognize Altima AC1001 device IDs. [EBTABLES]: Make it work on 32-on-64 platforms. [IPV4]: Fix build with multicast but not procfs enabled. [SPARC64]: Pass correct args to data_access_exception() in unaligned.c Spotted by Hal Duston [NET]: Make IFLA_STATS arch independent. [PATCH] ide tcq enable A recent change moved the tcq init too early in the init sequence, the queue isn't initialized at this point which causes the task file executions to kill elevator with a NULL EIP (->add_req_fn()). This patch fixes it, acked by Bart. [PATCH] mark James as SCSI maintainer Long overdue, make James the listed maintainer. He _is_ doing the maintenance, lets put him on the front line :-) [PATCH] read-ahead and failfast Here's the patch to enable failfast flag in the bio submission code, and use it for multipath and readahead. [PATCH] Update IEEE1394 (r1014) misc: - Consolidate and make consistent, the NODE_BUS_{FMT,ARGS} macros. - Add HPSB_VERBOSE() macro to make VERBOSEDEBUG code a little cleaner. ieee1394 : - Replace panic() with BUG and return value in dma routine. - Reset reset_retries on success or loop recover. - Add RECV_FLUSH to flush buffers on > 1 irq interval or in buffer-fill mode. - Probe logic-unit-subdirectories as children of the unit-dir. - Fix compile warning in nodemgr thread. - Replace tightly scheduled timeout loop with a 50ms timer. - Better return and usage of BUG_ON() in dma handler. - Calculate timeout expiry interval at change instead of at every timeout check. SBP2 : - Fix logical-unit-directory LUN's. - Remove procfs interface. - Fix usage of initdata after init. Host con : - Change irq output to use __irq_itoa() for sparc. - Do more to notify bus when module is unloaded, to clear IRM, etc. ohci1394 : Fix endianess of async stream packet headers. [PATCH] ide: fix PCI modules oops Forward-port of 2.4.21-ac4 patch by Wilfried Weissmann. ide_get_or_set_dma_base() may be called via ide_setup_pci_device() when a PCI controller module is loaded. However, it is defined with __init and the function is called when its memory is already deallocated. [NETFILTER]: Re-sync ipt_REJECT with 2.4.x [NETFILTER]: Fix various problems with MIRROR target. - check TTL before rewriting so icmp_send gets clean packet - skb_copy_expand(skb) for tcpdump and asymmetric routing - inline some function - remove unneccessary struct in_device declaration - remove RTO_CONN [NETFILTER]: Fix issues with REJECT and MIRROR targets wrt. policy routing. [NETFILTER]: Fix a bug in the IRC DCC command parser of ip_conntrack_irc. [NETFILTER]: Fix locking of ipt_helper. [NETFILTER]: Drop reference to conntrack after removing confirmed expectation. [NETFILTER]: Make REJECT target compliant with RFC 1812. Add support for iptables --reject-with-admin-prohib option of the REJECT target, making it compliant with RFC 1812. [NETFILTER]: Fix typo in ipt_MIRROR.c [PATCH] HDLC update This updates generic HDLC from 1.14 to 1.15. - fix a kernel panic caused by a recent change to unregister_netdevice() (struct net_device * can't be kfreed before rtnl_unlock()) - adds carrier_* support - hw drivers report DCD status and higher level protocols use that info, and do netif_carrier_{on,off}() according to DCD and (Cisco and FR) link management status. - moves Frame-Relay constants etc. from include/linux/hdlc.h to hdlc_fr.c. They are internal FR things and are not needed in the global header. - protocol hooks are slighty changed to allow zeroing (memset). - removes CONFIG_HDLC_DEBUG_* variables. Users tend to make very wrong use of them. Now setting them requires changing .c #define. Anyway they are development-only things. - misc style corrections etc. [SPARC]: __builtin_trap() is bug-free in 3.3.1 and later. PPC32: Fix compilation of arch/ppc/mm/mem_pieces.c [PATCH] uninitialized spinlock in drivers/net/sk_mca.c A spinlock was recently added to struct skmca_priv so as to remove save_flags()/cli() but nothing in the current code initializes it. [PATCH] gconf menuconfig fixes Patch by Romain Lievin various fixes to handle menuconfig options [PATCH] qconf menuconfig fix correctly select a nested menuconfig entry [PATCH] generate dependency again During an erlier update the call to generate the .config dependency got lost. Add a missing warning. [PATCH] Optional choice values get reset Patch by Herbert Xu : As of 2.5.74, make oldconfig always disables existing optional choices even if they were selected previously. For example, if all the EICON ISDN drivers were selected as modules, then make oldconfig will turn them off. Part of the problem is that the choice value itself is computed before the SYMBOL_NEW flag is turned off. This patch addresses that particular problem. [PATCH] fs/ Makefile cleanup Simplify Makefiles in fs/ by utilising the new syntax for composite objects. The new syntax allowed a couple of ifeq ($(CONFIG_FOO),y) to be deleted, resulting in more readable Makefiles. No functional changes introduced. [PATCH] usr/: Updated .incbin support Update support for .incbin in /usr. No longer generate .S files from within the Makefile. Also deleted the assignment to LDFLAGS_BLOB for most architectures. I did not touch ARM and cris: arm: Russell told me they did not have a new as that could be used cris: Looked like it was used for more than just usr/ [PATCH] make AS work nicely with SCSI This allows SCSI to survive the I/O queueing stress harness with AS. Jens has signed off on it, and Mark Havercamp confirms it also eliminates the test induced hangs for him too. [PATCH] IDE driver VIA support (obscure bug) This fixes a *very* obscure bug, which only applies to VIA chipsets that support UDMA-133 mode, and which is only known to be tickled by one UDMA-66 hard drive (Maxtor 91360U4) that happens to report 80-wire cable detection opposite to the ATA standard. The bug appears in a test to see how the BIOS set up UDMA timing. This test is only reached when the drive says 80-wire *and* the chipset says 40-wire (which is only known to happen with this drive). The timing bits that are checked represent clocks T minus 2, i.e., ((N - 2) * T). But Vojtech forgot to subtract 2, and applied N = 8 rather than N = 6 in the test. Since the test masks the bits at 7, they are always less than 8, and the test always succeeds, even though the BIOS set UDMA-33. [PATCH] Only set ->sk_reuse for tcp sockets, not udp It doesn't really make sense for udp. Fix compile problem with suspend due to a missed incorrect re-declaration of the internal linker symbols. [TG3]: Fix typo in pci_ids.h change. [PATCH] more VFAT_IOCTL_READDIR_BOTH/_SHORT ioctl fixes (1/11) - check the ioctl cmd first - check the directory whether it's an already dead [PATCH] fat_cluster_flush() fixes (2/11) This adds a forgotten check of MS_RDONLY flag to fat_put_super(), and adds sanity check of ->free_clusters and ->prev_free to fat_cluster_flush(). [PATCH] vfat dentry handling fix (3/11) This fixes filename case handling in vfat_revalidate(): before: # mount -t vfat /dev/hda6 /mnt -o shortname=winnt # cd /mnt # cat File.Txt # make negative dentry cat: File.Txt: No such file or directory # touch file.txt # match negative dentry # ls File.Txt after: # mount -t vfat /dev/hda6 /mnt -o shortname=winnt # cd /mnt # cat File.Txt # make negative dentry cat: File.Txt: No such file or directory # touch file.txt # match negative dentry # ls file.txt [PATCH] fat_access cleanup (4/11) This removes dirty raw_scan_*(), and rewrites fat_scan() and fat_subdirs() to use fat_get_entry() instead. [PATCH] fat_access cleanup (5/11) This removes the dump_fat() and dump_de() obsoleted debug code in vfat/namei.c. [PATCH] fat_access cleanup (6/11) This reads ->free_clusters without lock_fat() in fat_statfs(). [PATCH] adds fat_get_cluster (7/11) This adds fat_get_cluster() for generic reads of FAT cluster-chains, and old fat_get_cluster() is renamed to fat_bmap_cluster(). [PATCH] use new fat_get_cluster (8/11) This uses the new fat_get_cluster() in fat_bmap_cluster(). Another part removes an unneeded error check of fat_get_entry() by using fat_get_cluster(). [PATCH] more use new fat_get_cluster (9/11) This uses the new fat_get_cluster() in fat_free(), fat_calc_dir_size() and fat_add_cluster(). [PATCH] signed char cleanup/fixes (10/11) This changes a few more char type of filenames to unsigned char. [PATCH] ->cluster_size cleanup (11/11) This renames ->cluster_size to ->sec_per_clus. Old ->cluster_size was "sectors per cluster". Adds a _real_ ->cluster_size. ia64: Fix atomic64 interface to use __s64 instead of int where appropriate. Reported by Richard Henderson. Revert toshiba_acpi strlcpy'fication as per John Belmonte. [PATCH] Remove is not correct, and not used, so remove it. [PATCH] Update v850 README file ia64: Take advantage of . ia64: Turn BIO-level virtual merging off again, so we can turn I/O MMU bypassing on again, which is more beneficial, performance-wise. ia64: Fix check for "model(small)" attribute. [PATCH] Amiga serial warning Amiga serial: Kill unused variable warning [PATCH] m68k flush_icache_page() m68k: Add missing cacheflush (from Roman Zippel) [PATCH] Ns558 gameport warning Ns558 gameport: constness of ns558_pnp_driver depends on CONFIG_PNP, causing a warning if CONFIG_PNP is not set, so make sure it is never const. [PATCH] M68k floppy warnings M68k floppy: Kill warnings when compiling a multi-platform kernel [PATCH] M68k module M68k: Add missing module_arch_cleanup() [PATCH] wd33c93 compile fix wd33c93 SCSI: Fix compilation after breakage in 2.5.71 [PATCH] Kill zorro_check_device Kill zorro_check_device(), it's deprecated and unused (from Christoph Hellwig). [PATCH] M68k irq_cpustat_t M68k: Kill obsolete members of irq_cpustat_t [PATCH] M68k ret_from_fork M68k: Revert to 2.4 behavior in ret_from_fork (always call schedule_tail, regardless of CONFIG_SMP), as suggested by Andreas Schwab. This removes the warnings from sched.c (from Sam Creasey). [PATCH] Atari ACSI SLM Laser Printer Atari ACSI SLM Laser Printer: Remove obsolete parameter of atari_stram_alloc() call. [PATCH] Valkyriefb link fix Valkyriefb: Fix link error by adding missing macmodes.o (for Mac/m68k) and cfb* (for Mac/m68k and PowerMac/PPC) object files [PATCH] M68k wd33c93 locking M68k wd33c93: host_lock is a pointer to a spinlock, not a spinlock (from Ralf Bächle) [PATCH] M68k #include M68k: Kill unneeded #include [PATCH] Atari pamsnet Atari pamsnet: Fix typo [PATCH] Mac/m68k ADB HID ADB HID: Exclude PowerMac-specific things on classic Macs [PATCH] Atari ST-RAM Atari ST-RAM: Add missing include [PATCH] dmasound re-resurrection Resurrect dmasound: Re-re-add dmasound to the build process (it got removed again in 2.5.71) [PATCH] Mac/m68k sonic updates Mac/m68k sonic: Kill warning and remainings of 2.2-style flow control [PATCH] M68k inline M68k: Kill erroneous `inline' (found by gcc 3.2) [PATCH] My contact info Update my GnuPG fingerprint and address information [PATCH] Mac8390 typo Mac8390: Fix typo (from Etsushi Kato) [PATCH] Apollo compile fixes Apollo: Kill initialization of obsolete mach_floppy_init and unnecessary mach_floppy_setup function pointers [PATCH] Sun-3 pte_file Sun-3: pte_file fixes for sun-3 MMUs (from Sam Creasey) [PATCH] M68k mm cleanup M68k: Kill superfluous includes [PATCH] Atari ksyms Atari ksyms: Kill obsolete symbol exports [PATCH] lmc_proto.c includes lmc_proto.c includes , causing build failures on UMP-only architectures [PATCH] Sun-3 SCSI warning Sun-3 SCSI: Kill a warning about a nonmatching prototype after recent SCSI proc_info() changes. [PATCH] M68k show_stack() portability and cleanup patch M68k: show_stack() portability and cleanup patch: - Add a task pointer argument to show_stack() and pass NULL as the first argument where needed - Remove show_trace_task() [PATCH] m68k dma-mapping M68k: Fix SCSI breakage introduced in 2.5.74 by not including , unless PCI is available. [PATCH] m68k do_fork() M68k: Update for changed do_fork() semantics in 2.5.70 [PATCH] M68k IPV6 M68k: Add missing include for IPV6 [PATCH] Macfb compile fixes Macfb compile fixes [PATCH] NCR53C9x unused SCp.have_data_in NCR53C9x: Remove unused initialization of SCp.have_data_in (from Maciej W. Rozycki). This affects the following drivers: - DECstation SCSI - Amiga Oktagon SCSI [PATCH] m68k page m68k page updates (from Roman Zippel): - Set _PAGE_RONLY bit and clear _PAGE_PRESENT to mark PAGE_NONE pte entries (this also makes PAGE_NONE fixup unnecessary) - Move _PAGE_FILE to a lower, so pte_to_pgoff/pgoff_to_pte becomes simpler [PATCH] M68k IRQ API updates M68k: A few missing updates to the new irq API: - Q40/Q60 keyboard - Q40/Q60 floppy - Sun-3x floppy [PATCH] m68k FPU emulator M68k FPU emulator: Add fgetman, fgetexp and fsqrt (from Michael Müller and Roman Zippel) [PATCH] MIPS DEC/SGI Linux logo MIPS: Show the correct logo on DEC and SGI machines. [PATCH] dmasound SOUND_PCM_READ_RATE dmasound: Implement missing SOUND_PCM_READ_RATE ioctl (from Richard Zidlicky) [PATCH] m68k irqs_disabled() M68k: Allow ALLOWINT to be used with other types than short (fixes a problem with irqs_disabled(), from Roman Zippel) [PATCH] M68k RTC updates M68k: Use genrtc on all m68k platforms [PATCH] m68k cache m68k cache updates (from Roman Zippel): - Uninline flush_icache_range() - Add virt_to_phys_slow() which handles vmalloc()ed space [PATCH] Rename ariadne2 to zorro8390 Rename ariadne2 to zorro8390, since this driver supports several NS8390-based Zorro Ethernet cards. Kill all never used occurrencies of CONFIG_NE2K_ZORRO. [PATCH] NMI watchdog documentation Documentation/nmi-watchdoc.txt doesn't actually tell what options need to be enabled in kernel config in order to use NMI watchdog. I for one found it confusing. [PATCH] Update valkyriefb driver This updates the valkyriefb driver to the new API. From Paul Mackerras : "It compiles OK, but I haven't been able to test it. I have simplified the driver quite a bit using the knowledge that there can only ever be one valkyrie graphics adaptor in a system - it is the built-in graphics adaptor on various ancient mac and powermac machines, and we access it at a hard-coded address, so we can only handle one." [PATCH] Make I/O schedulers optional Add kconfig options to allow excluding either or both the I/O schedulers. This can be useful for embedded systems (saves about ~13KB). All schedulers are enabled by default for non-embedded. [PATCH] Fix block layer bug handling of partial bvec completion Noted by Sean Estabrooks: There is a bug in "ll_rw_blk.c" handling partial bvec submissions. For whatever reason the floppy driver was triggering it more than other users (most likely because most other devices tend to be able to always complete a full request in one go). Fixed by updating the proper bio vector index entry. When zapping the thread list due to an execve(), make sure to also detach the threads. Otherwise we'll leave them around as zombies, waiting for them to be picked up by their parent. Which might be the execve() thread itself, causing a deadlock. Linux 2.6.0-test2