Summary of changes from v2.6.11-rc1 to v2.6.11-rc2 ============================================ [PATCH] mc_filter on big-endian arch On Sat, 19 Jun 2004 17:37:37 -0400, Jeff Garzik wrote: > you would be kind enough to resend the non-via-rhine patches WRT mc_filter? Sure. Patch is for 2.6 (not rediffed, yell if it doesn't apply anymore). Btw, did you pick up the mc_filter patch for 2.4 via-rhine? This untested patch fixes hardware mc filters for tulip_core, winbond, and atp. Hopefully :-). Please review and test. Signed-off-by: Roger Luethi [IA64] convert to use CONFIG_GENERIC_HARDIRQS Convert ia64 to use generic irq handling code. sn2 fixes and testing by Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] Add support for a future SGI chipset (shub2) 1of4 This patch changes the SN macros for calulating the addresses of shub MMRs. Functionally, shub1 (current chipset) and shub2 are very similar. The primary differences are in the addresses of MMRs and in the location of the NASID (node number) in a physical address. This patch adds the basic infrastructure for running a single binary kernel image on either shub1 or shub2. Signed-off-by: Jack Steiner [IA64-SGI] Add support for a future SGI chipset (shub2) 2of4 This patch adds the addresses of shub2 MMRS to the shub_mmr header file. During boot, a SAL call is made to determine the type of the shub. Platform initialization sets the appropriate MMR addresses for the platform. A new macro (is_shub1() & is_shub2()) can be used at runtime to determine the type of the shub. Signed-off-by: Jack Steiner [IA64-SGI] Add support for a future SGI chipset (shub2) 3of4 Change the IPI & TLB flushing code so that it works on both shub1 & shub2. Signed-off-by: Jack Steiner [IA64-SGI] Add support for a future SGI chipset (shub2) 4of4 Change the code that manages the LEDs so that it works on both shub1 & shub2. Signed-off-by: Jack Steiner [IA64] Cachealign jiffies_64 to prevent unexpected aliasing in the caches. On large systems, system overhead on cpu 0 is higher than on other cpus. On a completely idle 512p system, the average amount of system time on cpu 0 is 2.4% and .15% on cpu 1-511. A second interesting data point is that if I run a busy-loop program on cpus 1-511, the system overhead on cpu 0 drops significantly. I moved the timekeeper to cpu 1. The excessive system time moved to cpu 1 and the system time on cpu 0 dropped to .2%. Further investigation showed that the problem was caused by false sharing of the cacheline containing jiffies_64. On the kernel that I was running, both jiffies_64 & pal_halt share the same cacheline. Idle cpus are frequently accessing pal_halt. Minor kernel changes (including some of the debugging code that I used to find the problem :-( ) can cause variables to move & change the false sharing - the symptoms of the problem can change or disappear. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64] per cpu MCA/INIT save areas Linux currently has one MCA & INIT save area for saving stack and other data. This patch creates per cpu MCA save areas, so that each cpu can save its own MCA stack data. CPU register ar.k3 is used to hold a physical address pointer to the cpuinfo structure. The cpuinfo structure has a physical address pointer to the MCA save area. The MCA handler runs in physical mode and the physical address pointer avoids the problems associated with doing the virtual to physical translation. The per MCA save areas replace the global areas defined in arch/ia64/kernel/mca.c for MCA processor state dump, MCA stack, MCA stack frame, and MCA bspstore. The code to access those save areas is updated to use the per cpu save areas. No changes are made to the MCA flow, ie all the old locks are still in place. The point of this patch is to establish the per cpu save areas. Additional usage of the save areas, such as enabling concurrent INIT or MCA handling, will be the subject of other patches. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [IA64] hardirq.h: Add declaration for ack_bad_irq(). Cleanup a warning from my irq merge. Signed-off-by: Tony Luck [IA64] Add TIF_SIGDELAYED, delay a signal until it is safe Some of the work on recoverable MCA events has a requirement to send a signal to a user process. But it is not safe to send signals from MCA/INIT/NMI/PMI, because the rest of the kernel is an unknown state. This patch adds set_sigdelayed() which is called from the problem contexts to set the delayed signal. The delayed signal will be delivered from the right context on the next transition from kernel to user space. If TIF_SIGDELAYED is set when we run ia64_leave_kernel or ia64_leave_syscall then the delayed signal is delivered and cleared. All code for sigdelayed processing is on the slow paths. A recoverable MCA handler that wants to kill a user task just does set_sigdelayed(pid, signo, code, addr); Signed-off-by: Keith Owens Signed-off-by: Tony Luck [IA64] Clear all corrected records as they occur Because MCA events are not irq safe, they cannot be logged via salinfo_decode at the time that they occur. Instead kernel salinfo.c runs a timer every few minutes to check for and to clear corrected MCA records. If a second recoverable MCA occurs on the same cpu before salinfo_decode has cleared the first record then OS_MCA reads the record for the first MCA from SAL, which passes invalid data to the MCA recovery routines. This patch treats all corrected records the same way, by clearing the records from SAL as soon as they occur. CMC and CPE records are cleared as they are read. Recoverable MCA records are cleared at the time that we decide they can be corrected. If salinfo_decode is not running or is backlogged then we lose some logging, but that has always been the case for corrected errors. Signed-off-by: Keith Owens Signed-off-by: Tony Luck [IA64] Drop SALINFO_TIMER_DELAY from 5 minutes to 1 minute Experience with recoverable MCA events shows that a poll interval of 5 minutes for new MCA/INIT records is a bit too long. Drop the poll interval to one minute. Signed-off-by: Keith Owens Signed-off-by: Tony Luck TUN/TAP driver packet queuing fixes and improvements Patch from Harald Roelle Fixes for the following issues - "Kicking" packet behavior in case of kernel packet scheduler (! TUN_ONE_QUEUE): When the netif queue is stopped because of an overrun of the driver's queue, no new packets are delivered to the driver until a new packet arrives, not even when in the meantime there's again space in the driver's queue (gained by a reading user process). In short, whenever netif queue was stopped, one needs an additional packet to "kick" packet delivery to the driver. The reason for this is, that the netif queue is started but not woken up, i.e. the rest of the kernel is not signaled to resume packet delivery. - Adjustment of tx queue length by ifconfig has only effect when TUN_ONE_QUEUE is set. Otherwise always constant TUN_READQ_SIZE queue length is used. - TX queue default length setting is not consistent: o TAP dev + TUN_ONE_QUEUE: 1000 (by ether_setup()) o all other cases: 10 - Default tx queue length is too short in many cases. IMHO it should be at least twice as long as the number of fragments needed for a maximum sized IP packet at a "typical" MTU size. This would ensure that at least one complete IP packet can be delivered to the attached user space process, even if the packet's fragments are "misaligned" in the buffer and the user process is not scheduled in time to read the queue. Additional modifications: - To signal that stopping of the queue has occurred, the tx fifo overrun counter is increased. - Implemented ethtool api. Primarily added to have a standard method requesting the driver version. Signed-off-by: Max Krasnyansky Use random_ether_addr() to generate TAP MAC address. Signed-off-by: Mark Smith Signed-off-by: Max Krasnyansky [SCTP] Fix potential null pointer dereference in sctp_err_lookup(). Signed-off-by: Vladislav Yasevich Signed-off-by: Sridhar Samudrala [Bluetooth] Make some code of the core static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Marcel Holtmann [Bluetooth] Make another function static This patch makes a needlessly global function static. Signed-off-by: Adrian Bunk Signed-off-by: Marcel Holtmann [Bluetooth] Make more code static This patch makes more needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Marcel Holtmann [Bluetooth] Add module parameter for HCI_Reset This patch adds a module parameter to the hci_uart and hci_usb drivers for forcing a HCI_Reset on initialization. Signed-off-by: Marcel Holtmann [Bluetooth] Update socket option handling This patch unifies the socket option handling across the L2CAP, SCO and RFCOMM socket layers. Signed-off-by: Marcel Holtmann [Bluetooth] Add HIDP message parsing This patch introduces changes to incoming packet processing and parsing structure for recieved messages. Signed-off-by: Matthew Grant Signed-off-by: Marcel Holtmann [SCTP] Code cleanup: remove unused code and make needlessly global code static Signed-off-by: Adrian Bunk Signed-off-by: Sridhar Samudrala [SCTP] Treat ICMP protocol unreachable errors from non-SCTP capable hosts as ABORTs. Signed-off-by: Jerome Forissier Signed-off-by: Sridhar Samudrala [SCTP] Validate and respond to invalid chunk/parameter lengths. Signed-off-by: Vladislav Yasevich Signed-off-by: Sridhar Samudrala [SCTP] Implementation of SCTP Implementer's Guide Section 2.35. This code checks that the verification tag, source port and destination port in the SCTP header matches the information contained in the state cookie. Signed-off-by: Vladislav Yasevich Signed-off-by: Sridhar Samudrala [SCTP] Clean up the T3_rtx timer when deleting a transport. Signed-off-by: Vladislav Yasevich Signed-off-by: Sridhar Samudrala [SCTP] Fix bug in setting ephemeral port in the bind address. Signed-off-by: Sridhar Samudrala [CPUFREQ] make ondemand governor aware of CPU domains The following patch makes ondemand governor aware of policy->cpus. policy->cpus mask lets multiple cpu use the same policy (useful where cpus share the frequency state), a recent change in cpufreq core. Now ondemand governor looks at all cpus in policy->cpus and takes its frequency increase/decrease decisions based on most lightly loaded cpu in the group. This patch will not affect systems where policy->cpus contain only one cpu. Signed-off-by: "Venkatesh Pallipadi" Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] powernow-k7: ACPI perflib unregistration cleanup The unregistration of the ACPI performance library should be done in the CPU exit function, and the cleanup too. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] powernow-k8: unregister from ACPI perflib in error path If something fails in the per-CPU initialization in powernow-k8, it should unregister itself from the ACPI performance library. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] re-add call to cpufreq_driver->resume() (if anyone has a brown spare paper bag, feel free to send it to me:) The call to cpufreq_driver->resume() got lost in 2.6.6. Re-add it at the proper place. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] acpi-cpufreq: force setting of P-State upon resume Upon resuming from sleep or swsusp, the ACPI P-States driver can't determine the current CPU frequency, as the ACPI specification doesn't contain a method to determine the current P-State. Therefore, _always_ re-set the CPU to the P-State it was before suspending, and don't abort early if this is the same state as the CPU was put to before (like it does make sense when using the ondemand governor, for example). Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] powernow-k8: small cleanups / documentation additions (Pavel Machek) From: Pavel Machek These are very small cleanups / documentation additions. It avoids using different names for same fields in different structures. Updated to latest cpufreq-bk by Dominik Brodowski, and ack'ed by Mark Langsdorf, Paul Devriendt and Pavel Machek. Signed-off-by: Pavel Machek Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] core: CPUFREQ_GOV_STOP needs to be last Assert that the call to the cpufreq governor with CPUFREQ_GOV_STOP is really the last. Without this patch, some strange in-kernel preemption combined with the scheduler disliking the "removing" task may cause the opposite. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] nforce2: use unified cpufreq debug infrastructure Use the unified cpufreq debug infrastructure in the cpufreq-nforce2 driver. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] powernow-k8: handle invalid initial frequency/voltage pairs correctly From: Paul Devriendt patch for powernow-k8 problem (Mobile Sempron 2800+, Acer Aspire 1362 ) If the initial frequency/voltage pair are not valid in the frequency table, the first requested transition is to make them valid. Fix the code doing so. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] cpufreq stat output in sysfs From: "Zou, Nanhai" Export cpufreq transition information for drivers using the freq-table helpers via sysfs. Two minor updates from Dominik Brodowski: s/translation/transition Kconfig re-ordering Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino: fix SMP memory leak Venkatesh Pallipadi made me aware of a memory leak in speedstep-centrino: centrino_model is allocated for all CPUs. There were two possibilities: either make the centrino_model data per-CPU, or to share it across CPUs. I chose the former variant, as ACPI data may be broken and/or different for multiple CPUs. Additionally, I made centrino_cpu per-CPU, and removed a check whether setting allowed_cpus to policy->cpus resulted in smp_processor_id() == policy->cpu: if policy->cpus has more than one bit set, this check will fail very often. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Check in missing file for cpufreq stats. Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino: transient MSR values (Venkatesh Pallipadi) On some CPUs, we can see transient MSR values (which are not present in _PSS) in IA32_PERF_STATUS MSR, while CPU is doing some automatic P-state transition (like TM2). Current code will return frequency as 0 in such cases. Fix it by retrying the get after a delay and use lowest possible frequency as the current frequency in worst case. Thanks to Matt Domsch for identifying and root-causing this failure. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino: quieten driver (Venkatesh Pallipadi) Patch to remove speedstep-centrino error messages getting printed by default. Print them only when debug flags are enabled. The reason for this patch is - With the multiple drivers model that we have now, any installation will try different drivers one after the other, until one of them succeeds. So, failure to add speedstep-centrino alone doesn't mean error, as some other driver (say acpi.ko) can succeed later and system will still be able to use speedstep. Printing the error whenever speedstep-centrino fails can confuse the enduser. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] userspace: remove /proc/sys/cpu/ interface Remove the deprecated /proc/sys/cpu/ interface to cpufreq. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] proc_cpufreq: remove /proc/cpufreq interface Remove the deprecated /proc/cpufreq interface. The same input is available using cpufreq-info --proc from cpufrequtils. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [SCTP] Fix misc. issues in SCTP_PEER_ADDR_PARAMS set socket option. Signed-off-by: Sridhar Samudrala [SCTP] Fix sctp_getladdrs() to return valid local addresses on an endpoint that is bound to INADDR_ANY or inaddr6_any. Signed-off-by: Sridhar Samudrala SCSI: update ipr to use the change_queue_depth API Instead of doing an attribute override. Ack'd by: Brian King Signed-off-by: James Bottomley [PATCH] sym2 version 2.1.18n sym2 version 2.1.18n: - Prevent querying for DT clocking on a single ended bus - Check the U3EN bit instead of the ULTRA3 bit - Only use PPR if SDTR is incapable of negotiating the desired options or speed - minsync bugfix (James Bottomley) - Always calculate what negotiation to perform inside sym_prepare_nego() - Delete unused SYM_OPT_HANDLE_IO_TIMEOUT and SYM_CONF_TIMEOUT_ORDER_MAX code (Christoph Hellwig) - Use SCSI-3 message names instead of SCSI-2 names - Remove private definitions of PCI IDs - Reorganise DMA mask setup - Fix comment tpyo - Make some needlessly global code static (Adrian Bunk) - Reorder some functions to eliminate predeclaration - Use memset instead of bzero - Consolidate and abstract SPARC's special IRQ printing - Convert hcb_p to struct sym_hcb * - Remove cam_ccb_p and cam_scsiio_p typedefs - Treat PA-RISC firmware as if it were a type of NVRAM Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [PATCH] Remove lasi700.h Inline lasi700.h into lasi700.c to cut down on the size of the drivers/scsi directory. Signed-off-by: James Bottomley [PATCH] Misc zalon fixes Some miscellaneous cleanups for the Zalon driver: - Remove unused definitions of sync_scsi_data_for_cpu and sync_scsi_data_for_device - Fill in dev->irq in the zalon driver - Request the interrupt in the name of the driver, not the bus address - Change the driver name to look better in sysfs - Call ncr53c8xx_exit() in zalon7xx_exit() Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley [PATCH] fix SPI transport class to do DV for broken Western Digital drives There's been a problem reported where a WD Ultra3 drive reports that it has an echo buffer of length 255 and then returns ILLEGAL REQUEST when anyone tries to use it. This causes DV to treat this as a retraining error and eventually drop back to async. The attached fix makes the DV code identify the ILLEGAL REQUEST condition and configure the drive using the read only DV tests instead. Signed-off-by: James Bottomley [PATCH] ibmvscsi: limit size of I/O requests, updated Description: Limit the size of I/O requests sent by the ibmvscsi adapter. With better I/O scheduling (and thus larger requests) we were breaking some servers. Updated based on comments from Jens Axboe and James Bottomley to not specify max I/O sectors as a module parameter, and subsequently not needlessly store the value as a static variable. Signed-off-by: Dave Boutcher Signed-off-by: James Bottomley [PATCH] ibmvscsi: fix loop exit condition Fix a bug where we could fall out of our delay loop and then forget to scan for drives. Signed-off-by: Dave Boutcher Signed-off-by: James Bottomley [PATCH] ibmvscsi: fix dangling pointer reference This code has been problematic for a while and still contained a leg where free_event_struct was called....followed by a reference to the event_struct. Restructure to make the code cleaner and fix the dangling pointer reference. Signed-off-by: Dave Boutcher Signed-off-by: James Bottomley [PATCH] ibmvscsi: fix abort and reset error path Description: Fix error paths to handle SCSI targets that reject SCSI aborts and resets and subsequently complete SCSI commands. There are targets in the field that currently exhibit this behaviour, particularly in the case of bad media (a CD drive got stuck for a LOOONG time on a read op.) We previously ignore the status on aborts and resets under the mistaken belief that whether they worked or not, the command response was never going to show up. Signed-off-by: Dave Boutcher Signed-off-by: James Bottomley [PATCH] osst: remove typedefs Make style changes that are the equivalent of recent changes to st, such as using 'struct osst_tape' where we used to have 'OS_Scsi_Tape' as a typedef. Osst behavior is not affected by this patch. signed-off-by: Willem Riede Signed-off-by: James Bottomley osst: error handling updates From: Willem Riede important error handling improvements that I've made as the result of problem reports. signed-off-by: Willem Riede Signed-off-by: James Bottomley osst: add sysfs support From: Willem Riede adds sysfs support to osst. This enables hotplug and udev to manage the osst /dev nodes, which is a real necessity on installations that use a dynamic /dev, such as Fedora Core 3. signed-off-by: Willem Riede Signed-off-by: James Bottomley [Bluetooth] Remove casts in BCSP driver This patch removes unneeded casts of (void *) pointers. Signed-off-by: Domen Puncer Signed-off-by: Marcel Holtmann [PATCH] gdth buggy page mapping Just tripped over a bug report for the SUSE kernel where gdth would crash on a 32G opteron, turned out that the gdth_internal_copy() sg handling was really buggy. After fixing this I wanted to do the same for mainline, but I can see that a vain attempt was already made to fix it. Unfortunately it wasn't complete, and on top of that there's room for improvement. The current code is buggy on highmem, as page_address() will not yield a valid kernel address causing a NULL pointer dereference. The current code also doesn't unmap the sg list if it sees a NULL sl->page. In fact, the whole sg mapping looks really strange, why on earth would you be mapping the sglist for dma when you are only going to copy from it? This patch corrects both errors - correctly maps in the page, and kills the pci_map_sg/pci_unmap_sg calls completely. If someone could test this, that would be great. Signed-off-by: Jens Axboe Signed-off-by: James Bottomley [PATCH] gdth: reduce large on-stack locals gdth is the fourth-highest stack user (for a single function) in 2.6.10-rc3-bk-recent (sizes on x86-32). Reduce stack usage in gdth driver: reduce ioc_rescan() from 1564 to 52 bytes; reduce ioc_hdrlist() from 1528 to 24 bytes; reduce gdth_get_info() from 1076 to 300 bytes; Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley [PATCH] gdth: cleanup compat clutter This patch - removes support for 2.2.x and 2.4.x without the full dma API (<= 2.4.13 or 2.4.9rh) - makes sure we don't acquire or release unessecary locks around ->scsi_done - it's a small BH/softirq that doesn't care about the callers lock state - cleans up the 2.4 vs 2.6 compat code a little Signed-off-by: James Bottomley kconfig: pass 0, 0 to show_file() to select max size window From: Roman Zippel Signed-off-by: Sam Ravbnorg kconfig: introduce util.c Moved two functions from menu.c to new file util.c. Introduced functions to handle growable strings - no user yet. Signed-off-by: Sam Ravnborg [PATCH] aacraid: remove aac_handle_aif When aac_command_thread detects an adapter event (AifCmdDriverNotify or AifCmdEventNotify) it calls aac_handle_aif. This routine sets a flag, calls fib_adapter_complete, and returns. The bad news is that after the return, aac_command_thread continues to process the command and calls fib_adapter_complete again. Under some circumstances this causes the driver to take the device offline. In my case, it happens with a Dell CERC SATA with a RAID 5 in the "building" state: aacraid: Host adapter reset request. SCSI hang ? aacraid: Host adapter appears dead scsi: Device offlined - not ready after error recovery: host 0 channel 0 id 0 lun 0 SCSI error : <0 0 0 0> return code = 0x6000000 end_request: I/O error, dev sda, sector 976537592 Mark Salyzyn says the intent is for aac_handle_aif to perform some plug-n-play actions based on the adapter event, and return, leaving the command completion to the caller. The attached patch solves the problem by removing aac_handle_aif entirely, since it is wrong, and there is currently no code in the driver to actually do anything with these events. Signed-off-by: James Bottomley [Bluetooth] Add module parameter for ignoring a device This patch adds a module parameter to the USB Bluetooth drivers for ignoring devices from their matching list. This makes it possible for alternate drivers to grab the device. Signed-off-by: Marcel Holtmann kconfig: Redo and improve search support Based on patch from: Roman Zippel The search functionality has been improved: - Restructured printout with more info - Include value of relevant symbols - Improved handling of corner cases - Generic search support moved to backend - ready to be utilised by xconfig and gconfig - Search functionality moved to fronend - not hardcoded in menubox.c Sample search (^$ used to limit search): Search for "^USB_STORAGE$": Symbol: USB_STORAGE [=y] Prompt: USB Mass Storage support Defined at drivers/usb/storage/Kconfig:7 Depends on: USB Location: -> Device Drivers -> USB Support Selects: SCSI Some symbols has loong "Depends on:" lines - for example FW_LOADER. Use arrows to scroll horisontally to see full value. Signed-off-by: Sam Ravnborg kconfig: Include more info when selecting help for a symbol in menuconfig When selecting help on a symbol include information below help text displaying relevant info that kconf has stored. The info printed is the same info obtained when searching for a symbol and the same methods are resued. Sample (help for "System V IPC"): ----------------------------------------------------------------------- CONFIG_SYSIPC: Inter Process Communcation ... Symbol: SYSVIPC [=y] Prompt: System V IPC Defined at init/Kconfig:82 Depends on: MMU Location: -> General setup ----------------------------------------------------------------------- Idea-from: Cal Peake Signed-off-by: Sam Ravnborg kconfig: Fold README.Menuconfig into mconf.c Content of README.Menuconfig folded into mconf.c and README.Menuconfig deleted. Text was slightly updated - mainly by deleting obsolete information. Signed-off-by: Sam Ravnborg [PATCH] clean out old cruft from FD MCS driver - Remove the unused macro DEBUG_DETECT - Remove code inside DO_DETECT conditional that's broken - Remove superfluous header Signed-off-by: Jesper Juhl Signed-off-by: James Bottomley Input: atkbd - fix keycode table size initialization that got broken by my changes that exported 'set' and other settings via sysfs. setkeycodes should work again now. Signed-off-by: Dmitry Torokhov Signed-off-by: Vojtech Pavlik Input: psmouse - set mouse name to "Mouse" when using PS2++ and don't have any other information about the mouse. Signed-off-by: Dmitry Torokhov Signed-off-by: Vojtech Pavlik [IA64] Stagger the addresses of the pernode data structures to minimize cache aliasing. Allocation of pernode structures in find_pernode_space() does not properly stagger the alignment of the pgdats. This causes aliasing of the structures in the L3 caches, ie. the same fields in pgdat structures for multiple nodes will index to same cache index in the L3. If a process is allocating a huge amount of space & many nodes must be scanned before finding a node with available space, allocation of a pages is significantly slowed by excessive cache misses. By properly staggering the locations of the pgdat structures, allocation times on insanely large systems is dramatically improved. On a 256 node 512GB system, allocation of 450 GB by a single process was reduced from 1510 sec to 220 sec - a 7X improvement. Aside from wasting a trivial amount of space, I don't see any downside to staggering the allocation by 1 cacheline per node. wasted space bytes = N * (N-1) * 64 For 64 node system wasted bytes = ~256K Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [PATCH] fix read capacity for large disks when CONFIG_LBD=n We shouldn't configure an device that requires LBD if the kernel doesn't suppoprt it (because we won't be able to see most of it), so set the capacity to zero in this case. Signed-off-by: James Bottomley [PATCH] export print_sense_internal Currently, we have scsi_print_sense and scsi_print_req_sense, but the linux-iscsi driver receives async messages from a target that may contain SCSI sense data and these messages are not tied to any specific command. So that we can use the scsi-ml sense printing capabilities the attached patch exports exports print_sense_internal and renames it to __scsi_print_sense. Signed-off-by: Mike Christie Signed-off-by: James Bottomley [IA64] Fix problems in per cpu MCA code. * K.3 was not getting set on all cpus. * The pointer to each cpu's mca save area was getting incremented before being set, with the result that the last cpu's pointer was wrong. * Made contig.c changes corresponding to earlier discontig.c changes. * An offset into cpuinfo_ia64 structure was wrong in mca_asm.S. Special thanks to Keith Owens for helping test and identify problems. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [PATCH] net: netconsole support for smc91x Signed-off-by: Hayato Fujiwara Signed-off-by: Hirokazu Takata Signed-off-by: Jeff Garzik [PATCH] EMAC: fix ibm_emac autonegotiation result parsing From: Matt Porter Fix aneg result parsing in ibm_emac driver. Signed-off-by: Eugene Surovegin Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] miri_sbus iomem annotations missing __iomem annotations in myri_sbus Signed-off-by: Al Viro Signed-off-by: Jeff Garzik [PATCH] hamachi iomem annotations Signed-off-by: Jeff Garzik [PATCH] bmac iomem annotations Signed-off-by: Al Viro Signed-off-by: Jeff Garzik [PATCH] s2io iomem annotations and cleanups * usual iomem annotations * u64 is not an equivalent to pointer; unsigned long is * cast-as-lvalue ugliness killed. * caddr_t has no place in kernel (and these guys were iomem pointers, actually). Signed-off-by: Al Viro Signed-off-by: Jeff Garzik [PATCH] allow rx of the maximum sized VLAN tagged packets Patch enables EMAC to receive maximum sized VLAN tagged packets. Signed-off-by: Eugene Surovegin Signed-off-by: Matt Porter Signed-off-by: Jeff Garzik [PATCH] Add netpoll support Add netpoll support to the EMAC driver. Signed-off-by: Matt Porter Signed-off-by: Jeff Garzik [PATCH] S2io: fixes in free_shared_mem function Hello All, As per KK's review comment received on Nov 8 about the free_shared_mem function, Iam sending the following patch. The change log includes: 1. Break from the main 'for loop' if ba[i] is NULL. 2. In the second level 'for loop', if ba[i][j] is NULL, instead of continuing as was done previously, we now free the ba[i] pointer and break from the main 'for loop'. 3. In the 'while loop' inside the second tier 'for loop', if any of the three pointers (ba or ba->ba_0_org or ba->ba_1_org) is found to be NULL, then ba[i], ba[i][j] and the non NULL buffer pointer if any (ba_0_org or ba_1_org) is freed and break from the main 'for loop'. Signed-off-by: Koushik Signed-off-by: Ravi Signed-off-by: Jeff Garzik [PATCH] Another trivial orinoco update Jeff/Andrew please apply: This patch alters the convention with which orinoco_lock() is invoked in the orinoco driver. This should cause no behavioural change, but reduces meaningless diffs between the mainline and CVS version of the driver. Another small step towards a merge. Signed-off-by: David Gibson Signed-off-by: Jeff Garzik [PATCH] eepro: cache EEPROM values eepro: cache EEPROM values Signed-off-by: Aristeu Sergio Rozanski Filho Signed-off-by: Jeff Garzik [PATCH] eepro: use module_param macros eepro: use module_param macros Signed-off-by: Aristeu Sergio Rozanski Filho Signed-off-by: Jeff Garzik [PATCH] eepro: basic ethtool support eepro: basic ethtool support Signed-off-by: Aristeu Sergio Rozanski Filho Signed-off-by: Jeff Garzik [PATCH] eepro: fix return value in init_module() eepro: fix return value in init_module() Signed-off-by: Aristeu Sergio Rozanski Filho Signed-off-by: Jeff Garzik [PATCH] eepro: fix auto-detection option eepro: fix auto-detection option Signed-off-by: Aristeu Sergio Rozanski Filho Signed-off-by: Jeff Garzik [IA64] Use alloc_bootmem() to get the space for mca_data. PERCPU_MCA_SIZE is not a power of two, so is unsuited to be used as the 'align' argument to __alloc_bootmem(). In fact we don't need any special alignment for this structure, so we can use the simpler alloc_bootmem() macro interface to the allocator. Signed-off-by: Tony Luck Fix exploitable hole in sg_scsi_ioctl in_len and out_len are signed quantites copied from user space but are only checked to see if they're > PAGE_SIZE. The exploit would be to pass in a negative quantity which would pass the check. Fix by making them unsigned. Signed-off-by: James Bottomley [IA64] correct PERCPU_MCA_SIZE and ia64_init_stack size * PERCPU_MCA_SIZE was the size of the wrong structure. * ia64_init_stack was larger than necessary. Signed-off-by: Russ Anderson Signed-off-by: Tony Luck [IA64] add hpzx1_swiotlb machine-vector I was in need of a 3.3V/dual-voltage-capable PCI sound-card and, as luck would have it, the only card of that sort in the local computer store was one that _still_ has a DMA engine that cannot even DMA to all 32 bits (it's limited to 28 bits). Hard to believe, but true (the card in question is a "SoundBlaster Live! 24-bit" with a CA0106 chip; stay away from that one if you can...). Anyhow, since I don't like it when PCI cards don't work in my machine, I created the attached patch which adds a new machine-vector to enable support of such broken cards. With the patch applied, you can either configure the kernel for "HP-zx1/sx1000+swiotlb" or configure for "generic" and boot with option "machvec=hpzx1_swiotlb" to enable support for broken PCI devices. The patch works as follows: the new machvec implements a I/O MMU which will use the hardware I/O MMU whenever possible but fall back on the software I/O TLB when encountering a device that can't be supported by the hardware I/O MMU. Fortunately, we don't have to mess with MAX_DMA_ADDRESS or create a new zone: the software I/O TLB allocates its memory as low as possible and early in the boot-process, so on any machine with low memory, we're pretty much guaranteed that we'll get a reasonable amount of low memory, which is all we need to properly support broken PCI cards. Note that I made a small change to swiotlb.c: I added a swiotlb_init_with_default_size() function to let the new I/O MMU initialize the software I/O TLB with less than 64MB (which is way too much for the limited uses we'll see for the broken PCI devices; for example, the CA0106 chip allocates only coherent buffers of about 128KB). The patch has been tested on a zx1 machine in the generic, hpzx1, and hpzx1_swiotlb configuration. Thanks to Alex Williamson for the suggestion of doing this via a completely separate machvec. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [PATCH] ixgb: Limit number of Rx Descriptors to 512 Workaround for a Si Erratum. When more that 512 Rx descriptors are used, there may be Rx data corruption. Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Enable Message Signalled Interrupts Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Add support for 10GbE LR device ID Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Fix VLAN filter setup errors (while running on PPC) Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Fix memory leak in NAPI mode Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Poll Routine cleanup Includes fixes for (a) kernel panic when the interface is shutdown when Poll is active (b) include tx workdone in deciding when to quit polling mode (c) fix poll quit condition (from Robert Olsson) Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Fix error in setting MFS register Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Fix infinite loop trying to re-establish link Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Limit Rx Address Filter Array entries to 3 Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Remove support for RAIDC interrupt mitigation Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Replace kmalloc with vmalloc (one time alloc) Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: ethtool_ops support Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Shrink size and fix ordering of elements in ixgb_buffer Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Fix Tx cleanup logic Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Support for 2.6.x style module parameters Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Driver version number update Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: White space corrections Signed-off-by: Ganesh Venkatesan [PATCH] cciss update to version 2.6.4 This patch removes support for 2 controllers that were recently cancelled and it adds support for the P600, a cciss based SAS controller due to ship in late March/early April '05. Neither of these controllers have made it to the field. Signed-off-by: Mike Miller Signed-off-by: James Bottomley [SPARC64]: Update defconfig. Signed-off-by: David S. Miller [SPARC64]: Check copy_to_user() return value in sys_{sparc,sunos}32.c Signed-off-by: Roland Dreier Signed-off-by: David S. Miller [AX25]: Revert to 2.6.9 behavior. I suspect given that someone made the change for a reason that there should probably be a sysctl to switch between AX.25 (as 2.6.9) and "kind of routed AX.25-ish" (as 2.6.10). Signed-off-by: David S. Miller [NET]: pktgen update Signed-off-by: David S. Miller [AX25]: Put back ax25digicmp. Signed-off-by: David S. Miller [BRIDGE-NF]: Check ipv4 vs ipv6 more reliably in ip_sabotage_out(). Signed-off-by: Bart De Schuymer Signed-off-by: David S. Miller [NET]: misc cleanups The patch below contains the following cleanups: - make needlessly global code static - remove the following unused global functions: - datagram.c: skb_copy_datagram - iovec.c: memcpy_tokerneliovec - remove the following unneeded EXPORT_SYMBOL's: - datagram.c: skb_copy_datagram - dev.c: ing_filter - iovec.c: memcpy_tokerneliovec - netpoll.c: netpoll_send_skb - rtnetlink.c: rtnetlink_dump_ifinfo - sock.c: sock_alloc_send_pskb Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [NET]: Fix CMSG_COMPAT_OK length check. Need to check against struct compat_cmsghdr not struct cmsghdr. Signed-off-by: Olaf Kirch Signed-off-by: David S. Miller [NETLINK]: Kill netlink_post, no longer used Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller [IPVS]: Kill check_for_ip_vs_out, no longer used Signed-off-by: Arjan van de Ven Signed-off-by: David S. Miller [SPARC64]: Remove x86-specific help in arch/sparc64/Kconfig Signed-off by: James Nelson Signed-off-by: Domen Puncer Signed-off-by: David S. Miller [NET]: Add rtnl_lock_interruptible() Signed-off-by: David S. Miller [8139TOO]: Use rtnl_lock_interruptible() The 8139too thread needs to use rtnl_lock_interruptible so it can avoid doing the actual work once it's been kill_proc()ed on module removal time. Based on debugging and an earlier patch that adds a driver-private semaphore from Herbert Xu. Signed-off-by: David S. Miller [PKT_SCHED]: rtattr_parse shortcut for nested TLVs Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: tc filter extension API The tcf_exts API abstracts extensions such as actions/policers into a generic layer and reduces the knowledge inside classifiers to the minimum required. It isolates the validation code into its own function to allow classifiers to validate all input data before making changes and thus avoids the need to undo changes if a extension configuration request cannot be fullfilled. Adds missing locking when adding a action/police extension to an already existing filter. Acquiring dev->queue_lock makes sure we don't change the action/police in the middle of a classification. Noted by Patrick McHardy. As a nice side effect, using this API removes the existing ifdef clutter. Usage: The classifier holds struct tcf_exts which may be empty if no extensions are compiled in. It then calls tcf_exts_validate when a new change request was received and provides a temporary tcf_exts copy to store the change requests. Given it succeeded the classifier may change its own parameters and at the end call tcf_exts_change to commit the changes and replace the existing extension configuration with the new one. The classifier is responsible to destroy his temporary copy if any of its own validation checks fail. The classifier specific TLV types must be exported to the extensions API via tcf_ext_map. Destroying the extensions is as easy as calling tcf_exts_destroy. The extensions are executed by the classifier by calling tcf_exts_exec which must be done as the last thing after making sure the filter matches. Note: A classifier might take further actions after the execution to tcf_exts_exec such as correcting its own cache to avoid caching results which could have been influenced by the extensions. tcf_exts_exec returns a negative error code if the filter must be considered unmatched, 0 on normal execution or a positive classifier return code (TC_ACT_*) which must be returned to the underlying layer as-is. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: u32: make use of tcf_exts API Transforms u32 to use tcf_exts API. Makes the u32 changing procedure consistent upon failures except for indev failures but indev will be removed very soon. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: fw: make use of tcf_exts API Transforms fw to use tcf_exts API. Makes the fw changing procedure consistent upon failures except for indev failures but indev will be removed very soon. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: route: allow changing parameters for existing filters and use tcf_exts API Transforms route to use tcf_exts API and thus adds support for actions. Replaces the existing change implementation with a new one supporting changes for existing filters which allows to change a classifier without letting a single packet pass by unclassified. Fixes various cases where a error is returned but the filter was changed already. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: tcindex: allow changing parameters for existing filters and use tcf_exts API Transforms tcindex to use tcf_exts API and thus adds support for actions. Replaces the existing change implementation with a new one supporting changes for existing filters which allows to change a classifier without letting a single packet pass by unclassified. Fixes various cases where a error is returned but the filter was changed already. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: rsvp: use tcf_exts API Transforms tcindex to use tcf_exts API and thus adds support for actions. Needs more work to allow changing parameters for existing filters. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Remove old action/police helpers Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Actions are now available for all classifiers & Fix police Kconfig dependencies Removes outdated comment and make action and old compat policer mutually exclusive to reflect the code. Noted by Jamal Hadi Salim. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [PKT_SCHED]: Restore net/sched/ipt.c After iptables Kmod Cleanup Thomas Graf points out that I broke net/sched/ipt.c when I removed __ipt_find_target_lock. In fact, those routines don't need to keep the lock held, so we can simplify them, and expose an interface (ipt_find_target) which does module loading correctly for net/sched/ipt.c. Signed-off-by: Rusty Russell Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: whitespace and coding style cleanup Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: use consistent comparison style Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: remove checks for impossible conditions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: remove unnecessary initializations Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: Add rtattr_strlcpy, use it where appropriate Add rtattr_strlcpy to handle unterminated strings. The destination is nulled out entirely to avoid possible leaks when dumping. The return value can be checked for >= size to detect truncated strings. Currently strings equal to the size of the destination are accepted everywhere even if not null-terminated. Sometimes they are silently truncated, sometimes the unterminated string is used. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [RTNETLINK]: Use rtattr_strcmp where appropriate Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: clean up init path, propagate errors properly Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: tc actions: whitespace and coding style cleanup Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: tc actions: remove checks for impossible conditions Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: gact action: fix multiple bugs in init path - rta can be NULL - Attribute sizes are not checked - No locking when replacing an action - The action is inserted into the hash before its parameters are set Also return proper error codes. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: ipt action: fix multiple bugs in init path - Return proper error codes - Attribute sizes are not checked - rta may be NULL - Several leaks and locking errors - When replacement fails the old action is freed while in use This patch makes replacement atomic, so the old action is either replaced entirely or not touched at all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: mirred action: fix multiple bugs in init path - Return proper error codes - Attribute sizes are not checked - rta may by NULL - The action is inserted into the hash before its parameters are set - action in hash is freed on error path - action is modified outside of the locked section This patch makes replacement atomic, so the old action is either replaced entirely or not touched at all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: pedit action: fix multiple bugs in init path - Return proper error codes - Attribute sizes are not checked - rta may by NULL - The action is inserted into the hash before its parameters are set - replacement happens without locking - no reallocation on replacement for possibly changed numbers of keys Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: police action: fix multiple bugs in init path - Return proper error codes - Some attribute sizes are not checked - rta may by NULL - multiple leaks - possible unbalanced unlock - used action is freed after if an error happens while trying to replace - estimator can't be replaced This patch makes replacement atomic, so the old action is either replaced entirely or not touched at all. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: ipt action: fix missing unlock on error path Simply kill the pskb_expand_head, iptables targets already take care of cloned packets. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: tc actions: remove unnecessary locking for refcnt changes refcnt/bindcnt are only used in user context under the rtnl, no additional locking is necessary. Besides it was only done in some places, so kill it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: ipt action: fix module refcount underflow/mem leaks in tcf_ipt_cleanup Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: remove module loading from get/delete operations If get/delete can't find the action we can assume there is nothing to get/delete. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: push memory allocation to tcf_action_get_1 Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [PKT_SCHED]: act_api.c: sync multi action order processing Sync tcf_action_init and tca_action_gd. Rename a few variables to make the code more easily understandable and rename the rtattr_failure/nlmsg_failure labels. These are usually called from the netlink macros, it is misleading to use them in a larger function without actually using netlink macros. Multi action orders were processed differently before, tcf_action_init skipped empty ones while tca_action_gd stopped at the first empty one. This patch makes both stop at the first empty one. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller [IA64] implements the features required for the HAVE_PCI_LEGACY code in sysfs This patch implements the features required for the HAVE_PCI_LEGACY code in sysfs. It allows userspace applications to access legacy I/O ports an memory space using files in sysfs on a per-bus basis. Tested on sn2, but it *should* work on other ia64 platforms as well (though zx1 will probably need machine vectors to do routing of non-base busses). Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [NETFILTER]: Fix stack leakage in ip6tables ip6tables version of Rusty's iptables fix. Signed-off-by: Patrick McHardy [NETFILTER]: Remove skb_linearize in ip6tables Signed-off-by: Patrick McHardy [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG Signed-off-by: Patrick McHardy [NETFILTER]: Fix ip6tables ESP matching with "-p all" Signed-off-by: Patrick McHardy [NETFILTER]: move ipt_error and ipt_standard to iptables.h Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy [NETFILTER] re-introduce __initdata to {arp,ip,ip6}_tables Instead of just removing the (correct) __initdata as introduced by http://linux.bkbits.net:8080/linux-2.5/cset@1.2055.4.50 we rework the code in order to not trigger some misinterpretation by static code checkers. Signed-off-by: Harald Welte Signed-off-by: Patrick McHardy [PATCH] wl3501: fix module_param types/warnings Fix gcc warning: drivers/net/wireless/wl3501_cs.c:2282: warning: return from incompatible pointer type module_param() isn't happy about different types for irq_mask; unsigned long vs. int. Make it uint consistently. Signed-off-by: Randy Dunlap [PATCH] Fix gcc4 compilation in s2io net driver Signed-off-by: Andi Kleen [PATCH] smc-ultra.c too-verbose driver [PATCH] mark arcdev_setup static It's only used in arcnet.c, and following the model of the other link layers it doesn't make sense to use it outside alloc_arcdev() either. [UDP] merge udp_sock with udp_opt No need for two structs, follow the new inet_sock layout style. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller e1000/ixgb net drivers: rename global symbol to fix 'make allyesconfig' [ARM] Add show_ipi_list() call. [ARM] Add synchronize_irq() support. [PKT_SCHED]: Use rtattr_parse_nested where appropriate Signed-off-by: Patrick McHardy [PKT_SCHED]: Fix memory leaks in cls_u32.c error path Also silence an unused-variable warning when CONFIG_CLS_U32_MARK is not set. Signed-off-by: Patrick McHardy [PKT_SCHED]: tc actions: disable bhs while lock is held in init path Signed-off-by: Patrick McHardy [IA64] update sn2_defconfig (fix initrd, add IB support) Don't know what happened to initrd support, but 'make sn2_defconfig' no longer enables it. This patch should fix that, along with enabling modular IB support. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] simeth.c: Remove unneeded casts of (void *) pointers. Signed-off-by: Domen Puncer Signed-off-by: Tony Luck [PKT_SCHED]: act_api.c: drop rtnl for loading modules Signed-off-by: Patrick McHardy [PKT_SCHED]: tcf_exts: rate_tlv is optional Signed-off-by: Patrick McHardy [PKT_SCHED]: act_api.c: kill some exports init, destroy, dump etc. should be performed through Thomas's tcf_exts, don't export the act_api.c functions to modules. tcf_action_dump_1 will follow once tcf_dump_walker is converted to callbacks. Signed-off-by: Patrick McHardy [ARM] Add SMP IRQ affinity and routing support. Provide /proc/irq/*/smp_affinity support, and add necessary methods to allow a machine to route the interrupt to the desired CPU. [IA64-SGI] Update SN2 code for running on simulator Update the hack in sn_io_addr() that is used when running on the system simulator. The change is needed for running on systems with the new shub2 chipset. Note that this change affects simulator runs only. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [IA64-SGI] Delete unneeded SN2 header file router.h Delete unused header file. The file became obsolete after the IO reorg code was completed. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck [ARM] Relocate ipi_count into ipi data structures. This removes ipi_count from the globally visible per-cpu cpu data structure. [IA64] defconfig update This adds support for a few new modules (e.g. Infiniband, new ACPI stuff, etc.) and also enables initrd support (required for Fedora for example--it's really not that painful, I use the same initrd for most of my kernels). Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] reset console_loglevel so INIT output always goes to console Reset console_loglevel early in INIT handler. Otherwise, if it has been turned down (i.e., with "dmesg -n1"), the user may see no effect at all from issuing an INIT. We're never going to run any more user code, so there won't be any opportunity for anything to collect the output from the dmesg buffer. Signed-off-by: Bjorn Helgaas Signed-off-by: Tony Luck [IA64] clear all region registers at boot If we initialize *all* of the region registers to be non-identity mapped we can catch a few more bugs that might be covered up by whatever their previous state was. This patch sets them all up to use VHPT (i.e. non alt-tlb) address translation. It already helped me find one bug in the sn2 initialization code. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64-SGI] fix bogus address dereference in sn/setup.c Some code in sn/setup.c was trying to dereference a physical address, which usually doesn't work (esp. not with the region register init patch I posted). This patch converts the function used to find the klconfig to return virtual char * instead of a physical address and updates the caller to deal with it. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [IA64] Fix PTRACE_GETEVENTMSG ia32 emulation This patch fixes PTRACE_GETEVENTMSG for the ia32 emulation. The parameter is a pointer, thus needs to be converted. Signed-off-by: Andreas Schwab Signed-off-by: Tony Luck [ARM] Fix smp.c includes Remove asm/smp.h include, use linux/smp.h instead. Add linux/cpu.h include. [IA64] sn_hwperf.c: vfree() checking cleanups Signed-off by: James Lamanna Signed-off-by: Domen Puncer Signed-off-by: Tony Luck [IA64] sba_iommu.c: pci_find_device is going away Here is the reroll of the sba_iommu.c patch to use for_each_pci_dev. Signed-off-by: Hanna Linder Signed-off-by: Tony Luck [ARM PATCH] 2376/1: S3C2410 - cleanup 2410/2440 distinctions, fix build Patch from Ben Dooks This cleans up a few items in arch/arm/mach-s3c2410 with naming of functions and a build problem. Items which are general to s3c2410 and s3c2440 are now named s3c24xx_ instead of s3c2410_, as well as moving them to the correct headers. The patch also fixes a problem where at least one s3c2410 target had to be selected to allow an s3c2440 target to build without error. The following have been renamed: s3c2410_init_irq -> s3c24xx_init_irq s3c2410_timer -> s3c24xx_timer Signed-off-by: Ben Dooks Signed-off-by: Russell King [IA64] pci.c: pci_find_device is going away Ok. Here is the reroll of the original patch to us for_each_pci_dev: Signed-off-by: Hanna Linder Signed-off-by: Tony Luck [ARM PATCH] 2378/1: Trivial: Update my info in CREDITS file Patch from Deepak Saxena Signed-off-by: Deepak Saxena Signed-off-by: Russell King [IA64] pci.c: fix warning Fix a 'mixing code and declarations' warning in pci.c by creating a small function that's a no-op if CONFIG_NUMA=n but otherwise includes the proper extern. Similar patch also submitted by Signed-off-by: Jesse Barnes [IA64-SGI] io_init.c: gcc4 fixes for sn2 This patch is needed since "warning: use of cast expressions as lvalues is deprecated" turned into an error in gcc4. We can use the convenience macros for read access and explicit assignments for initialization. I thought about using Alexandre's fixes, but this seemed a little simpler. Signed-off-by: Jesse Barnes Signed-off-by: Tony Luck [ARM PATCH] 2381/1: Add to IXP4xx source files Patch from Deepak Saxena We should be including to pick up various important constants that might be needed by other include files. Signed-off-by: Deepak Saxena Signed-off-by: Russell King [IA64-SGI] Altix BTE error handling fix This patch fixes BTE off node error handling. Signed-off-by: Russ Anderson Acked-by: Robin Holt Signed-off-by: Tony Luck [ARM PATCH] 2386/1: Tidy up Sharp SCOOP driver coding style Patch from Richard Purdie Tidy up a couple of coding style issues in the Sharp SCOOP Driver Signed-off-by: Richard Purdie Signed-off-by: Russell King [PATCH] eepro build fix drivers/net/eepro.c:1799: initializer element is not constant drivers/net/eepro.c:1799: (near initialization for `__param_arr_io.num') drivers/net/eepro.c:1800: initializer element is not constant drivers/net/eepro.c:1800: (near initialization for `__param_arr_irq.num') drivers/net/eepro.c:1801: initializer element is not constant drivers/net/eepro.c:1801: (near initialization for `__param_arr_mem.num') Signed-off-by: Andrew Morton [PATCH] ixgb whitespace fix Signed-off-by: Andrew Morton [PATCH] 3c515 warning fix drivers/net/3c515.c: In function `__check_rx_copybreak': drivers/net/3c515.c:406: warning: return discards qualifiers from pointer target type drivers/net/3c515.c: At top level: drivers/net/3c515.c:406: warning: initialization discards qualifiers from pointer target type Signed-off-by: Andrew Morton [libata sata_sil] support ATI IXP300/IXP400 SATA [ALSA] Fix ioctl arguments RawMidi Midlevel Fixed the wrong pointer types passed to get_user() for DROP and DRAIN ioctls. Signed-off-by: Takashi Iwai [ALSA] ac97 quirk entries for HP xw6200 & xw8000 Intel8x0 driver Add AC97 quick list entries to snd-intel8x0 for HP xw6200 and xw8000. Signed-off-by: John W. Linville Signed-off-by: Takashi Iwai [ALSA] Fix description of ALSA/OSS device mapping Documentation Fixed the description of ALSA/OSS device mapping. The direction suffix was missing in ALSA devices. Signed-off-by: Takashi Iwai [ALSA] Fix float format support MIXART driver Fixed typos in float format support. Signed-off-by: Markus Bollinger Signed-off-by: Takashi Iwai [ALSA] Add quirk for HP zv5000 Intel8x0 driver Added the quirk for HP zv5000 (mute LED with EAPD). Signed-off-by: Takashi Iwai [ALSA] remove compatibility code for 2.2.x kernels CA0106 driver Signed-off-by: Clemens Ladisch [ALSA] Fix Oops at resume AC97 Codec Core Fixed Oops at resume on certain codecs. Set null ops when no patch exists or the patch doesn't set build_ops. Signed-off-by: Takashi Iwai [ALSA] Adapt SPDIF Input selection for Realtek ALC658 AC97 Codec Core This fixes the SPDIF Input selection for ALC658 as Realtek has changed the meaning betweenALC655 and ALC658. Signed-off-by: Stefan Macher Signed-off-by: Takashi Iwai [ALSA] Fixed description about ac97_quirk Documentation Fixed the description about ac97_quirk option. Now it accepts string, too. Signed-off-by: Takashi Iwai [ALSA] Remove & from function pointers AC97 Codec Core Remove & from function pointers (it works but not common to add it...) Signed-off-by: Takashi Iwai [ALSA] Add suspend callback AC97 Codec Core Add suspend callback for each codec patch. Signed-off-by: Takashi Iwai [ARM] Don't use __init for function prototypes. [PKT_SCHED]: cls_api.c: drop rtnl for loading modules Signed-off-by: Patrick McHardy [ARM] Remove include. asm/processor.h doesn't use atomic operations nor types, so there's no need to include asm/atomic.h. Signed-off-by: Russell King [ARM PATCH] 2388/1: Add SSP control code for Sharp SL-C7xx Series (Corgi) Patch from Richard Purdie The Sharp SL-C7xx Series (Corgi) has 3 devices connected to the SSP interface each needing different configurations of the port. This code provides the necessary access and locking so drivers can access these components. It uses the functions provided by the PXA SSP driver to access the port. It also adds some machine specific GPIO definitions used by this code and adds some comments to existing definitions. Signed-off-by: Richard Purdie Signed-off-by: Russell King [ARM PATCH] 2389/1: semaphore.c warning fixed Patch from Catalin Marinas The patch adds the "ax" attributes to the .sched.text section to avoid a compiler warning. Signed-off-by: Catalin Marinas Signed-off-by: Russell King [PATCH] SCSI aic7xxx: kill kernel 2.2 #ifdef's From: Adrian Bunk The patch below kills kernel 2.2 #ifdef's from the SCSI aic7xxx driver. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] x86_64: Fix ACPI SRAT NUMA parsing Fix fallout from the recent nodemask_t changes. The node ids assigned in the SRAT parser were off by one. I added a new first_unset_node() function to nodemask.h to allocate IDs sanely. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] use mmiowb in qla1280.c From: Jesse Barnes There are a few spots in qla1280.c that don't need a full PCI write flush to the device, but rather a simple write ordering guarantee. This patch changes some of the PIO reads that cause write flushes into mmiowb calls instead, which is a lighter weight way of ensuring ordering. Signed-off-by: Jeremy Higdon Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] x86_64: Fix K8 NUMA discovery Fix K8 node discovery after nodemask changes. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] [3/4] x86_64: Fix NUMA hash setup Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [PATCH] [4/4] Fix numa=off command line parsing Fix a long standing bug: numa=off only worked as last argument on the command line. Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds [ARM PATCH] 2390/1: Simtec Electronics MAINTAINERS file entries Patch from Ben Dooks MAINTAINERS entries for currently supported Simtec Electronics development boards. Signed-off-by: Ben Dooks Signed-off-by: Russell King SCSI: add starget_for_each_device From: James.Smart@Emulex.Com This patch deprecates the use of device_for_each_child() with stargets. The reasoning behind this is due to issues regarding: Semaphores that device_for_each_child() takes Implicit assumptions that each child is an sdev device. The patch adds a new helper function, starget_for_each_device(), and replaces all previous uses of device_for_each_child(). Signed-off-by: James Bottomley Handle two threads both trying to expand their stack simultaneously. We had all the locking right, but we didn't check whether one of the threads now no longer needed to expand, so we could incorrectly _shrink_ the stack in the other thread instead (not only causing segfaults, but since we didn't do a proper unmap, we'd possibly leak pages too). So re-check the need for expand after getting the lock. Noticed by Paul Starzetz. FC Transport updates - additional fc host attributes From: James.Smart@Emulex.Com This patch adds 5 more FC transport host attributes in support of HBAAPI. Signed-off-by: James Bottomley [PATCH] do_brk() needs mmap_sem write-locked It seems to be general consensus that its safer to require all do_brk() callers to grab mmap_sem, and have do_brk to warn otherwise. This is what the following patch does. Similar version has been changed to in v2.4. Signed-off-by: Linus Torvalds Make mm writelock testing less intrusive. This enables it only for debug kernels, and also makes sure that if some external module is still broken, we don't leave the mmap-sem locked after warning about it. [PATCH] Alpha: typos in io_trivial.h This apparently explains some weird IO failures reported in last two months. Only non-bwx (including generic) kernels were affected. Acked-by: Richard Henderson Signed-off-by: Linus Torvalds [PATCH] ia64: export pcibios_resource_to_bus to match other architectures. Signed-off-by: Keith Owens Signed-off-by: Linus Torvalds [PATCH] cfq-iosched: fix scsi requeue accounting The accounting can go bad in the requeue hook, it must check the accounted flag to make sure it was previously considered in the driver. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [IA64] reorder functions to define ia64_pci_get_legacy_mem() before using it Signed-off-by: Tony Luck [PATCH] elevator: print default selection Currently we only print the default io scheduler if the kernel chooses, not if the user/bootloader has specified one. This patch saves the extra line in dmesg but always notified of the default choice by appending (default) to that line: .. io scheduler noop registered io scheduler anticipatory registered io scheduler deadline registered io scheduler cfq registered (default) .. Patch originally from Srihari Vijayaraghavan, modified by me. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] PPC64 had _raw_read_trylock already Ingo presumably didn't notice that ppc64 already had a functional _raw_read_trylock when he added the #define to use the generic version. This just removes the #define so we use the ppc64-specific version again. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [PATCH] ppc: fix removed MMCR0_PMXE define In ChangeSet 1.2370, 2005/01/11 17:41:32-08:00, tglx@linutronix.de wrote: > > [PATCH] ppc: remove duplicate define > > The MMCR0_PMXE is already defined in reg.h... Er, no it's not. But perhaps it should be... [IA64] add hpzx1_swiotlb machine-vector (new files) This is really part of the earlier changeset from David to add the new machine vector to support certain limited range DMA cards on zx1. I just forgot to run "bk new" before the commit, so the newly added files weren't checked into BK. Signed-off-by: David Mosberger-Tang Signed-off-by: Tony Luck [ALSA] Fix DMA pointer read ATIIXP driver Try to reread DMA pointer register if the value is invalid. The register shows bogus values on some broken hardwares. Signed-off-by: Takashi Iwai [ALSA] Fix ctl_read/write ioctl wrappers IOCTL32 emulation Fixed bugs with ctl_read/write ioctls. The struct size mismatch due to alignment is fixed. The code is also a bit optimized. Signed-off-by: Takashi Iwai [ALSA] Add ac97_quirk option Documentation,ATIIXP driver Added ac97_quirk option like intel and via drivers. Signed-off-by: Takashi Iwai [ARM] Add missing tlb_migrate_finish() Signed-off-by: Russell King [ARM PATCH] 2391/1: remove obsolete help text Patch from Nicolas Pitre Now that MTD XIP support is merged this part is not relevant anymore. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2204/1: bring {read|write}sw up to date with current reality Patch from Nicolas Pitre This patch adds support for all alignments to both endianness. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [TUN] Add a missing dependency on enabling the crc32 libraries Patch by Steve French Signed-off-by: Max Krasnyansky [Bluetooth] Lock initializer cleanup Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK. Signed-off-by: Thomas Gleixner Signed-off-by: Marcel Holtmann [PATCH] matroxfb driver broken on non-x86. This broke since the recent MODULE_PARAM conversion on architectures that don't have CONFIG_MTRR Signed-off-by: Dave Jones Signed-off-by: Linus Torvalds [PATCH] contort getdents64 to pacify gcc-2.96 A recent trivial fixup in sys_getdents64 gives gcc-2.96 indigestion in the form of an ICE. While upgrading to a sane gcc would be the preferred solution, rewriting the change as follows eliminates the error for those who cannot do so. Signed-off-by: Adam Kropelin Signed-off-by: Linus Torvalds ALSA 1.0.8 [PATCH] Don't enable ata over eth by default "ATA over Ethernet support" should not default to 'm', it doesn't make any sense for a special case driver to do so. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] possible rq starvation on oom I stumbled across this the other day. The block layer only uses a single memory pool for request allocation, so it's very possible for eg writes to have allocated them all at any point in time. If that is the case and the machine is low on memory, a reader attempting to allocate a request and failing in blk_alloc_request() can get stuck for a long time since no one is there to wake it up. The solution is either to add the extra mempool so both reads and writes have one, or attempt to handle the situation. I chose the latter, to save the extra memory required for the additional mempool with BLKDEV_MIN_RQ statically allocated requests per-queue. If a read allocation fails and we have no readers in flight for this queue, mark us rq-starved so that the next write being freed will wake up the sleeping reader(s). Same situation would happen for writes as well of course, it's just a lot more unlikely. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] PPC64 Disable preemption in flush_tlb_pending The preempt debug stuff found a place where we were using smp_processor_id() without having preemption disabled, in flush_tlb_pending. This patch fixes it by using get_cpu_var and put_cpu_var instead of the __get_cpu_var variant. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [PATCH] PPC64 Call preempt_schedule on exception exit This patch mirrors the recent changes on x86 to call preempt_schedule rather than schedule in the exception exit path, in the case where the preempt_count is zero and the TIF_NEED_RESCHED bit is set. I'm a little concerned that this means that we have a window where interrupts are enabled and we are on our way into preempt_schedule, but preempt_count is still zero. Ingo's proposed preempt_schedule_irq would fix this, and I think something like that should go in. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [PATCH] PPC64 can do preempt debug too This patch enables the DEBUG_PREEMPT config option for PPC64. I have this turned on on my desktop G5 and it isn't finding any problems. (It did find one problem, in flush_tlb_pending(), that I have just sent a patch for.) BTW, do we really need to restrict which architectures the config option is available on? Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [PATCH] PPC64 Add PREEMPT_BKL option This patch adds the PREEMPT_BKL config option for PPC64, shamelessly stolen from the i386 version. I have this turned on in the kernel on my desktop G5 and it seems to be just fine. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [PATCH] PPC64 Move thread_info flags to its own cache line This patch fixes a problem I have been seeing since all the preempt changes went in, which is that ppc64 SMP systems would livelock randomly if preempt was enabled. It turns out that what was happening was that one cpu was spinning in spin_lock_irq (the version at line 215 of kernel/spinlock.c) madly doing preempt_enable() and preempt_disable() calls. The other cpu had the lock and was trying to set the TIF_NEED_RESCHED flag for the task running on the first cpu. That is an atomic operation which has to be retried if another cpu writes to the same cacheline between the load and the store, which the other cpu was doing every time it did preempt_enable() or preempt_disable(). I decided to move the thread_info flags field into the next cache line, since it is the only field that would regularly be modified by cpus other than the one running the task that owns the thread_info. (OK possibly the `cpu' field would be on a rebalance; I don't know the rebalancing code, but that should be pretty infrequent.) Thus, moving the flags field seems like a good idea generally as well as solving the immediate problem. For the record I am pretty unhappy with the code we use for spin_lock et al. with preemption turned on (the BUILD_LOCK_OPS stuff in spinlock.c). For a start we do the atomic op (_raw_spin_trylock) each time around the loop. That is going to be generating a lot of unnecessary bus (or fabric) traffic. Instead, after we fail to get the lock we should poll it with simple loads until we see that it is clear and then retry the atomic op. Assuming a reasonable cache design, the loads won't generate any bus traffic until another cpu writes to the cacheline containing the lock. Secondly we have lost the __spin_yield call that we had on ppc64, which is an important optimization when we are running under the hypervisor. I can't just put that in cpu_relax because I need to know which (virtual) cpu is holding the lock, so that I can tell the hypervisor which virtual cpu to give my time slice to. That information is stored in the lock variable, which is why __spin_yield needs the address of the lock. Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds [CPUFREQ] cpufreq mailing list changed its DNS entry. Signed-off-by: Dave Jones [ARM PATCH] 2392/1: Add PCMCIA/CF support code for Sharp SL-C7xx Series Patch from Richard Purdie Add support code to enable the Compact Flash socket on the Sharp SL-C7xx series of PDAs. The socket is controlled via the Sharp SCOOP interface. Signed-off-by: Richard Purdie Signed-off-by: Russell King [ARM PATCH] 2394/1: Re: accepting responsibility for Sharp LH ports Patch from Marc Singer Admitting that I'm the maintainer for the Sharp LH ports. Signed-off-by: Marc Singer Signed-off-by: Russell King [ARM PATCH] 2395/1: __ioremap() miscalculates mapping size under certain conditions Patch from Lothar Wassmann Hi, ioremapping a memory range that ends on the first byte of a page (e.g. mapping PAGE_SIZE + 1 bytes on a page boundary) results in a mapping that is one page too short. In particular trying to create a 1 byte mapping at the start of a page results in a BUG_ON() assertion in remap_area_pages() because the calculated mapping size is zero. This bug has been reported on Bugzilla on 2004-02-25: http://bugzilla.kernel.org/show_bug.cgi?id=2188 Signed-off-by: Lothar Wassmann Signed-off-by: Russell King [ARM PATCH] 2399/1: asm/constants.h included in arch/arm/vfp/entry.S Patch from Catalin Marinas The TI_VFPSTATE is otherwise undefined and gas-2.15.90 (and probably earlier versions) assumes 0. Gas-2.15.92 reports an error. Signed-off-by: Catalin Marinas Signed-off-by: Russell King [CPUFREQ] Fix up more instances of the old cpufreq list URLs. Signed-off-by: Dave Jones [TCP]: Fix sk_forward_alloc assertion failures with TSO. do_tcp_sendpages() needs to do skb->truesize et al. accounting just like tcp_sendmsg() does. tcp_sendmsg() works by gradually adjusting these accounting knobs as user data is copied into the packet. do_tcp_sendpages() works differently, when it allocates a new SKB it optimistically adds in tp->mss_cache to these values and then makes no adjustments at all as pages are tacked onto the packet. This does not work at all if tcp_sendmsg() queues a packet onto the send queue, and then do_tcp_sendpages() attaches pages onto the end of that SKB. We are left with a very inaccurate skb->truesize in that case. Consequently, if we were building a TSO frame and it gets partially ACK'd, then since skb->truesize is too small tcp_trim_skb() will potentially underflow it's value and all the accounting becomes corrupted. This is usually seen as sk->sk_forward_alloc being negative at socket destroy time, which triggers an assertion check. Signed-off-by: David S. Miller [EBTABLES]: Use correct printf format for size_t. Signed-off-by: David S. Miller [NETLINK]: netlink_kernel[] no longer used. The netlink_post stuff Arjan removed was the only user of this array. Signed-off-by: David S. Miller [TUN]: Make type explicit in min() usage. Signed-off-by: David S. Miller [IPV6]: Fix tunnel list locking in sit.c Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [RAW] merge raw_sock with raw_opt No need for two structs, follow the new inet_sock layout style. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [NET]: Lock initializer cleanup. Use the new lock initializers DEFINE_SPIN_LOCk and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: David S. Miller [DECNET]: Misc cleanups - make needlessly global code static - dn_fib.c: remove the write-only global variable dn_fib_info_cnt - dn_fib.c: remove the unused global function dn_fib_rt_message - dn_neigh.c: remove the unused global function dn_neigh_pointopoint_notify - dn_timer.c: remove the fast timer code that isn't used Signed-off-by: David S. Miller [ATALK]: Add ioctls to allow ifx txqueuelen sets/gets Signed-off-by: Neil Horman Signed-off-by: David S. Miller [NET]: Check for SOL_SOCKET in compat_sys_getsockopt Signed-off-by: David S. Miller [SPARC64]: Make first arg to find_next_zero_bit() const. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller [SPARC64]: Fix brainfart in pci_psycho.c Signed-off-by: Grant Grundler Signed-off-by: David S. Miller [SPARC64]: Need some more SPARC32 ifdeffing in here. Signed-off-by: David S. Miller [PATCH] bio clone memory corruption Doing some raid testing threw a bug in the scsi mid layer, because the segment counts wasn't correct. Initially I worried that we still had problems in this area, but it turns out that is due to the raid usage of bio clones. Currently you have to hold on to the original bio as well, since the clone only maintains a pointer to the bio_vec inside the original bio. If the original bio is freed first, the clone will have garbage in its bio->bi_io_vec as soon as that memory is scribbled. I think the best fix is to maintain flexibility and duplicate the io_vec inside the clone as well. Attached patch does this. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] noop-iosched: fix insertion point noop doesn't follow the instructions on where to insert a request, because it uses q->queue_head instead of the *insert assigned. Clean it up so it's easier to read. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [ARM PATCH] 2401/1: asm/thread_info.h removed from arch/arm/vfp/entry.S Patch from Catalin Marinas This file no longer needs to be included in arch/arm/vfp/entry.S because of the inclusion of asm/constants.h. Signed-off-by: Catalin Marinas Signed-off-by: Russell King [ARM PATCH] 2403/1: S3C2410 - clock initialsation tidy Patch from Ben Dooks Update to the s3c2410/s3c2440 clock code to use the naming conventions now used throughout the arch/arm/mach-s3c2410/ directory, as well as a re-organisation of the initialisation of the clocks. The previous method was to initialise the clocks as part of the function that initialised the statically mapped IO regions, which was called from the machine initialisation. This proves a problem if the machine initialisation needs to use these IO areas to determine the frequency of PLL crystal fitted. This patch makes the following changes: - s3c2410_init_clocks renamed s3c24xx_setup_clocks - s3c2410_clkcon_enable renamed s3c24xx_clk_enable - s3c2410_register_clock renamed s3c24xx_register_clock - cpu specific init_clocks to be called from cpu.c - add s3c24xx_init_clocks for machine init to call - split the cpu specific clock code from xxx_map_io - update all machine initialisation methods and the following changes as cleanup which should have been caught by previous patches: - remove s3c2440_hdiv (unused) - remove s3c2440_clock_tick_rate (unused) This patch has been generated from a request by Dimitry Andric. Signed-off-by: Ben Dooks Signed-off-by: Russell King [PATCH] Block: Remove block_subsys.rwsem usage A new, local semaphore is used, and the major_names_lock spinlock is dropped, as it is no longer needed with this patch. The goal is to remove the subsys.rwsem entirely in the future, hence the need for this change. Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2404/1: BTAC/BTB flushing added in cpu_v6_switch_mm Patch from Catalin Marinas This is needed since ARMv6 branch prediction tagging is done by the virtual address and the ASIDs aren't taken into account. Signed-off-by: Catalin Marinas Signed-off-by: Russell King [PATCH] Block: move struct disk_attribute to genhd.h This allows other block devices to add attributes to their sysfs entries. Signed-off-by: Greg Kroah-Hartman [PATCH] aoe: don't sleep with interrupts on Changes: * get rid of sleeping with interrupts off (I had to re-add the (struct aoedev *)->nopen member because I can't get to bdev->bd_openers without sleeping.) * Scott Feldman suggestions: don't do needless assignment of skb->dev in aoenet_rcv. use skb_push instead of just adding to skb->len. also trivial: make data in struct frame unsigned char array. * Alan Cox suggestion: use net_ratelimit to avoid flooding syslog * documentation updates and corrections * support one-partition per device for compatibility with systems having poor support for large minor device numbers Don't sleep with interrupts on; support no-partition devices. Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman [PATCH] aoe: fix __init calling __exit Russell King writes: > static void __exit > aoe_exit(void) > { > ... > } > > static int __init > aoe_init(void) > { > ... > aoe_exit(); > ... > } Thanks for catching that. I cleaned up the error handling, too. Don't call __exit functions from __init functions. Signed-off-by: Ed L. Cashin Signed-off-by: Greg Kroah-Hartman [CPUFREQ] ondemand: don't increase to full speed at startup (Bruno Ducrot) From: Bruno Ducrot dbs_timer_init() will schedule_work(&dbs_work) so that do_dbs_timer() is likely called very early at same time slice scheduler, and for each cpu, dbs_check_cpu(cpu) will be called, likely at the same time slice than dbs_timer_init(). So far, we will get total_idle_ticks == idle_ticks == 0 unconditonaly, and the processor will be put at full speed even though it's not needed at startup. Ack'ed by Venkatesh Pallipadi. Signed-off-by: Bruno Ducrot Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] p4-clockmod: Dothan is 13 not 0x13 Dothan is stepping 13 == 0x0D instead of 0x13 == 19 This bug crept bag in the shadows caused by the debug overhauling patch. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino and acpi-cpufreq: P4 TSC rate is constant From: "Pallipadi, Venkatesh" In P4, CPU tsc rate won't change with CPU frequency change while using Enhanced Speedstep Technology. Tested with both speedstep-centrino and acpi-cpufreq on both i386 and x86-64. Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] speedstep-centrino: don't loop on transient MSR From: "Pallipadi, Venkatesh" The transient MSR values are for very short duration and so I feel reading out the last set frequency is better than looping until reading something expected. Signed-off-by: Dominik Brodowski Signed-off-by: Venkatesh Pallipadi Signed-off-by: Dave Jones [CPUFREQ] gx-suspmod: fix gx_suspmod_get Fix to return a proper cpu speed. it is caused by mistaking the meaning of on and off. Signed-Off-by: Hiroshi Miura Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Fix structure name usage in powernow-k8 With 2.6.10-mm2 (or even with -mm1) some structures in struct psb_s have been renamed in powernow-k8.h, but the renaming has not been done properly for all occurences in powernow-k8.c. This prevents cpufreq from accepting the BIOS PST-tables. The following patch corrects this by renaming the incorrectly named variable in powernow-k8.c, following the definition in the powernow-k8.h header file. Signed-off-by: Hans-Frieder Vogt Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones [CPUFREQ] Remove reference to obsolete cpufreq bits. Signed-off-by: Dave Jones [NET]: Tone down the verbosity of diverter messages. Signed-off-by: David S. Miller [IPV6]: Misc cleanups. - make some needlessly global code static - remove the following unused functions: - exthdrs.c: ipv6_build_rthdr - exthdrs.c: ipv6_build_exthdr - exthdrs.c: ipv6_build_nfrag_opts - exthdrs.c: ipv6_build_frag_opts - remove the following write-only global variables: - addrconf.c: inet6_dev_count - addrconf.c: inet6_ifa_count - #if 0 the following unused global variable: - addrconf.c: in6addr_any - remove the following unneeded EXPORT_SYMBOL's: - ipv6_syms.c: in6addr_any - ipv6_syms.c: in6addr_loopback Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [IA64/X86_64] swiotlb.c: fix gcc printk warning swiotlb: Fix gcc printk format warning on x86_64, OK for ia64: arch/ia64/lib/swiotlb.c:351: warning: long unsigned int format, long long unsigned int arg (arg 2) Signed-off-by: Randy Dunlap Signed-off-by: Tony Luck [PATCH] I2C: add MODULE_DEVICE_TABLE to via686a.c driver Signed-off-by: Greg Kroah-Hartman [PATCH] I2C support for Intel ICH7 - 2.6.10 - resubmit This patch adds the Intel ICH7 DID to the i2c-i801.c driver and adds an entry to Kconfig for I2C(SMBus) support. Note: This patch relies on the already submitted and accepted PATA patch to pci_ids.h containing all ICH7 DID's. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: it87 fan update On Tue, Jan 11, 2005 at 10:26:22AM +0100, Jean Delvare wrote: > 1* Jonas, please send a modified version of your original patch to Greg. > The only difference would be that you wouldn't force on/off mode to be > on at driver load time. Instead, disabling PWM for one fan control > output (echo 0 > pwmN_enable) would both set on/off mode to on for that > output (new) and turn that output to on/off mode (same as before). Ok, thanks for doing the thinking ;), here is the modified patch (it87.c_2.6.10-jm3-corrected_manual_pwm_20050111.diff). In addition to the above change, it also refreshes fan_main_ctrl in the update routine, as suggested by Jean on IRC. - adds manual PWM - removes buggy "reset" module parameter - fixes some whitespaces Signed-off-by: Jonas Munsin Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: adm1026.c fixes Ok, take 3 on the adm1026 patch. In this patch: (1) Code has been added which ensures that the fan divisor registers are properly read into the data structure before fan minimum speeds are determined. This prevents a possible divide by zero error. The line which reads the hardware default fan divisor values has been reformatted as suggested by Andreas Dilger to make the intent of the statement clearer. (2) In a similar spirit, an unecessary carriage return from a "dev_dbg" statement in the adm1026_print_gpio() function has been elminated, shortening the statement to a single line and making the code easier to read. Signed-off-by: Justin Thiessen [PATCH] I2C: Fix bogus bitmask in lm63 debug message There is a bitmask error in one debug message of my lm63 chip driver. Nothing critical but still worth fixing, hence comes a patch. Credits go to Mohan Mistry for finding the error. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Cleanups to the eeprom driver Here comes a cleanup patch to the i2c eeprom client driver: * Get rid of the unused i2c_client client_id. * Get rid of the redundant non-ISA bus check. * Fix the adapter capability check. We were previously using capabilities without checking if they were supported. Document which capabilities are required and which are optional. * Reorder things a bit. In particular, wait to have a valid client before we bother checking if this is a Vaio EEPROM. * Use strlcpy instead of strncpy, because I Heard It Was Better (TM) and all other chip drivers use it. * Take benefit of the auto-increment feature of EEPROMs to speed up the Vaio check. * Display an information message when a Vaio EEPROM is detected. Tested successfully on my laptop, which happens to be a Vaio. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: fix it87 sensor driver stops CPU fan > 2* I would then add a check to the it87 driver, which completely disables > the fan speed control interface if the initial configuration looks weird > (all fans supposedly stopped and polarity set to "active low"). This > should protect users of the driver who have a faulty BIOS. > > When a bogus configuration is detected, we would of course complain in > the logs and invite the user to complain to his/her motherboard maker > too. Here is it87.c_2.6.10-jm4-detect_broken_bios_20050112.diff implementing this. It goes on top of the previous patch. - detects broken bioses, disables the pwm for them and prints a message - fixes an unrelated minor bug in set_fan_div() Signed-off-by: Jean Delvare Signed-off-by: Jonas Munsin Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: add EMC6D100 support in lm85 driver I have ported the support for the EMC6D100 sensor from kernel 2.4 to kernel 2.6. In the process I received some comments from Jean Delvare. Signed-off-by: Rafael Ãvila de Espíndola Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: Improve it87 super-i/o detection This patch improves the detection of Super-I/O it87 chips (IT8712F, IT8705F). * Find the IT8712F and IT8705F address through Super-I/O (as opposed to IT8712F only so far). * Verify that the device is activated. Print info lines if a disactivated or unconfigured chip is found. * Print an info line when finding either chip, with device name, address and revision. * Rearrange code in it87_find() (error path). * (bonus) Get rid of the useless i2c_client id. Successfully tested on two IT8712F and one IT8705F, thanks to Jonas Munsin, Rudolf Marek and Karine Proot. Signed-off-by: Jean Delvare Signed-off-by: Greg Kroah-Hartman [PATCH] I2C-MPC: use wait_event_interruptible_timeout between transactions Use wait_event_interruptible_timeout so we dont waste time waiting between transactions like we use to. Also, we use the adapters timeout so the ioctl cmd I2C_TIMEOUT will now work. Signed-off-by: Kumar Gala Signed-off-by: Greg Kroah-Hartman [PATCH] I2C-MPC: Convert to platform_device driver Converted the driver to work as either a OCP or platform_device driver. The intent in the future (once we convert all PPC sub-archs from OCP to platform_device) is to remove the OCP code. Signed-off-by: Kumar Gala Signed-off-by: Greg Kroah-Hartman [PATCH] w1: add ->search() method. Patch allows w1_search() to be overwritten by bus_master drivers. It is very usefull for several devices, like found in iPaq w1 bus master, which does not support bit operations but has hardware implemented search algorithm. Signed-off-by: Evgeniy Polyakov Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: add PCI Express Port Bus Driver subsystem Signed-off-by: T. Long Nguyen Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: use modern format for PCI addresses Use pci_name() rather than "%02x:%02x" when printing PCI address information. Signed-off-by: Bjorn Helgaas Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: pci_ids.h correction for Intel ICH7 - 2.6.10-bk13 This patch corrects the ICH7 LPC controller DID in pci_ids.h from x27B0 to x27B8. This patch was build against 2.6.10-bk13. Signed-off-by: Jason Gaston Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Clean up printks in msi.c Add "PCI:" prefixes and fix up the formatting and grammar of printks in drivers/pci/msi.c. The main motivation was to fix the shouting "MSI INIT SUCCESS" message printed when an MSI-using driver is first started, but while we're at it we might as well tidy up all the messages. Signed-off-by: Roland Dreier Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: rom.c cleanups Greg, here's some whitespace and long line cleanup I wanted to do last time I touched rom.c, but forgot. Does it look ok to you, Jon? Signed-off-by: Jesse Barnes Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Downgrade printk that complains about unsupported PCI PM caps The attached patch downgrades to KERN_DEBUG level the printk that issues a notification that an unsupported version of the PCI power management registers has been encountered by pci_set_power_state(). Signed-Off-By: David Howells Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: Lock initializer cleanup - batch 4 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman [PATCH] PCI: fix release_pcibus_dev() crash During the course of a hotplug removal of a PCI bus, release_pcibus_dev() attempts to remove attribute files from a kobject directory that no longer exists. This patch moves these calls to pci_remove_bus(), where they can work as intended. Signed-off-by: John Rose Signed-off-by: Greg Kroah-Hartman [PATCH] USB: remove some unneeded exported symbols. Signed-off-by: Greg Kroah-Hartman [PATCH] USB: CDC ACM module and Zoom 2985 modem there's a bug in the acm driver's work arounds. This fixes it. Signed-Off-By: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] USB cypress_m8: line setting bugfix, circular write buffer added, misc. fixes This patch brings up to date the driver with the current stable development source. A bug with RTS not raising upon first open was fixed, Al Borcher's circular write buffer from the pl2303 driver was implemented, and various fixes/cleanups were made. Signed-off-by: Lonnie Mendez Signed-off-by: Greg Kroah-Hartman [PATCH] USB unusual_devs addition: Ignore residue for ours-tech disk This "Ours Technology" device incorrectly reports 100% residue on transferred data. Patch originally sent by Daniel Drake , with slight modification by me. Signed-off-by: Daniel Drake Signed-off-by: Phil Dibowitz Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Patch to fix ub looping with a tag mismatch If a command times out, we resubmit a retry. Some devices, however, buffer everything we send and then eventually reply to a command we have timed out already. We receive a bad tag, send a new command, device replies to the one sent before, and so on without end. The fix is to flush pending replies if tags mismatch (by reading them). Signed-off-by: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] USB UHCI: protect DMA-able fields with barriers This is a revised patch to fix a problem in the UHCI driver, in which the compiler incorrectly optimizes certain accesses to DMA-able memory addresses. The patch reorganizes the code to use special accessor routines including a compiler optimization barrier, and stores the results in local variables to help prevent repeated accesses. No use is made of the "volatile" keyword. :-) Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: drivers/usb/*: s/0/NULL/ in pointer context Signed-off-by: Alexey Dobriyan Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usbnet: Olympus R1000 PDA, and blacklisting if CDC && !ZAURUS Add support for the Zaurus-compatible configuration of the Olympus R1000 PDA. (IDs from Todd Blumer, todd@sdgsystems.com) Resolve a FIXME: all the Zaurus support morphs into blacklist entries when CDC Ethernet is enabled and Zaurus isn't (since the Zaurus firmware falsely advertises itself as CDC conformant). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Lock initializer cleanup - batch 4 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Greg Kroah-Hartman [PATCH] USB: SN9C10x driver updates SN9C10x driver updates. Changes: @ Fix the sysfs interface @ Fix allocated minor number after device detection + Add "force_munmap" module parameter + Documentation updates + Add support for old VIDIOC_S_PARM_OLD and VIDIOC_S_CTRL_OLD ioctl's Signed-off-by: Luca Risolia Signed-off-by: Greg Kroah-Hartman [PATCH] pegasus 2.6.10 cset Various fixes to the 'pegasus' driver, notably fixing OSDL bugid #3978 so this can be used with bridges again (or for that matter, other normal usage). * Bugfixes in the status urb completion handler: - Never use garbage that happens to be sitting in the URB data buffer to change the carrier status. - There are two bits which claim to report parts of carrier detect bit. This switches to the one that works sometimes; monitoring through MII might be the best solution. - Stop log spamming ... at least some of these chips seem to get confused about data toggle, no point in warning about each packet error as it's detected. * Report the normal Ethernet MTU. * Better ethtool support: - Save the message level set by userspace - Basic WOL support * Add USB suspend() and resume() methods, to go with WOL. Modeled on what stir4200 does. Also, some of the messages are converted to the more conventional style: "ethN: message text", or driver model style before the device is registered. * removed redundant MII code since CONFIG_MII is always set by Kconfig; * updated the version string; Signed-off-by: David Brownell Signed-off-by: Petko Manolov Signed-off-by: Greg Kroah-Hartman [PATCH] USB: correct and clarify error-code documentation This patch corrects some misconceptions that have persisted in the USB error-code documentation for quite some time. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: add driver for the Siemens ID Mouse fingerprint sensor This patch adds a new usb-misc driver for the fingerprint sensor that can be found in the Siemens ID Mouse USB. "cat /dev/usb/idmouseX" yields a 225x288 greyscale PNM with the fingerprint information. It's now in version 0.5, which uses memcpy() instead of snprintf() and allows interruption of the image acquisition process, in case it should get stuck. It may be considered controversial that it outputs a PNM instead of raw data, but I hold the opinion that the 15 bytes of header, "P5 225 288 256 ", do not do any harm and allow the device to be used in shell scripts or similar, too. The setup packets are not described further, simply because I don"t know anything about them myself. We captured them under Windows using SnoopyPro. Please include this into the main USB kernel tree - I think it has by now been scrutinized and tested quite thoroughly. Signed-off-by: Florian Echtler Signed-off-by: Andreas Deresch [PATCH] USB: fix sparse warnings in the idmouse.c driver Signed-off-by: Greg Kroah-Hartman [PATCH] USB: add Ever UPS vendor/product id to ftdi_sio driver This patch allows to use ftdi_sio driver with Ever ECO Pro CDS UPS. Patch was tested on pre-2.6.10 kernel. Signed-Off: Arkadiusz Miskiewicz [PATCH] USB: give the idmouse the 132 minor number Signed-off-by: Greg Kroah-Hartman [ide] ide-cd: use ssleep() instead of schedule_timeout() Description: Uses ssleep() in place of cdrom_sleep() to guarantee the task delays as expected. Remove cdrom_sleep() definition, as this is the only place where it is called. Signed-off-by: Nishanth Aravamudan Acked-by: Jens Axboe Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide_dump_atapi_status() printk readability fix From: Gunther Mayer this improves logic and readability: - remove blank from: AbortedCommand (as other flags) - add blank and {} to error= line - clean up: remove 2 lines and extra printk before: hdd: status error: status=0x7f { DriveReady DeviceFault SeekComplete DataRequest CorrectedError Index Error } hdd: status error: error=0x7fIllegalLengthIndication EndOfMedia Aborted Command MediaChangeRequested LastFailedSense 0x07 after: hdd: status error: status=0x7f { DriveReady DeviceFault SeekComplete DataRequest CorrectedError Index Error } hdd: status error: error=0x7f { IllegalLengthIndication EndOfMedia AbortedCommand MediaChangeRequested LastFailedSense=0x07 } Signed-off-by: Bartlomiej Zolnierkiewicz [ide] make try_to_flush_leftover_data() static Hi, now that you cleaned up the ide-io.c code to be all in the right file, try_to_flush_leftover_data can become static since all users are in this file now. bart: also remove declaration from Signed-off-by: Arjan van de Ven Signed-off-by: Bartlomiej Zolnierkiewicz [ide] suppress output of error messages for non-existant interfaces From: Prarit Bhargava Suppress output of "Wait for ready failed before probe !" messages for non-existant interfaces. Please see http://marc.theaimsgroup.com/?l=linux-ide&m=110553792013649&w=2 for further context on this patch. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] piix: add Intel 82801DBL IDE Controller support From: Zhongjun, Wang Signed-off-by: Bartlomiej Zolnierkiewicz [ide] atiixp: add IXP400 support From: Enrico Scholz add IXP400 ID From: Frederick Li update PCI IDs Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill ide_drive_t->suspend_reset This cruft pre-dates benh's PowerManagement code. Moreover ->suspend_reset is always equal to zero. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] icside: use ide_dma_intr() Make ide_dma_intr() always available if CONFIG_BLK_DEV_IDEDMA=y and use it instead of icside_dmaintr(). Acked by Russell. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-v10: use ide_dma_intr() Use now available ide_dma_intr() in etrax_dma_intr(). Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill default_{attach,cleanup}() Device drivers are supposed to provide their own ->attach and ->cleanup. Signed-off-by: Bartlomiej Zolnierkiewicz [SCTP] merge sctp_sock with sctp_opt No need for two structs, follow the new inet_sock layout style. Also introduce inet_sk_copy_descendant, to copy just the inet_sock descendant specific area from one sock to another. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [TCP]: Do not underflow sk_forward_alloc in sendpage(). We need to do the proper checks before we try to pull space out of it, just like sendmsg() does. Signed-off-by: David S. Miller [IPV6]: Fix locking in ip6_dst_lookup(). The caller does not necessarily have the socket locked (udpv6sendmsg() is one such case) so we have to use sk_dst_check() instead of __sk_dst_check(). Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [IPV6] Don't use expired default routes. Signed-off-by: Hideaki YOSHIFUJI [IPV6] Don't update FAILED entries on receipt of NAs. As NAs do not create new entries (RFC2461 7.2.5), NA should not change state of FAILED entries. Signed-off-by: Hideaki YOSHIFUJI [MMC] Add comment about GENHD_FL_REMOVABLE to mmc_block We don't set GENHD_FL_REMOVABLE because this flag indicates that the media may be removed while the block device persists. Since MMC destroys the block device when the card (media + on-board controller) is removed, the block device will never exist without media present. Therefore, setting GENHD_FL_REMOVABLE would be misleading. Signed-off-by: Russell King [SERIAL] Fix serial console resume Don't use uart_change_speed() when trying to restore the serial console settings - the port may not have a tty associated with it. Signed-off-by: Russell King [SERIAL] Clarify documentation for set_termios and pm methods. Signed-off-by: Russell King [PATCH] Make compat_rt_sigtimedwait conform Compat syscalls need to start compat_sys_ otherwise PA-RISC's compat syscall wrappers don't work. Not that the individual involved bothered to patch PA-RISC ... Signed-off-by: Linus Torvalds Make pipe buffer handling more generic. Use a "pipe_buf_operations" structure to describe the ops that can be done on a pipe buffer, so that pipe buffers from different sources can have their own rules. Right now the rules are just about how you map the buffers into kernel virtual memory space, and how to release them (and whether you can append new data to the end of an existing buffer). [IPV6] merge raw6_sock with raw6_opt No need for two structs, follow the new inet_sock layout style. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [PATCH] cputime: s/390: fix account_steal_time. account_steal_time called for idle doesn't work correctly: 1) steal time while idle needs to be added to the system time of idle to get correct uptime numbers 3) if there is an i/o request outstanding the steal time should be added to iowait, even if the hypervisor scheduled another virtual cpu since we are still waiting for i/o. 2) steal time while idle without an i/o request outstanding has to be added to cpustat->idle and not to cpustat->system. Signed-off-by: Martin Schwidefsky Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SELinux: fix error handling code for policy load This patch fixes several bugs in the error handling code for SELinux policy loading that were introduced by my earlier patch to eliminate unaligned accesses by that code. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SELinux: fix setting of loaded policy version This patch fixes a different bug in the code for SELinux policy loading. It ensures that the loaded policy version number is not updated until the new policy is successfully committed. It also fixes the type on the loaded policy version. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic irq code missing export of probe_irq_mask() Matthew Wilcox just converted parisc over to doing the generic irq code and we ran across the symbol probe_irq_mask being undefined (and thus preventing yenta_socket from loading). It looks like the EXPORT_SYMBOL() was accidentally missed from kernel/irq/autoprobe.c and no-one noticed on x86 because it's still in i386_ksyms.c This patch corrects the problem so that the generic irq code now works completely on parisc. Signed-off-by: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/IPoIB: use correct static rate in IpoIB Calculate static rate for IPoIB address handles based on local width/speed and path rate. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: trivial formatting fix Trivial formatting fix for empty for loops. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: support RDMA/atomic attributes in QP modify Implement setting of RDMA/atomic enable bits, initiator resources and responder resources for modify QP in low-level Mellanox HCA driver (should complete RDMA/atomic implementation). Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: clean up allocation mapping of HCA context memory Clean up the way we allocate and map memory for use as ICM ("InfiniHost Context Memory") when running in Arbel MemFree mode. This slightly improves the code for mapping the firmware area and will make future progress towards full MemFree support much easier. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: add needed rmb() in event queue poll Add an rmb() between checking the ownership bit of an event queue entry and reading the contents of the EQE. Without this barrier, the CPU could read stale contents of the EQE before HW writes the EQE but have the read of the ownership bit reordered until after HW finishes writing, which leads to the driver processing an incorrect event. This was actually observed to happen when multiple completion queues are in heavy use on an IBM JS20 PowerPC 970 system. Also explain the existing rmb() in completion queue poll (there for the same reason) and slightly improve debugging output. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: remove debug printk Remove debug printk accidentally included. Signed-off-by: Tom Duffy Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand: make more code static Make needlessly global code static. Signed-off-by: Adrian Bunk Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: set byte_cnt correctly in MAD completion Integrate Michael Tsirkin's patch to local_completion to set the WC byte_cnt according to the IBA 1.1 spec (include the GRH size regardless of whether it is present or not). Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add QP number to work completion struct InfiniBand spec rev 1.2 compliance: add local qp number to work completion structure. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add node_type and phys_state sysfs attrs Add per-device "node_type" and per-port "phys_state" sysfs attributes for InfiniBand devices. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/mthca: clean up computation of HCA memory map Clean up the computation of the HCA context memory map. This serves two purposes: - make it easier to change the HCA "profile" (eg add more QPs) - make it easier to implement mem-free Arbel support Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: fix handling of 0-hop directed route MADs Handle outgoing DR 0 hop SMPs properly when provider returns just SUCCESS to process_mad. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add more parameters to process_mad Add parameters to process_mad device method to support full Mellanox firmware capabilities (pass sufficient information for baseboard management trap generation, etc). Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add qp_type to struct ib_qp Add qp_type to struct ib_qp. Signed-off by: Sean Hefty Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: add ib_find_cached_gid function Add a new function to find a port on a device given a GID by searching the cached GID tables. Document all cache functions in ib_cache.h. Rename existing functions to better match format of verb routines. Signed-off by: Sean Hefty Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand: update copyrights for new year Update copyright line (files were modified in 2005). Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/ipoib: move structs from stack to device private struct Move the gather list and work request used for posting sends from the stack in ipoib_send() to the private structure. This reduces the stack usage for the data path function ipoib_send() and may speed things up slightly because we don't need to initialize constant members of the structures. Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] InfiniBand/core: rename handle_outgoing_smp Change routine name from handle_outgoing_smp to handle_outgoing_dr_smp. Signed-off-by: Hal Rosenstock Signed-off-by: Roland Dreier Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mark-page-accessed in filemap.c not quite right I just discovered there's a thinko in the mark-page-accessed change in do_generic_mapping_read() in 2.6.11-rc1. ra.prev_page is compared to index to see if we read from this page before - except that prev_page is actually set to the recent page or even a page in front of the current page. So we should store ra.prev_page in a seperate variable at the start of do_generic_mapping_read(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix mpc8272ads When I reworked the m82xx init functions, I inadvertantly broke the callout we had from ppc_md.setup_arch() that boards can use to poke & prod things, once mappings are set. The following adds in a callback and updates the one m82xx board that needs it. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add Freescale PQ2FADS support The following adds support for Freescale's PQ2FADS board to the kernel. (The 'real' changes required for the board are in the ethernet driver, which needs a massive sync-up with mainline as I've been holding out for a better, rewritten one from the Freescale folks, who're waiting for the PHY lib patch sent to the net-dev list to get ack'd) Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: fix PPC44x build Fix PPC44x build broken from a latent bug. Signed-off-by: Matt Porter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: make HvLpEvent_unregisterHandler() work When the iseries_veth driver module is unloaded there is the potential for an oops and also some memory leakage. Because the HvLpEvent_unregisterHandler() function did no synchronisation, it was possible for the handler that was being unregistered to be running on another CPU *after* HvLpEvent_unregisterHandler() had returned. This could cause the iseries_veth driver to leave work in the events work queue after the module had been unloaded. When that work was eventually executed we got an oops. In addition some of the data structures in the iseries_veth driver were not being correctly freed when the module was unloaded. This is the first patch, which makes HvLpEvent_unregisterHandler() work. Signed-off-by: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: make iseries_veth call flush_scheduled_work() When the iseries_veth driver module is unloaded there is the potential for an oops and also some memory leakage. Because the HvLpEvent_unregisterHandler() function did no synchronisation, it was possible for the handler that was being unregistered to be running on another CPU *after* HvLpEvent_unregisterHandler() had returned. This could cause the iseries_veth driver to leave work in the events work queue after the module had been unloaded. When that work was eventually executed we got an oops. In addition some of the data structures in the iseries_veth driver were not being correctly freed when the module was unloaded. This is the second patch, we make iseries_veth call flush_scheduled_work() after we are sure the handler is no longer running, and also fix the memory leaks. Signed-off-by: Michael Ellerman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: iommu: avoid ISA io space on POWER3 On some systems, the first PCI bus has a ISA I/O hole at the first 16MB. We can't use this space for DMA addresses on the bus. On Python-based machines, we'll skip the first 256MB on buses that have the hole, just as we do on later systems. This means that the first bus will have 768MB of DMA space shared between the devices on it. Signed-off-by: Olof Johansson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: lacks definition of MM_VM_SIZE() With David Woodhouse We don't set MM_VM_SIZE() on ppc64, so it defaults to TASK_SIZE. Which means a 32-bit process ending up in exit_mmap() to kill a 64-bit mm may call tlb_finish_mmu() with an incorrect 'end' argument. Signed-off-by: Anton Blanchard Signed-off-by: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] FRV: Remove mandatory single-step debugging diversion The attached patch removes the mandatory single-step diversion code from the FRV syscall handler that was put there for debugging purposes now that it's no longer needed. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] FRV: Excess whitespace cleanup The attached patch cleans up some excess whitespace from the FRV entry.S. Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Add brackets to bitops Add missing argument brackets in bitop macros Makes these macros somewhat safer to use. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Move early CPU detection earlier Move early CPU detection earlier. Needed for some followup patches and makes sense in general. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Disable uselib when possible Disable sys_uselib for 64bit processes and only enable for 32bit processes when a.out support is compiled in. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Optimize nodemask operations slightly Optimize first/node_node Optimize nodemask_t slightly. The x86-64 find_first/next_bit uses __builtin_constant_p on the size argument to special cases small single long word searches. But most gccs don't make __builtin_constant_p true when an argument is passed through an inline function. Move the constant into the inline function to avoid this. This generates a lot better code for node searches on x86-64. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix a bug in timer_suspend() on x86_64 This patch is intended to fix a bug in timer_suspend() on x86_64 that causes hard lockups on suspend with swsusp and provide some optimizations. It is based on the Nigel Cunningham's patches to to reduce delay in arch/kernel/time.c. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Acked-by: Nigel Cunningham Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x68: consolidate code segment base calculation Calculating the base address of the segment is tricky and is used in several places as well. This patch moves this tricky part in a common place as suggested by Andi Kleen. Signed-of-by: Prasanna S Panchamukhi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: use cpumask_t instead of unsigned long Another cpumask_t related fix: use cpumask_t instead of unsigned long. Signed-off-by: Suresh Siddha Cc: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: more small fixes This adds few missing statics to swsusp.c, prints errors even when non-debugging and fixes last "pmdisk: " message. Fixed few comments. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp/dm: Use right levels for device_suspend() This almost changes no code (constant is still "3"), but at least it uses right constants for device_suspend() and fixes types at few points. Also puts explanation of constants to the Documentation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: update docs This updates swsusp documentation. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] acpi: comment/whitespace updates This cleans few comments/formatting. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] make suspend work with ioapic IRQ balancing daemon needs try_to_freeze(). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: refrigerator cleanups This patch is from Nigel's swsusp2, it kills ugly #include from all over the tree, and makes code slightly nicer. I only left those parts that do not change any code. From: Nigel Cunningham Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: avoid NULL dereference in line.c This patch reorders two lines to check a variable for NULL before using the variable. Signed-off-by: Frank Sorenson Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: readd CONFIG_MAGIC_SYSRQ for UML This config option was lost during the creation of lib/Kconfig.debug, due to a bad expressed dependency; I also moved the option back to its original place for UML (it is near CONFIG_MCONSOLE since it depends on that). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Commentary addition to recent SYSEMU fix. Add some comments about the "uml-sysemu-fixes" patch of 2.6.10-mm1 (merged in 2.6.11-rc1). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: drop unused buffer_head.h header from hostfs Drop that header inclusion - I discovered this header was unused while checking whether I can use the __set_page_dirty_nobuffers speedup suggested by Andrew Morton. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: delete unused header umn.h Remove nowhere referenced header. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: UML-devel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: commentary about SIGWINCH handling for consoles Explain what happens inside the SIGWINCH handler - it's non-obvious enough that the correct code seemed me to need a cleanup (which was indeed buggy). More info in the comments themselves. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fail xterm_open when we have no $DISPLAY If UML wants to open an xterm channel and the xterm does not run properly (eg. terminates soon after starting) we will get a hang (a comment added in the patch explains why). This avoids the most common cause for this and adds a comment (which long term will go away with a rewrite of that code); the complete fix would be to catch the xterm process dying, up(&data->sem), and -EIO all requests from that point onwards. That applies for some of the other channels too, so part of the code should probably be abstracted a little and generalized. Signed-off-by: Chris Wedgwood Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: depend on !USERMODE in drivers/block/Kconfig and drop arch/um/Kconfig_block Finally, we end with this the need to update arch/um/Kconfig_block with changes in drivers/block/Kconfig - we include directly that; UML-specific entries were moved into it (they are very few). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Makefile simplification and correction. Cleanup: simplify a lot of strange constructs and whatever present in arch/um/Makefile. Also, get rid of redundant cleaning code introduced in "uml-fix-make-clean.patch" from 2.6.10-mm3 - when it was written it made sense, but I fixed most problems it addressed in a more elegant way. Also about that, don't remove $(ARCH_SYMLINKS) in make clean, but rather in make mrproper as we already do, like for include/asm-um and other symlinks. Finally, remove one wrong thing (almost a bug) introduced in that - the usage of the clean-dirs construct: clean-dirs := sys-$(SUBARCH) which is intended to delete one whole folder, rather than to descend to clean it, when used in normal Makefiles (not in the arch Makefile where is used, with no effect). It's also not needed because that folder is cleaned because is listed in either $(core-y) or $(libs-y). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Cc: Chris Wright Cc: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix some UML own initcall macros UML has his own initcall mechanism to handle his special userspace initialization (they are called in different moments, so they are indeed It must also duplicate some definition for the benefit of userspace code - but those definition weren't in sync with the main code. Also, the UML own macros missed __attribute_used__. Both problems are fixed by this patch. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: refuse to run without skas if no tt mode in Return an early error message when no TT support is compiled in and no SKAS support is detected. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: for ubd cmdline param use colon as delimiter Currently we can use this syntax ubd[]=file1,file2. However, writing things as ubd0=~/Uml/file1,~/Uml/file2 does not work; in fact, the shell won't expand the second '~', since it's not at a path beginning; possibly even other shell expansions don't work here. So simply allow using, instead of the ',' separator, the ':' separator. The ',' separator can still be used to preserve backward compatibility. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: allow free ubd flag ordering When parsing the section in ubd=file[,file2], instead of requiring that the flags are specified in a certain order, just make the code smarter. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: move code from ubd_user to ubd_kern Most code of ubd_user.c already uses the os_* functions, so it can be moved to ubd_kern.c. This patch simply moves the code without any hidden changes. The only change is inside io_thread(): since it calls signal(), I created a little function in ubd_user.c which just calls signal() with the right parameters. In a later patch (send together) I'll do some changes, to fix the usage of errno (which makes this code break when moved in a kernelspace file) and for some other little cleanups. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix and cleanup code in ubd_kern.c coming from ubd_user.c * Fix the use of errno: it refers to the __errno_location glibc definition when in ubd_user.c, and hence works; but in ubd_kern.c it refers to kernel_errno, which is different. So use the return value of os_* functions, as we should always have done. * Remove {read,write}_ubd_fs(), which are just silly. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add stack content to dumps Copy some code from i386 to print the stack content. Rough form yet, should work although. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add stack addresses to dumps From: Bodo Stroesser Add stack addresses to print of symbols from stack trace. For stack analysis it's important to have this information. Signed-off-by: Bodo Stroesser For UML, we should also copy the CONFIG_FRAME_POINTER stack walking from i386, and move the result to sys-i386. Another note: this should be done for i386 also, if ksymoops does not have problems. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: update ld scripts to newer binutils It seems that linker script for userspace software are quite toolchain-depending, at least because what we use is a merge between builtin LD scripts (see strings /usr/bin/ld) and normal kernel linking scripts. Plus, a number of people are having toolchain-related troubles building UML (even assertion failures on linking, with Gentoo and Fedora 2). So, let's try to make UML nicer for binutils. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] reintroduce task_nice export for binfmt_elf32 S/390 needs this for its binfmt_elf32 module. Signed-off-by: Christian Borntraeger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: Core changes s390 core changes: - Fix mm_struct leak on cpu hotplug. - Improved cpu detection logic to avoid long delay at system start. - Call cpu_relax() in cpu hotplug wait loop. - Remove #define of account_system_vtime for CONFIG_VIRT_CPU_ACCOUNTING=n. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: cmm interface Collaborative memory management inferface changes: - Allow cmmthread to run on every cpu. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: Common I/O layer changes Common I/O layer changes: - Check if AIF is available on hardware before enabling the AIF time delay disablement facility. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: 3270 console 3270 console changes: - Initialize timer element before first use. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: remove irq_exit from iucv Remove the irq_exit call on error path in iucv_irq_handler. irq_exit is done in do_extint(). Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: dasd driver debug log dasd driver changes: - Fix debug feature usage. The sprinf event/exception functions write a pointer to a format string (%s) to the log. These strings must be valid at the time the DBF-log is read. - Some coding style reformatting. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: vol1 partition recognition Make the ECKD compatible disk layout labling detection conditional to run only on ECKD compatible disk layout volumes, do a fall back into the default LNX/unlabled case otherwise. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: use nonseekable_open in z/VM log reader Disable seek on z/VM log reader misc device by using nonseekable_open(). Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] csum_and_copy_from_user gcc4 warning fixes This patch kills tons of gcc4 warnings: pointer targets in passing argument 2 of 'csum_and_copy_from_user' differ in signedness From: Hirokazu Takata * include/asm-m32r/checksum.h: build fix * arch/m32r/lib/csum_partial_copy.c: - update comment - cosmetic changes: change indentation Signed-off-by: Hirokazu Takata Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] smbfs fixes Fixes for various smbfs data leak bugs from Alan, Chuck Ebbert and various people on various mailing lists. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fixups for block2mtd Fixes to block2mtd.c - the previous driver was only compile-tested: o Corrected copyright statements and some comments. o Renamed blockmtd to block2mtd. o Fixed the newline handling, it oopsed the kernel if no erase size was passed. o Replaced some printk() by INFO(). o Tried (but failed) to replace the readahead code. Signed-off-by: Jörn Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swiotlb: fix gcc printk warning swiotlb: Fix gcc printk format warning on x86_64, OK for ia64: arch/ia64/lib/swiotlb.c:351: warning: long unsigned int format, long long unsigned int arg (arg 2) Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] I2O: fix possible race condition and minor improvements - I2O Block OSM contained a possible race condition (by Wolfram Joost) - In pci.c the memory area which will be synced was wrong (original from Wolfram Joost) - number of OSM's which could be loaded is increased from 4 to 8 Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] I2O: printk cleanup and unnecessary code removal - removed commented part in header which is not used anymore - added wrappers for printk to make code more readable - cleaned up logging output and removed unneccessary output Signed-off-by: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/ea: revert old ea-in-inode patch Revert the recently-added (post-2.6.10) ea-in-inode speedup patch. We have a new one. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: mbcache cleanup There is no need to export struct mb_cache outside mbcache.c. Move struct mb_cache to fs/mbcache.c and remove the superfluous struct mb_cache_entry_index declaration. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Race in ext[23] xattr sharing code Andrew Tridgell and Stephen C. Tweedie have reported two different Oopses caused by a race condition in the mbcache, which is responsible for extended attribute sharing in ext2 and ext3. Stephen tracked down the bug; I did the fix. Explanation: The mbcache caches the locations and content hashes of xattr blocks. There are two access strategies: [1] xattr block disposal via mb_cache_entry_get(), [2] xattr block reuse (sharing) via mb_cache_entry_find_{first,next}(). There is no locking between the two methods, so between one mb_cache_entry_find_x and the next, a mb_cache_entry_get might come in, unhash the cache entry, and change the journaling state of the xattr buffer. Subsequently, two things can happen: [a] the next mb_cache_entry_find_x may try to follow the mbcache hash chain starting from the entry that has become unhashed, which now is a stale pointer, [b] the block may have become deallocated, and then we try to reuse it. Fix this by converting the mbcache into a readers-writer style lock, and protect all block accesses in ext2/ext3 by the mbcache entry lock. This ensures that destroying blocks is an exclusive operation that may not overlap xattr block reuse, while allowing multiple "re-users". Write access to the xattr block's buffer is protected by the buffer lock. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Ext3: do not use journal_release_buffer The use of journal_release_buffer is unsafe; it can overflow the journal: When a buffer is stolen from a transaction and later removed from that transaction with journal_release_buffer, the buffer is not accounted to the transaction that now "owns" the buffer, and one extra credit appears to be available. Don't use journal_release_buffer: We did rely on the buffer lock to synchronize xattr block accesses, and get write access to the buffer first to get atomicity. Return the mb_cache_entry from ext3_xattr_cache_find instead, and do the check/update under its lock. Only get write access when we know we will use the buffer. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Ext3: factor our common xattr code; unnecessary lock The ext3_xattr_set_handle2 and ext3_xattr_delete_inode functions contain duplicate code to decrease the reference count of an xattr block. Move this to a separate function. Also we know we have exclusive access to the inode in ext3_xattr_delete_inode; there is no need to grab the xattr_sem lock. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Ext[23]: no spare xattr handler slots needed The ext3_xattr_set_handle2 and ext3_xattr_delete_inode functions contain duplicate code to decrease the reference count of an xattr block. Move this to a separate function. Also we know we have exclusive access to the inode in ext3_xattr_delete_inode; there is no need to grab the xattr_sem lock. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Cleanup and prepare ext3 for in-inode xattrs Clean up several things in the xattr code, and prepare it for in-inode attributes: * Add the ext3_xattr_check_names, ext3_xattr_check_block, and ext3_xattr_check_entry functions for checking xattr data structures. * Add the ext3_xattr_find_entry, ext3_xattr_list_entries, and ext3_xattr_set_entry functions for manipulating xattr entries. Switch to using these functions in ext3_xattr_get, ext3_xattr_list, and ext3_xattr_set_handle. * Merge ext3_xattr_set_handle and ext3_xattr_set_handle2. * Rename the HDR and FIRST_ENTRY macros. * We have no way to deal with a ext3_xattr_cache_insert failure, so make it return void. * Make the debug messages more useful. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: Hide ext3_get_inode_loc in_mem option The in_mem optimization in ext3_get_inode_loc avoids a disk read when only the requested inode in the block group is allocated: In that case ext3_get_inode_loc assumes that it can recreate the inode from the in-memory inode. This is incorrect with in-inode extended attributes, which don't have a shadow copy in memory. Hide the in_mem option and clarify comments; the subsequent ea-in-inode changes the in_mem check as required. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3/EA: In-inode extended attributes for ext3 This started of as a patch by Alex Tomas and got an overhaul by me. The on-disk structure used is the same as in Alex's original patch. Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ioctl rework #2 - add ->unlocked_ioctl method and a do_ioctl wrapper in ioctl.c so all places calling ->ioctl get it. THis provides us a patch to migrate away from holding bkl across ioctl implementations. - add ->compat_ioctl method and call it in compat_sys_ioctl before doing the hash lookup for registered handlers. - streamline compat_sys_ioctl and move the complex error reporting into a function of its own From: "Michael S. Tsirkin" Handle generic ioctl commands by falling back on static conversion functions in fs/compat_ioctl.c on -ENOIOCTLCMD code. From: "Michael S. Tsirkin" With new unlocked_ioctl and ioctl_compat, ioctls can now be as fast as read/write. So lets use fget_light/fput_light there, to get some speedup in common case on SMP. Signed-off-by: Michael s. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] macros to detect existance of unlocked_ioctl and ioctl_compat To make life bearable for out-of kernel modules, the following patch adds 2 macros so that existance of unlocked_ioctl and ioctl_compat can be easily detected. Signed-off-by: Michael S. Tsirkin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix coredump_wait deadlock with ptracer & tracee on shared mm In the oddball situation where one thread is using ptrace on another thread sharing the same mm, and then someone sharing that mm causes a coredump, there is a deadlock possible if the traced thread is in TASK_TRACED state. It leaves all the threads sharing that mm wedged and permanently unkillable. This patch checks for that situation and brings a thread out of TASK_TRACED if its tracer is part of the same coredump (i.e. shares the same mm). It's not pretty, but it does the job. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix race between core dumping and exec with shared mm When threads are sharing mm via CLONE_VM (linuxthreads, vfork), there is a race condition where one thread doing a core dump and synchronizing all mm-sharing threads for it can deadlock waiting for another thread that just did an exec and will never synchronize. This patch makes the exec_mmap check for a pending core dump and punt the exec to synchronize with that, as if the core dump had struck before entering the execve system call at all. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix exec deadlock when ptrace used inside the thread group If one thread uses ptrace on another thread in the same thread group, there can be a deadlock when calling exec. The ptrace_stop change ensures that no tracing stop can be entered for a queued signal, or exit tracing, if the tracer is part of the same dying group. The exit_notify change prevents a ptrace zombie from sticking around if its tracer is in the midst of a group exit (which an exec fakes), so these zombies don't hold up de_thread's synchronization. The de_thread change ensures the new thread group leader doesn't wind up ptracing itself, which would produce its own deadlocks. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ptrace: unlocked access to last_siginfo (resending) Since Roland changed now to wakeup tracee with kill, I guess this needs to be fixed. http://linus.bkbits.net:8080/linux-2.5/gnupatch@41e3fe5fIRH-W3aDnXZgfQ-qIvuXYg ptrace_setsiginfo/ptrace_getsiginfo need to do locked access to last_siginfo. ptrace_notify()/ptrace_stop() sets the current->last_siginfo and sleeps on schedule(). It can be waked up by kill signal from signal_wake_up before debugger wakes it up. On return from schedule(), the current->last_siginfo is reset. Signed-off-by: Prasanna Meda Acked-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] clear false pending signal indication in core dump When kill is used to force a core dump, __group_complete_signal uses the group_stop_count machinery to stop other threads from doing anything more before the signal-taking thread starts the coredump synchronization. This intentionally results in group_stop_count always still being > 0 when the signal-taking thread gets into do_coredump. However, that has the unintended effect that signal_pending can return true when called from the filesystem code while writing the core dump file. For NFS mounts using the "intr" option, this results in NFS operations bailing out before they even try, so core files never get successfully dumped on such a filesystem when the crash was induced by an asynchronous process-wide signal. This patch fixes the problem by clearing group_stop_count after the coredump synchronization is complete. The locking I threw in is not directly related, but always should have been there and may avoid some potential races with kill. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: remove IRQ_TYPE_TIME IRQ_TYPE_TIME is unused in the whole kernel, so remove it. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: ignore driver IRQ mask As its just one pin which can be used for IRQs on PCMCIA/CardBus cards, and only the _socket drivers_ care with which IRQ this pin is connected, only the socket drivers (assisted by the PCCARD core) should care about which IRQ to use. Therefore, ignore the information passed to pcmcia_request_irq() in IRQInfo2. In additional patches, all in-kernel users of IRQInfo2 will be removed; users wishing to influence the usage of IRQs can do so by modifying several driver's irq_mask parameter and/or by adding "exclude irq 3" to /etc/pcmcia/config.opts. Note that a new sysfs-based interface to do so will be added in subsequent patches. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: remove irq_mask and irq_list parameters from PCMCIA drivers Remove the now useless irq_mask and irq_list parameters from PCMCIA drivers. Users should use either the socket driver's irq_mask / irq_list parameter or use /sys/class/pcmcia_socket/pcmcia_socket%n/card_irq_mask which will be added in a subsequent patch. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: use irq_mask to mark IRQs as (un)usable Unset bits in the per-socket irq_mask to mark IRQs as unusable, if asked to do so by the user in /etc/pcmcia/config.opts Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: remove racy try_irq() Remove the racy try_irq/check_irq/undo_irq interface, and try to register the correct handler directly in pcmcia_request_irq(). Also, simplify the IRQ usage database, but avoid using the same IRQ twice. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: modify irq_mask via sysfs Allow to modify the per-socket irq_mask via sysfs. Note that you can only clear bits from the mask, but not re-add bits. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pcmcia: remove #includes in rsrc_mgr which aren't necessary any longer Remove #includes in rsrc_mgr which are no longer needed. Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] serial: MPSC driver Patch for the Marvell MultiProtocol Serial Controller (MPSC). This ctlr is on a series of host bridges (and other things) for PPC and MIPS processors. The ctlr operates similar to a typical network controller with send and receive rings. Unfortunately there are many errata so you will see some "unusual" things in the code. For example: a) An erratum prevents the reading of several registers on the ctlr (writing is okay). To work around that, a local copy of what the registers are is kept and special macros are used to access those mirrored values. b) Another erratum says that the MPSC cannot be used to access cache coherent memory (and many of the systems I use are cache coherent). However, it seems to work okay as long as there are no snoop hits so there are macros in the code to manually manage the caches to prevent snoop hits. Each macro checks a flag to see if the manual cache mgmt is necessary as not all versions have the erratum. The driver seems to work well but more testing is needed and it is lacking KGDB support. I will get to both of those in time. Signed-off-by: Mark A. Greer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Cleanup broken edid fixup code Check first if EDID block came from a broken display before fixing. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Catch blank events on both device and console level Call fb_blank() instead of info->fbops->fb_blank() to capture events on both device and console level. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbcon: Fix compile error Fix missing symbol (fb_con) Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Fbmon cleanup While browsing the video/fbcon.c source file (Linux 2.6.10-rc3) I found some possible cleanups. Patch follows, feel free to apply all or parts of it if it looks OK to you. Remove unnecessary bit operations. Signed-off-by: Jean Delvare Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i810fb: Module param fix Last parameter is file permition in sysfs, not default value. (If 0, file is not accessible trough sysfs, and that's what i did.) Signed-off-by: Domen Puncer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] atyfb: Fix module parameter descriptions This patch syncs up the module parameter descriptions in aty128fb for module parameters "mode_option" and "nomtrr". Without the patch bad parameter names are used with MODULE_PARM_DESC(). Signed-off-by: Magnus Damm Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radeonfb: Fix init/exit section usage Fix 3 instances of calling exit section function from text or init: Error: ./drivers/video/aty/radeon_base.o .text refers to 000029e5 R_386_PC32 .exit.text Error: ./drivers/video/aty/radeon_base.o .text refers to 00002a60 R_386_PC32 .exit.text Error: ./drivers/video/aty/radeon_base.o .init.text refers to 00000192 R_386_PC32 .exit.text Signed-off-by: Randy Dunlap Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] pxafb: Reorder add_wait_queue() and set_current_state() Reorder set_current_state() and add_wait_queue(). There is a chance that a signal could be missed in between the two functions currently. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sa1100fb: Reorder add_wait_queue() and set_current_state() Reorder add_wait_queue() and set_current_state() as a signal could be lost in between the two functions. Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] backlight: Add Backlight/LCD device basic support From: Andrew Zabolotny Here's a patch that adds basic support for controlling backlight lamps and lcd panels. The drivers can be controlled via sysfs, which makes it easy to use both from scripts and programs. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fbdev: Add w100 framebuffer driver Add a framebuffer driver for the ATI w100 as found on several Sharp PDAs Signed-off-by: Richard Purdie Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix typo in arch/i386/Kconfig Signed-off-by: Vadim Lobanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: whitespace doh Someone actually spotted this already. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: entropy debugging improvements Print pool entropy counts in all entropy debugging messages Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: run-time configurable debugging Add run-time switchable entropy debugging. Entire debug infrastructure remains compiled out by default. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: periodicity detection fix The input layer is now sending us a bunch of events in a row for each actual event. This shows up weaknesses in the periodicity detector and using the high clock rate from get_clock: each keystroke is getting accounted as 10 different maximal-entropy events. A brief touch on a trackpad will generate as much as 2000 maximal entropy events which is more than 2k of /dev/random output. IOW, we're WAY overestimating input entropy. Here's one keystroke: random 0024 0000 0000: mouse event random 0035 0000 0000: added 11 entropy credits to input random 0035 0000 0000: mouse event random 0046 0000 0000: added 11 entropy credits to input random 0046 0000 0000: mouse event random 0056 0000 0000: added 10 entropy credits to input random 0056 0000 0000: keyboard event random 0067 0000 0000: added 11 entropy credits to input random 0067 0000 0000: mouse event random 0078 0000 0000: added 11 entropy credits to input random 0078 0000 0000: awake random 0078 0000 0000: reading 128 bits random 0078 0000 0000: going to reseed blocking with 128 bits (128 of 0 requested) random 0078 0000 0000: trying to extract 128 bits from input random 0006 0000 0000: debiting 72 entropy credits from input random 0006 0072 0000: added 72 entropy credits to blocking random 0006 0072 0000: trying to extract 128 bits from blocking random 0006 0000 0000: debiting 72 entropy credits from blocking random 0006 0000 0000: read got 72 bits (56 still needed) random 0006 0000 0000: reading 56 bits random 0006 0000 0000: going to reseed blocking with 64 bits (56 of 0 requested random 0006 0000 0000: trying to extract 64 bits from input random 0006 0000 0000: debiting 0 entropy credits from input random 0006 0000 0000: trying to extract 56 bits from blocking random 0006 0000 0000: debiting 0 entropy credits from blocking random 0006 0000 0000: read got 0 bits (56 still needed) random 0006 0000 0000: sleeping random 0006 0000 0000: mouse event random 0017 0000 0000: added 11 entropy credits to input random 0017 0000 0000: mouse event random 0028 0000 0000: added 11 entropy credits to input random 0028 0000 0000: mouse event random 0038 0000 0000: added 10 entropy credits to input random 0038 0000 0000: keyboard event random 0049 0000 0000: added 11 entropy credits to input random 0049 0000 0000: mouse event random 0060 0000 0000: added 11 entropy credits to input The first step to fixing this is to check periodicity and estimate entropy against a slow clock like jiffies. We continue to mix in get_clock() rather than jiffies where available. This throws away most of the duplicate events and gives us more sensible entropy estimates, but we still duplicates from input.c and keyboard.c. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] random: add_input_randomness The input layer wants to send us an entropy event per input event and who are we to argue? Create add_input_randomness with an input-friendly interface and kill the remaining two keyboard and mouse sources. This eliminates lots of duplicate entropy events while covering all the input bases nicely. We now get two events per keystroke as we should, one down and one up. Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] various Kconfig fixes Here are some Kconfig fixes: - typo fixes - unused token removes (empty or duplicated 'help') - non ASCII characters replaces - e-mail address and URL format corrections Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix typo in drivers/char/Kconfig Signed-off-by: Vadim Lobanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Generic IRQ support for PA-RISC Make PA-RISC use the generic interrupt handling code. We need one tiny change to the generic code -- the addition of a data pointer to irq_desc. This shouldn't be a problem in terms of increasing size of irq_desc for other architectures as the struct is cacheline aligned. It's now 32 bytes on 32-bit platforms and 44/48 bytes on 64-bit platforms (assuming spinlock_t is 4 bytes on 32-bit and 4 or 8 bytes on 64-bit). Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC Cache flush optimisation Cache flush optimization for UP/SMP; remove hardcoded threshold for selecting whole cache vs region flush From: Randolph Chung Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: parisc_device diet - Remove parent/child/sibling links from parisc_device in favour of the ones in the embedded struct device. - Display irq and device IDs through sysfs - Translate a PA-RISC firmware path into a struct device (Thibaut Varene) Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC defconfig updates Defconfig updates from Grant Grundler and Paul Bame Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Misc Dino fixes - Removes the hardware path from /proc/interrupts for Dino to make it consistant with the rest of /proc/interrupts Signed-off-by: Ryan Bradetich - Remove iomem related warnings from dino.c Signed-off-by: Kyle McMartin - Convert SPIN_LOCK_UNLOCKED to spin_lock_init (Thomas Gleixner) Signed-off-by: Thomas Gleixner Acked-by: Ingo Molnar Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Misc HPUX emulation cleanups - Remove declaration of sys_setpgid - __user annotations - Rewrite hpux_statfs - Add hpux_fstatfs Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] iomap for PA-RISC Implement the iomap interfaces on PA-RISC Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: More PDC procedures Add PDC Stable Storage wrappers (Thibaut Varene) Rewrite PDC Initiator (Matthew Wilcox) Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Remove unused serial definitions Remove some unused definitions Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: ptrace fix Fix ptrace(SINGLESTEP) through system call Signed-off-by: Randolph Chung Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Fix _syscallN wrappers Fix _syscallN wrappers (Mike Frysinger) Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Sort out io accessors - sparse annotations for ioremap/iounmap (Randolph Chung) - Turn gsc_readb, __raw_readb and readb functions into static inline functions (Matthew Wilcox) - Document the difference between the gsc_readb, __raw_readb and readb families of functions (Matthew Wilcox) - Add a debugging option to determine when they are being used incorrectly (Matthew Wilcox) - Make memcpy_fromio's second argument const (Matthew Wilcox) Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] PA-RISC: Remove unused file Remove unreferenced file Signed-off-by: Domen Puncer Signed-off-by: Grant Grundler Signed-off-by: Matthew Wilcox Signed-off-by: Linus Torvalds [PATCH] x86_64: fix crash on get_user_pages of ia32 vsyscall page before it's faulted in God invented symbolic names to help you. Repeating magic constants by hand is begging to lose, especially when you get them wrong. Don't be a loser. [ Editor's hint: 0xfffe000 vs 0xffffe000 ] Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [PATCH] final csum_and_copy_from_user gcc4 warning fixes The build is clean now. [ARM] Fix profile_pc() for SMP profile_pc() used thread_saved_fp() with the current task. However, thread_saved_fp() only returns sane values when called for threads which are presently sleeping, so this caused an oops. Instead, use regs->ARM_fp, which correspond with the frame pointer. [PATCH] Fix a BKL imbalance in the NFS locking code. Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds [PATCH] Fix an Oopsable condition in the NFS locking Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds [PATCH] RPCSEC_GSS: Fix a refcount leak RPC: Fix a module refcount leak in RPCSEC_GSS Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds [PATCH] RPC: fix crrefresh() operations for AUTH_NULL and AUTH_SYS Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds [ARM PATCH] 2407/1: S3C2410 - remove fixed base from IIS registers Patch from Ben Dooks Remove the fixed base address from the IIS registers, and add missing defines for the IISPSR register Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2408/1: S3C2410 - dma get position call Patch from Ben Dooks Add call to find out the current source and destination of the given dma channel Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2409/2: BAST - nand slot description Patch from Ben Dooks Add platform device data for the NAND slot and chips on the Simtec BAST (EB2410ITX) for the 3 chips and SmartMedia slot. Note, this does not yet support hot-plug for the SmartMedia slot. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2410/1: pxa-regs.h: Complete/fix I2S GPIO modes definitions Patch from Giorgio Padrin Completes/fixes I2S GPIO modes definitions in file pxa-regs.h . Needed by sound drivers using I2S interface; based onofficial microprocessor documentation. Signed-off-by: Giorgio Padrin Signed-off-by: Russell King PCI: move pcie build into the drivers/pci/ subdirectory Signed-off-by: Greg Kroah-Hartman [ARM PATCH] 2405/1: PXA Corgi - Add w100fb device definition Patch from Richard Purdie Add w100fb device definition to enable the framebuffer device on the corgi machines (Sharp SL-C7xx). Signed-off-by: Richard Purdie Signed-off-by: Russell King [ARM PATCH] 2406/1: PXA Corgi - Add MMC Support Patch from Richard Purdie Add MMC support to enable the MMC device on the corgi machines (Sharp SL-C7xx). This is a standard PXA implementation except the interrupt needs to be delayed to see card removals. Applies after 2405/1. Signed-off-by: Richard Purdie Signed-off-by: Russell King [NETLINK]: Orphan SKBs in netlink_trim(). This makes the skb->truesize modifications always OK. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PKT_SCHED]: Fix c99ism in cls_api.c Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [IPV6]: Fix EUI64 generation on S/390. - put a dev_id field in struct net_device, so that it uses space that would be wasted by padding otherwise. - if this fields is non-null let ipv6_generate_eui64 use the algorithm from the QETH code to generate an EUI that's different for each OS instance. See code comments for details. Signed-off-by: David S. Miller [TG3]: Always copy receive packets when 5701 PCIX workaround enabled. Signed-off-by: Arthur Kepner Signed-off-by: David S. Miller [TG3]: Update driver version and reldate. Signed-off-by: David S. Miller [NETFILTER]: Fix overlapping expectations in existing expectation code Change kmem_cache_free() calls in ip_conntrack_expect_related() to ip_conntrack_expect_put(): they should be equivalent but allows a hack in next patch (caller can keep expect). More importantly, a previous expectation should only be refreshed and return EEXIST if it's owned by the same connection (nfsim found this bug). Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Call NAT helper modules directly from conntrack modules, fixup FTP Currently connection tracking and NAT helper modules for a protocol interact only indirectly (the conntrack module places information in the conntrack structure, which the NAT module pulls out). This leads to several issues: 1) Both modules must know what port to watch, and must match. 2) Identifying the particular packet which created the connection is cumbersome (TCP) or impossible (UDP). 3) The connection tracking code sets up an expectation which the NAT code then has to change. 4) The lack of direct symbol dependencies means we have to contrive one, since they are functionally dependent. Here is the current code flow: FTP CONTROL PACKET: NF_IP_PRE_ROUTING: ip_conntrack_in resolve_normal_ct init_conntrack: sets ct->helper to ip_conntrack_ftp.c:help() ct->help(): if PORT/PASV command: Sets exp->help.exp_ftp_info to tcp seq number of data. ip_conntrack_expect(): expects the connection ip_nat_setup_info: sets ct->nat.info->helper to ip_nat_ftp.c:help() ip_nat_fn: proto->exp_matches_pkt: if packet matches expectation ct->nat.info->helper(): If packet going client->server, and packet data is one in ct_ftp_info: ftp_data_fixup(): ip_conntrack_change_expect(): change the expectation Modify packet contents with new address. NF_IP_POST_ROUTING: ip_nat_fn ct->nat.info->helper(): If packet going server->client, and packet data is one in ct_ftp_info: ftp_data_fixup(): ip_conntrack_change_expect(): change the expectation Modify packet contents with new address. FTP DATA (EXPECTED) CONNECTION FIRST PACKET: NF_IP_PRE_ROUTING: ip_conntrack_in resolve_normal_ct init_conntrack: set ct->master. ip_nat_fn: master->nat.info.helper->expect() Set up source NAT mapping to match FTP control connection. NF_IP_PRE_ROUTING: ip_nat_fn: master->nat.info.helper->expect() Set up dest NAT mapping to match FTP control connection. The new flow looks like this: FTP CONTROL PACKET: NF_IP_PRE_ROUTING: ip_conntrack_in resolve_normal_ct init_conntrack: sets ct->helper to ip_conntrack_ftp.c:help() NF_IP_POST_ROUTING: ip_confirm: ct->helper->help: If !ip_nat_ftp_hook: ip_conntrack_expect(). ip_nat_ftp: set exp->oldproto to old port. ip_conntrack_change_expect(): change the expectation set exp->expectfn to ftp_nat_expected. Modify packet contents with new address. FTP DATA (EXPECTED) CONNECTION FIRST PACKET: NF_IP_PRE_ROUTING: ip_conntrack_in resolve_normal_ct init_conntrack: set ct->master. call exp->expectfn (ftp_nat_expected): call ip_nat_follow_master(). The big changes are that the ip_nat_ftp module sets ip_conntrack_ftp's ip_nat_ftp_hook when it initializes, so it calls the NAT code directly when a packet containing the expect information is found by the conntrack helper: and this interface can carry all the information these two want to share. Also, that conntrack helper is called as the packet leaves the box, so there are no issues with expectations being set up before the packet has been filtered. The NAT helper doesn't need to register and duplicate the conntrack ports. The other trick is ip_nat_follow_master(), which does the NAT setup all at once (source and destination NAT as required) such that the expected connection is NATed the same way the master connection was. We also call ip_conntrack_tcp_update() (which I incidentally neatened) after mangling a TCP packet; ip_nat_seq_adjust() does this, but now mangling is done at the last possible moment, after ip_nat_seq_adjust() was already called. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Fix up IRC, AMANDA, TFTP and SNMP Fixes up the other helpers for direct conntrack->NAT helper calling. SNMP doesn't really need a conntrack helper, but under this new model, the NAT helper will register at that point anyway: NAT helpers themselves are removed. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Simplify expect handling Now we've changed expect handling, we can simplify it significantly. 1) struct ip_conntrack_expect only exists until the connection matching it is created. Now NAT is done directly at the time the expectation is matched, we don't need to keep this information around. 2) The term 'master' is used everywhere to mean the connection that expected this connection. The 'master' field in the new connection points straight to the master connection, and holds a reference. 3) There is no direct link from the connection to the expectations it has created: we walk the global list to find them if we need to clean them up. Each expectation holds a reference. 4) The ip_conntrack_expect_tuple_lock is now a proper subset of ip_conntrack_lock, so we can eliminate it. 5) Remove flags from helper: the policy of evicting the oldest expectation seems to be appropriate for everyone. 6) ip_conntrack_expect_find_get() and ip_conntrack_expect_put() are no longer required. 7) Remove reference count from expectations, and don't free when we fail ip_conntrack_expect_related(): have user call ip_conntrack_expect_free(). Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Make expectations timeouts compulsory This patch simplifies the code by always having expectation timeouts. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Remove remaining multirange related code From: KOVACS Krisztian Hi Rusty, Your recent patch which removed the byipsproto hash left some unused code around. The following patch cleans up that. I'm not sure it's correct, but please take a look at it. Signed-off-by: David S. Miller [NETFILTER]: Adrian Bunk's cleanup patches Adrian Bunk's cleanup patch, updated for after all the Rusty patches. The ip_nat_protocol_register/unregister EXPORT_SYMBOLs() stay, as they are used by future patches. Signed-off-by: Adrian Bunk Signed-off-by: Rusty Russell (modified) Signed-off-by: David S. Miller [NETFILTER]: Remove manip array from conntrack entry Original patch and multo bugfixes by Krisztian Kovacs. Now NAT has been simplified, there is only one place to NAT each packet. That means we can intuit what to do by looking at the difference between this packet and the reply we expect, getting rid of the manips[] array in the connection tracking structure, which is 72 bytes. Rework NAT to be based on 'change this packet to make src/dst look like this tuple'. 1) Each protocol's manip_pkt takes a 'struct ip_conntrack_manip', which is half (the source half) of a tuple. Hand the whole desired tuple to the NAT code and have it use the 'maniptype' arg to decide what part to copy. 2) Krisztian points out that we don't need the NAT lock to read the NAT information (or the tuples) as they never change once set, and while being set we have exclusive access. A lock is only needed to deal with only remaining NAT list: the bysource hash. 3) We don't need to rehash for the bysource hash: it depends on the incoming packet, which we can't change. 4) Many NAT functions only need the maniptype they are to perform, not the actual hook, which makes the code clearer. 5) New status bits to indicate what NAT needs to be done. We can always figure it out by inverting the tuple we expect in the other direction and comparing it, but this is faster. 6) Rename 'do_bindings' to 'nat_packet'. 7) ICMP handing is vastly simplified: we unconditionally change to look the way we want. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Remove ip_conntrack_tuple_hash 'ctrack' pointer We keep a pointer from the hash table entry into the connection tracking entry it's a part of. However, there's a spare byte in the hash entry anyway, which we can use to indicate which of the two tuples it is, and the simply use container_of() to access the conntrack. This saves two pointers per connection tracking entry. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Use a bit in conntrack status to indicate sequence number adjustment Rather than calling the sequence adjustment code on every connection which has a helper, we can set a status bit on the conntrack when we change the length of a TCP packet, and use that to indicate that we should call the routine. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Get rid of 'initialized' in nat structure: use conntrack status bits Fairly simple patch to move the 'initialized' NAT bitfield to bits in the 'status' word. This saves the size of a pointer from the connection tracking structure. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NETFILTER]: Don't cacheline align slab allocs Anton points out that cacheline aligning conntrack entries is a wank. He's right: there's lots of them, and they're currently ~200 bytes. Same with the cargo-cult programming in ipt_hashlimit. Signed-off-by: Rusty Russell Signed-off-by: David S. Miller [NET]: net/802/: some cleanups This patch contains the following cleanups: - make some needlessly global code static - net/802/hippi.c: remove the unused global function hippi_net_init - net/8021q/vlan.c: remove the global variable vlan_default_dev_flags that was never changed Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [TCP]: Remove tcp_pcount_t IMHO the TSO stuff has mostly settled down now. As a result tcp_pcount_t is now more of a liability in that it reduces the readability of the code. So here is a patch to remove it. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Use unlocked_ioctl for sock_ioctl. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller [NETFILTER]: Fix build by putting back ip_nat_lock extern in ip_nat.h Signed-off-by: David S. Miller [NETFILTER]: Remove no longer needed symbol exports. Rusty removed ip_nat_helper_{register,unregister} and {__,}ip_nat_find_helper but left the symbol exports in by mistake. Signed-off-by: David S. Miller [IPX] use a private slab cache for socks Renaming ipx_opt to ipx_sock, tested with mars-nwe/ncpmount. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [ARM] Add CPU number to cache information lines. [ARM PATCH] 2412/1: Fix IXP2000 gettimeofday() implementation (again) Patch from Deepak Saxena Previous fixed showed negative time flow every few hours during extensive testing. This new version is much simpler and has been tested w/o any failures. Signed-off-by: Deepak Saxena Signed-off-by: Russell King [ARM PATCH] 2413/1: VR1000 - add serial ports to vr1000-map.h Patch from Ben Dooks Add definition of the extra serial port area to the file include/asm-arm/arch-s3c2410/vr1000-map.h Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2414/1: VR1000 - add serial platform device Patch from Ben Dooks Serial platfrom device to add ttyS0..ttyS4 to the system. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2415/1: VR1000 - add platform device for flash Patch from Ben Dooks Add platform device for the onboard site for NOR flash, similar to the Simtec BAST (EB2410ITX) Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2416/1: S3C2410 - default configuration update Patch from Ben Dooks Update default configuraiton, configure support for the common flash chips seen on 2410 board. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2417/1: update collie to use scoop driver Patch from John Lenz Update collie machine to use the new scoop driver written by Richard Purdie. Signed-off-by: John Lenz Signed-off-by: Russell King [XFRM]: Unexport xfrm_policy_delete Signed-off-by: Adrian Bunk Signed-off-by: David S. Miller [TCP]: Do not try to collapse multi-packet SKBs. Signed-off-by: David S. Miller [NETFILTER]: Fix SNMP nat build. 1) move ip_nat_protocol_register/unregister since lock is now static. 2) fix ip_nat_snmp_basic: may not work, but now compiles. Signed-off-by: David S. Miller [IPV6]: Ensure to learn link-layer address from RA. Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [IPV6]: IPoIB link addr option needs two byte pad. Anand Parthasarathy pointed out that draft-ietf-ipoib-ip-over-infiniband-09.txt says: [DISC] specifies the length of source/target option in number of 8-octets as indicated by a length of '3' above. Since the IPoIB link-layer address is only 20-octet long, two octets of zero MUST be prepended to fill the total option length of 24 octets. The current Linux neighbour discovery code puts the padding after the link address. This patch fixes up ndisc.c to put the padding in the correct place by adding a general ndisc_addr_option_pad() function (which could be used in the future if someone ever implements RFC 3831 IPv6-over-FC or some other encapsulation that requires padding). Signed-off-by: Roland Dreier Signed-off-by: David S. Miller [ATM]: [drivers] pci_enable_device() before finding irq Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [lec] rewrite to eliminate lec_arp_users in favor of lec_arp_lock Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [he] remove dead code and unneeded zero initializers Signed-off-by: Marcel Sebek Signed-off-by: Domen Puncer Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: change atm address functions to use list_add Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: avoid race between svc_disconnect and sigd exiting Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [ambassador] use msleep() instead of schedule_timeout() Signed-off-by: Nishanth Aravamudan Signed-off-by: Domen Puncer Signed-off-by: Chas Williams Signed-off-by: David S. Miller [ATM]: [idt77252] vfree() checking cleanups Signed-off by: James Lamanna Signed-off-by: Domen Puncer Signed-off-by: Chas Williams Signed-off-by: David S. Miller [PKT_SCHED]: cls_rsvp: fix tcf_exts fallout The continue is supposed to continue the outer loop, not break out of the do { } while (0) loop. cls_route.c is also changed in a similar way for clarity, although it behaved correctly. Signed-off-by: Patrick McHardy [PKT_SCHED]: cls_api.c: fix module reference leak on module load Signed-off-by: Patrick McHardy [PKT_SCHED]: cls_route: fix tcf_exts fallout handle is computed wrong, this makes creating a filter not using "from" fail. Signed-off-by: Patrick McHardy [PKT_SCHED]: fix CONFIG_NET_CLS_ACT skb leaks in HFSC/CBQ Both HFSC and CBQ leak unclassified skbs with CONFIG_NET_CLS_ACT. Move freeing to enqueue where it belongs. Same change for in HTB/prio, they just don't leak because they don't have unclassified packets. Signed-off-by: Patrick McHardy Fix x87 fnsave Tag Word emulation when using FXSR (SSE) From: Roland McGrath The fxsave instruction does not save the x87 tag word (only the empty bits), and we re-created the old-style x87 tags incorrectly. The registers are saved in "stack order" in the save area, but the tag word bits are in "hardware order", and we need to get the right register state. Both x86 and x86-64 needed this fix. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [ARM] Clean up lookup of processor and machine types. Rather than having an assembly and C version performing the same lookup, re-use the assembly version with a C wrapper around it. This removes the duplication. Signed-off-by: Russell King [ARM] Remove "ipimask" from do_IPI() We don't practically use ipimask for anything anymore; remove it. [IPV6]: kill needless initialization and comparison in icmp.c I believe that compilers are clever enough, but anyway... Signed-off-by: Hideaki YOSHIFUJI Signed-off-by: David S. Miller [NETLINK]: Unshare SKB, as necessary, in netlink_trim() Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [AGPGART] i915GM support From: Alan Hourihane Signed-off-by: Dave Jones [AGPGART] remove leftovers of the inter_module_* drm <-> agp interface From: Christoph Hellwig Signed-off-by: Dave Jones [AGPGART] fix pci_get_device conversion in intel-agp - any device teardown must happen between agp_remove_bridge and agp_put_bridge, before agp_remove_bridge users can still call into the code - it's releasing a reference to the wrong device Original patch from: Christoph Hellwig Further munging from Roland Dreier and myself. Signed-off-by: Dave Jones [AGPGART] Fix CONFIG_AGP dependancies From: Christoph Hellwig Signed-off-by: Dave Jones [NET]: Close NETIF_F_LLTX race conditions. When drivers other than loopback were using the LLTX feature a race window was present. While sending queued packets, the packet scheduler layer drops the queue lock then calls directly into the drivers xmit handler. The driver then grabs it's private TX lock and goes to work. However, as soon as we've dropped the queue lock another thread doing TX processing for that card can execute a netif_stop_queue() due to the TX queue filling up. This race window causes problems because a properly coded driver should never end up in it's ->hard_start_xmit() handler if the queue on the device has been stopped and we even BUG() trap for this condition in all of the device drivers. That is how this race window was discovered by Roland and the Infiniband folks. Various suggestions were made to close this race. One of which involved holding onto the queue lock all the way into the ->hard_start_xmit() routine. Then having the driver drop that lock only after taking it's private TX lock. This solution was deemed grotty because it is not wise to put queueing discipline internals into the device drivers. The solution taken here, which is based upon ideas from Stephen Hemminger, is twofold: 1) Leave LLTX around for purely software devices that need no locking at all for TX processing. The existing example is loopback, although all tunnel devices could be converted in this way too. 2) Stop trying to use LLTX for the other devices. Instead achieve the same goal using a different mechanism. For #2, the thing we were trying to achieve with LLTX was to eliminate excess locking. We accomplish that now by letting the device driver use dev->xmit_lock directly instead of a seperate priv->tx_lock of some sort. In order to allow that, we had to turn dev->xmit_lock into a hardware IRQ disabling lock instead of a BH disabling one. Signed-off-by: David S. Miller scsi_ioctl: only warn about unknown opcodes if they are truly unknown. We could screw up and warn for opcodes that weren't write-safe and the user tried to use without having write permissions. Not so bad in itself, but that also destroyed the cmd type information. Noticed by Michal Schmidt [PATCH] ALPS touchpad detection fix My ALPS touchpad is not recognized because the device gets confused by the Kensington ThinkingMouse probe. It responds with "00 00 14" instead of the expected "00 00 64" to the "E6 report". Resetting the device before attempting the ALPS probe fixes the problem. Signed-off-by: Peter Osterlund Signed-off-by: Linus Torvalds Revert "Don't busy-lock-loop in preemptable spinlocks" patch The locking tests were wrong, and the fixes are up in the air. In the meantime, the get-it-working patch is to just not do this. Cset exclude: mingo@elte.hu[torvalds]|ChangeSet|20050115174045|30241 Remove old debugging tests. They had their time and place, but right now they are using infrastructure that is getting re-done, and we're better off just dropping them. [ARM PATCH] 2421/1: bitops.h missing `const` from find calls Patch from Ben Dooks _find_first_zero_bit_le and _find_next_zero_bit_le are missing the const from their pointer arguments, causing the following warnings: In file included from mm/page_alloc.c:34: include/linux/nodemask.h: In function `__first_unset_node': include/linux/nodemask.h:246: warning: passing arg 1 of `_find_first_zero_bit_le' discards qualifiers from pointer target type Signed-off-by: Ben Dooks Signed-off-by: Russell King Remove broken-as-designed "rwlock_is_locked()" macro rwlocks can't be "locked". They can be "locked for read", or "locked for write", but not both. The confusion this caused is evident in the long discussion about this on linux-kernel ;) [ARM PATCH] 2422/1: VR1000 - use UPF_IOREMAP for serial ports Patch from Ben Dooks Remove static mapping for serial ports and change to using UPF_IOREMAP to allow the serial driver to automatically ioremap() the ports for us. Signed-off-by: Ben Dooks Signed-off-by: Russell King Revert "x86_64/i386: increase command line size" patch It's a bootup dependancy, you can't just increase it randomly, and it breaks booting with LILO. Pointed out by Janos Farkas and Adrian Bunk. Cset exclude: ak@suse.de[torvalds]|ChangeSet|20050115232300|01174 [PATCH] minor spinlock cleanups cleanup: remove stale semicolon from linux/spinlock.h and stale space from asm-i386/spinlock.h. Ingo Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds [PATCH] x86 rwlock *_can_lock() primitives This introduces the following 3 new locking primitives: spin_can_lock(lock) read_can_lock(lock) write_can_lock(lock) which are a nonintrusive test to check whether the real (intrusive) trylock op would succeed or not. Semantics and naming is completely symmetric to the trylock counterpart. Architectures that want to support PREEMPT will need to add these definitions. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds ppc64: rwlock *_can_lock() primitives ia64: rwlock *_can_lock() primitives Trivial but untested (but also currently unused - wait for BKL PREEMPT to start using them soon). x86-64: rwlock *_can_lock() primitives [PATCH] rename 'lock' to 'slock' in asm-i386/spinlock.h This renames the x86 implementation of the spinlock_t's 'lock' field to 'slock', to protect against spinlock_t/rwlock_t type mismatches. This way, if you use a spinlock where a rwlock is expected (or vice versa), you'll get an obvious compile failure. build- and boot-tested on x86 SMP+PREEMPT and SMP+!PREEMPT. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds [PATCH] nonintrusive spin-polling loop in kernel/spinlock.c This re-implements the nonintrusive spin-polling loop for the SMP+PREEMPT spinlock/rwlock variants, using the new *_can_lock() primitives. (The patch also adds *_can_lock() to the UP branch of spinlock.h, for completeness.) build- and boot-tested on x86 SMP+PREEMPT and SMP+!PREEMPT. Signed-off-by: Ingo Molnar Signed-off-by: Linus Torvalds [CPUFREQ] Fix typo in powernow-k7 voltage table. From: Hendrik Muhs Signed-off-by: Dave Jones [AGPGART] Fix silly typo in the i915GM support patch. Spotted by Marco Cipullo Signed-off-by: Dave Jones [MMC] wbsd update Patch from Pierre Ossman This patch includes the latest changes to the wbsd driver. * Proper usage of kunmap. * Comment about hw bugs. * Waits for data transfers to finish properly. * Added module version info. * FIFO bug fix for small reads. * Optimised FIFO loop. * DMA demand mode. * IRQ race condition when sending commands fixed. [PATCH] acpi build fix drivers/acpi/debug.c:22: parse error before string constant drivers/acpi/debug.c:22: warning: type defaults to `int' in declaration of `__MODULE_INFO' drivers/acpi/debug.c:22: warning: function declaration isn't a prototype drivers/acpi/debug.c:22: warning: data definition has no type or storage class drivers/acpi/debug.c:23: parse error before string constant drivers/acpi/debug.c:23: warning: type defaults to `int' in declaration of `__MODULE_INFO' drivers/acpi/debug.c:23: warning: function declaration isn't a prototype drivers/acpi/debug.c:23: warning: data definition has no type or storage class Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mips default mlock limit fix Mips RLIMIT_MEMLOCK incorrectly defaults to unlimited, it was confused with RLIMIT_NPROC. Found while consolidating resource.h headers. Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] shared_policy_replace() fix It appears that this statement got lost during patch merging. We don't want to free the node which we just added. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] generic_file_buffered_write: handle partial DIO writes with multiple iovecs This is a patch to generic_file_buffered_write() to correctly handle partial O_DIRECT writes (because of unallocated blocks) when there is more than 1 iovec. Without this patch, the code is writing the wrong iovec (it writes the first iovec a 2nd time). Included is a test program dio_bug.c that shows the problem by: writing 4k to offset 4k writing 4k to offset 12k writing 8k to offset 4k The result is that 8k write writes the 1st 4k of the buffer twice. $ rm f; ./dio_bug f wrong value offset 8k expected 0x33 got 0x11 wrong value offset 10k expected 0x44 got 0x22 with patch $ rm f; ./dio_bug f #define _GNU_SOURCE #include #include #include #include #include main(int argc, char **argv) { int fd; char *buf; int i; struct iovec v[2]; fd = open(argv[1], O_DIRECT|O_RDWR|O_CREAT, 0666); if (fd < 0) { perror("open"); exit(1); } buf = valloc(8192); lseek(fd, 0x1000, SEEK_SET); memset(buf, 0x11, 2048); memset(buf+2048, 0x22, 2048); i = write(fd, buf, 4096); /* 4k write of 0x11 and 0x22 at 4k */ lseek(fd, 0x3000, SEEK_SET); memset(buf, 0x55, 2048); memset(buf+2048, 0x66, 2048); i = write(fd, buf, 4096); /* 4k write of 0x55 and 0x66 at 12k */ lseek(fd, 0x1000, SEEK_SET); i = read(fd, buf, 4096); memset(buf+4096, 0x33 , 2048); memset(buf+4096+2048, 0x44 , 2048); v[0].iov_base = buf; v[0].iov_len = 4096; v[1].iov_base = buf + 4096; v[1].iov_len = 4096; lseek(fd, 0x1000, SEEK_SET); i = writev(fd, v, 2); /* 8k write of 0x11, 0x22, 0x33, 0x44 at 4k */ lseek(fd, 0x2000, SEEK_SET); i = read(fd, buf, 4096); if (buf[0] != 0x33) printf("wrong value offset 8k expected 0x33 got 0x%x\n", buf[0]); if (buf[2048] != 0x44) printf("wrong value offset 10k expected 0x44 got 0x%x\n", buf[2048]); } Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix pmac kernel build with oprofile The recent oprofile changes for Motorola e500 broke oprofile for other CPUs. This patch fixes the build. Proper support for the G3/G4 PMCs would be interesting, and making sure the basic interrupt PC sampling still works on CPUs that don't have supported PMCs too... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ioctl compatibility for TIOCMIWAIT and TIOCGICOUNT This patch lets us use TIOCMIWAIT and TIOCGICOUNT from a 32-bit process on a 64-bit processor. TIOCMIWAIT uses the argument as a bitmap of things to wait for. The argument for TIOCGICOUNT points to a struct serial_icounter_struct, which only contains ints and arrays of int. Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uninline mod_page_state(offset, delta) Introduces a __mod_page_state(offset, delta) function and converts mod_page_state() to use it. Unexports and staticizes page_states per cpu variable. text data bss dec hex filename 1818704 615884 0 2434588 25261c vmlinux-old 1817632 615884 0 2433516 2521ec vmlinux-new 1072 bytes. (Adds 64 bytes without CONFIG_SMP). Signed-off-by: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix audit control message checks The audit control messages are sent over netlink. Permission checks are done on the process receiving the message, which may not be the same as the process sending the message. This patch switches the netlink_send security hooks to calculate the effective capabilities based on the sender. Then audit_receive_msg performs capability checks based on that. It also introduces the CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL capabilities, and replaces the previous CAP_SYS_ADMIN checks in audit code with the appropriate checks. - Simplified dummy_netlink_send given that dummy now keeps track of capabilities. - Many fixes based on feedback from list. - Removed the netlink_msg_type helper function. - Switch to using CAP_AUDIT_WRITE and CAP_AUDIT_CONTROL. Signed-off-by: Serge Hallyn Signed-off-by: Stephen Smalley Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] SELinux: add Netlink message types for the TC action code. This patch adds Netlink message types related to the TC action code, allowing finer grained SELinux control of this. Author: jamal Signed-off-by: James Morris Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: update cpu state save/restore This patch updates the ppc32 cpu state save/restore code to deal with the Motorola/Freescale MPC7447A, used, among others, on recent Apple laptops. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Add missing prototype This patch fixes a warning by adding a missing function prototype for enable_kernel_altivec(). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: System platform_device description, discovery and management On most embedded PPC systems we either have a core CPU and chipset (MPC10x, TSI10x, Marvell, etc.) or a system-on-chip device (4xx, 8xx, 82xx, 85xx, etc.). Some of these sub-archs have been using the On Chip Peripheral (OCP) driver model. The functionality that OCP provide has been replaced by the generic driver model and platform_device. Also, some of these device may exist across a number of architectures (PPC, MIPS, ARM) such that some information that is shared between the architecture and driver needs to exist outside of either. The ppc_sys changes add a standard way for PowerPC systems to describe the devices and systems that exist in the sub-arch. Additionally, we are able to discover which system we are and manage which devices are actually registered and any platform specific fixups that may be needed. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Infrastructure changes to MPC85xx sub-arch from OCP to platform_device - Described all devices available on current MPC85xx CPUs (mem & irq) - Added cpu descriptions for the MPC8540, MPC8541, MPC8541, MPC8555, MPC8555E, and MPC8560. * Removed OCP usage from MPC85xx sub-arch Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: convert boards from using OCP to platform_device Convert MPC8540 ADS, MPC8560 ADS, MPC8555 CDS and SBC8560 reference boards from using OCP to platform_device. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Convert gianfar ethernet driver from using an OCP to platform_device Convert gianfar ethernet driver from using an OCP to platform_device. Signed-off-by: Kumar Gala Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/4xx_io/serial_sicc.c Replace save_flags()/restore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for using spinlocks. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/8xx_io/cs4218_tdm.c Replace save_flags()/resore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for locking. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/8xx_io/fec.c Replace save_flags()/resore_flags() with spin_lock_irqsave()/spin_unlock_irqrestore() and document reasons for locking. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/platforms/apus_setup.c Replace cli() function call with local_irq_disable() in restart code on APUS. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/platforms/pal4_setup.c Replace cli() function calls with local_irq_disable() in shutdown / restart code for pal4. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/syslib/m8xx_setup.c Replace cli() function call with local_irq_disable() in shutdown code for MPC8xx platforms. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: remove cli()/sti() in arch/ppc/syslib/qspan_pci.c Replace save_flags()/resore_flags() with spin_lock_irqsave() / spin_unlock_irqrestore() and document reasons for locking in the Qspan PCI code. Signed-off-by: James Nelson Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: MPC8xx TLB Miss vs TLB Error fix There is a problem in the TLB Miss (and Error, as they jump to the Miss handler) handlers. The problem is that when an app spans more than one L1 entry, we don't have all of the correct information, and do_page_fault() things a protection fault happened, when it didn't really. The fix for this is to modify the handlers slightly to force a TLB Error in this case. Lots of suggestions from: Joakim Tjernlund Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: update_process_times simplification When the update_process_times call was moved out of do_timer for the UP case, the replicator didn't track down the hiding and just added ifndef SMP. This removes the ifdefs and the indirection of calling another file for one function in a third file. I also removed the per-cpu multipler and counter. On some architectures (x86 and sparc64) these are set via /proc/profile setup_profiling_timer to increase the timer interrupt by a factor over HZ. However, this was not not implemented for ppc (like several other architectures), so it was just decrementing, testing, and setting per-cpu variables back to 1. Signed-off-by: Milton Miller Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Remove CONFIG_IRQ_ALL_CPUS Replace CONFIG_IRQ_ALL_CPUS with a boot option (noirqdistrib). Compile options arent much use on a distro kernel. This also removes the ppc64 use of smp_threads_ready. I considered removing the option completely but we have had problems in the past with firmware bugs. In those cases the boot option would have helped. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: PCI EEH documentation This describes the PCI bus EEH "Extended Error Handling" concepts and operation. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64/ppc: Cleanup PCI skipping The g5 code has special hooks to "hide" some PCI devices when they are off. Currently, this code involves some calls to match a pci_dev from the open firmware node and such things that are causing some problems with the latest version of my sungem driver who wants to do some of this in atomic contexts. This patch moves that to a list of struct device_node instead, which also ends up simplifying the code. Later, I'll go back to manipulating PCI devices in a clean way when Brian King's PCI blocking patch gets in, but only after I change sungem again to never call these in atomic context. This is a 3 step transition basically Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: Minimum hashtable size We werent enforcing the minimum hardware MMU hashtable size. Signed-off-by: Milton Miller Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: remove some unused iSeries functions This patch removes some unused stuff from PPC64 iSeries: - asm-ppc64/iSeries/iSeries_VpdInfo.h - iSeries_GetLocationData() - LocationData structure - device_Location() Signed-off-by: Stephen Rothwell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix xenU kernel crash in dmi_iterate In unprivileged Xen domains, all that __ioremap() does is a "return NULL", which causes dmi_iterate() to crash the kernel at boot time. This trivial check bails dmi_iterate() out of the loop when it finds that the ioremap() returned a NULL pointer. (akpm: this fix goes beyond xen - ioremap can return NULL) Signed-off-by: Rik van Riel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86: use cpumask_t instead of unsigned long Current code can lead to corruption. Use cpumask_t instead of unsigned long. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i386: init_intel_cacheinfo() can be __init Correct .text references to .init.data; init_intel_cacheinfo() can be __init. Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] arch/i386/kernel/signal.c: fix err test twice Hi, the following patch: - correct the err variable tested twice when _NSIG_WORDS == 1 (unlikely to happen, but ..) - remove some |= in favor of = because we don't need to 'pack' err Signed-off-by: Vincent Hanquez Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix num_online_nodes() warning on NUMA-Q More missing nodemask.h inclusions. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: Fix CMP with interleaving Check if node exists during CMP setup and fall back to other node if needed. This avoids a crash when the NUMA node discovery fails (e.g. due to node interleaving in the BIOS or numa=off) Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86_64: fix flush race on context switch Fix a long standing race in x86-64 SMP TLB handling. When a mm is freed and another thread exits to a lazy TLB thread (like idle) the freed user page tables would be still kept loaded in the idle thread. When an interrupt does a prefetch on NULL the CPU would try to follow it and read random data. This could lead to machine checks on Opterons in some cases. Credit goes to some unnamed debugging wizards at AMD who described the problem. All blame to me. I did the fix based on their description. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] i386/x86-64: Fix SMP NMI watchdog race Fix SMP race in NMI watchdog on i386/x86-64 Fix a long standing SMP Setup race in the NMI watchdog. The watchdog would tick from very early and check if all CPUs increase their timer interrupts. For that it would check the cpu_online_map. Now if a CPU took too long to boot the watchdog would trigger prematurely because the CPU didn't increase its timer count yet. Fix is to check cpu_callin_map instead of cpu_online_map because the first is only set when a CPU started its timer interrupt. I fixed it on i386 and x86-64. Description of the problem from Manpreet Singh. Thanks. Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64: Fix pud typo in ioremap With Martin Schwidefsky Fix typo in ioremap pud conversion Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64: Fix do_suspend_lowlevel do_suspend_lowlevel doesn't have an argument anymore, but the assembly code would still test it and fail randomly. Remove the bogus test. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] x86-64: Clean up cpuid level detection Small cleanup: save the CPUID level once instead of regetting it all the time. Needed for some other patches. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] kprobes: x86_64 memory allocation changes Minor changes to the kprobes code to provide memory allocation for x86_64 architecture outside kprobes spin lock. Signed-off-by: Prasanna S Panchamukhi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] H8/300 defconfig update Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] H8/300 mm update o include/asm-h8300/mmu.h: Changeset 1.2053 support o mm/nommu.c: add __vm_enough_memory Signed-off-by: Yoshinori Sato Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] swsusp: remove O(n^2) algorithm in page relocation This removes another O(n^2) algorithm from page relocation in swsusp. Relocation took as long as reading pages from disk on my machine, and it took minutes for some poor testers. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] driver model: pass pm_message_t down to pci drivers This passes pm_message_t down to PCI drivers. Ugly translation code can be removed and this will allow PCI devices to do right thing during swsusp snapshot -- like not unneccessarily blanking display. Only obscure /sysfs code passes anything but 3 to pci_device_suspend, anyway, so this is pretty close to a nop. Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: provide an arch-specific define for register file size Replace FRAME_SIZE_OFFSET with MAX_REG_OFFSET because different arches have Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: provide some initcall definitions for userspace code Provide definitions of __initcall, __exitcall, and __init_call for userspace code. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: allow ubd devices to provide partial end blocks If the file backing a ubd device is not an even blocklength, then the last partial block is now readable, and it is padded with zeros. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: change for_each_cpu to for_each_online_cpu Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: eliminate unhandled SIGPROF on halt Fixes the "profiling timer expired" message on shutting down with profiling enabled. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix __pud_alloc definition to match the declaration Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: fix a stack corruption crash Fix a race where signals could be handled to the parent of a new process on the kernel stack of the child, corrupting that stack, and crashing UML when the next first runs. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: define __HAVE_ARCH_CMPXCHG on x86 Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] file_table:expand_files() code cleanup expand_files() cleanup: Make expand_files() common code for fork.c:fork/copy_files(), open.c:open/get_unused_fd() and fcntl.c:dup/locate_fd(). expand_files() does both expand_fd_array and expand_fd_set based on the need. This is used in dup(). open() and fork() duplicates the work of expand files. At all places we check for expanding fd array, we also check for expanding fdset. There is no need of checking and calling them seperately. This change also moves the expand_files to file.c from fcntl.c, and makes the expand_fd_array and expand_fd_set local to that file. Signed-off-by: Prasanna Meda Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Minor ext3 speedup Remove unnecessary division and modulo from ext3 code in often used paths. Without the patch an oprofile of dbench load shows ext3_get_group_desc() uses 0.84% and ext3_group_sparse() 1.51%, with the patch the numbers are 0.33% and 0.27% respectively. Signed-off-by: Jan Kara Signed-off-by: Andreas Dilger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] move read-only and immutable checks into permission() Currently it's up to the filesystem ->permission method to check whether the filesystem is readonly or the file marked immutable. But this is really a VFS decision, and the distintion becomes more important when moving to per-mountpoint read only flags. For most filesystems that have been using generic_permission this is not change in behaviour. For those that we're missing the check (cifs without CIFS_MOUNT_NO_PERM and coda [1]) this is a bugfix. Both reiserfs and xfs have this check still in their ->permission routine because they call it from other places aswell. I'll try switching them over to generic_permission and will take care of this one. [1] coda_ioctl_permission always returns 0, aka always grants access, which looks more than fishy to me. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] factor out common code around ->follow_link invocation Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] radio-typhoon: use correct module_param data type Use correct data type for module_param: drivers/media/radio/radio-typhoon.c:317: warning: return from incompatible pointer type Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] avoid sparse warning due to time-interpolator The "addr" member in the time-interpolator is sometimes used as a function-pointer and sometimes as an I/O-memory pointer. The attached patch tells sparse that this is OK. Signed-off-by: David Mosberger-Tang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] allow all architectures to set CONFIG_DEBUG_PREEMPT We think it'll work OK. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] binfmt_elf: allow mips to overrid e_flags arch/mips/kernel/binfmt_elfn32.c needs to override e_flags for elf coredumps. It already defines ELF_CORE_EFLAGS before including binfmt_elf.c, but the latter doesn't pick up the define yet. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] remove bogus softirq_pending() usage in cris Acked by Mikael Starvik. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] switch FRV to use local_soft_irq_pending The newly merged frv do_IRQ code calls softirq_pending(), but always with the current cpu as argument - switch to local_softirq_pending(). Btw, this usage look bogus to me, any reason you need to call do_softirq again after you did four lines above in irq_exit(), David? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] scripts/reference*.pl - treat built-in.o as conglomerate scripts/reference*.pl - treat built-in.o as conglomerate. Ignore references from altinstructions to init text/data. Signed-off-by: Keith Owens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] vgacon fixes to help font restauration in X11 So far the X.Org/XFree86 Xservers use internal functions to perform saving/restoring of console fonts. This doesn't work under all circumstances and has disadvantages: 1. On some platforms (IA64) X needs to POST the BIOS before it even has a chance to access the hardware itself. This POSTing will usually undo any changes to the graphics hardware that the kernel may have done. 2. More and more drivers fully rely on BIOS support. However the BIOS functions which could be used to save/restore register settings may be broken so the only way of mode save/restore is getting/setting the BIOS mode ID. This will restore the BIOSes default fonts, not the custom font that the user may have loaded. I would like to utilize the kernel's save/restore console fonts ioctls to save/restore the text mode console fonts from inside X. The patch does two things: 1. Eliminates the optimization that returns from vgacon_adjust_height() early (without reprogramming the HW) when the hight of the font hasn't changed. 2. Resets the stored 'from' and 'to' lines for the text cursor in vgacon_adjust_height() to cause vgacon_set_cursor_size() reprogram the textcursor start and end line. These are necessary to sanitize the HW in case something other than the kernel has changed the register values without restoring them properly. I'm fully aware that in the long run we will need to look into a new driver model for graphics where no two instances fight over who gets register access. However such a model won't be created nor will we get the majority of the drivers ported over night. Therefore we need to find an interim solution for the most pressing problems. Signed-off-by: Egbert Eich Approved-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Use official Unicodes for DEC VT characters The use of U+F800 to U+F804 has been deprecated since 2003; this makes the deprecation effective by replacing these characters with the officially assigned U+23BA to U+23BD. It also updates unicode.txt to match the latest version from the LANANA webpage. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext3: commit superblock before panicking I have a problem with errors=panic on ext3. When a panic occurs, the error event is not recorded anywhere. So after the reboot, e2fsck doesn't kick in, the file system gets mounted again and the box panics again... Patch below moves the ERRORS_PANIC test down a bit so the journal is aborted before panic() is called. Signed-off-by: Eric Lammerts Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] consolidate arch specific resource.h headers Most of the include/asm-*/resource.h headers are the same as one another. This patch makes one generic version, include/asm-generic/resource.h, and uses that when appropriate. The only vaguely interesting things here are that the generic version introduces a new _STK_LIM_MAX macro, which can be populated by an arch (ia64 and parisc needed that). Also, some arches hid RLIM_INFINITY under __KERNEL__, while others did not. The generic version does not, so the following arches will see that change: arm, arm26, mips, ppc, ppc64, sh (and hence sh64) And, finally, some arches maintain their own order for the resource numbers. This is now marked by __ARCH_RLIMIT_ORDER, and is used by the following arches: alpha, mips, sparc, and sparc64. This actually uncovered a mips bug (fix already sent, this patch is relative to that fix), where the default RLIMIT_MEMLOCK was set to RLIM_INFINITY and RLIMIT_NPROC set to MLOCK_LIMIT (the latter is no big deal because RLIMIT_NPROC default is overwritten dynamically during bootup in fork_init()). Also, this change makes alpha's default for RLIMIT_NPROC change from RLIM_INFINITY to 0, but again...no problem as it's dynamically overwritten during bootup. The following arches are left untouched: m68knommu: untouched (uses m68k/resource.h) sh64: untouched (uses asm-sh/resource.h) um: untouched (uses arch code already) Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Use -Wno-pointer-sign for gcc 4.0 Compiling an allyesconfig kernel straight with a gcc 4.0 snapshot gives nearly 10k new warnings like: warning: pointer targets in passing argument 5 of `cpuid' differ in signedness Since the sheer number of these warnings was too much even for the most determined kernel janitors (I actually asked ;-) and I don't think it's a very serious issue to have these mismatches I submitted an new option to gcc to disable it. It was incorporated in gcc mainline now. This patch makes the kernel compilation use it. There are still quite a lot of new warnings with 4.0 (mostly about uninitialized variables), but the compile log looks much nicer nnow. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fix INIT_SIGHAND warning on mips sa_handler isn't the first member of struct sigaction on mips. Use C99 initializers to avoid a compiler warning. (There don't seem to be more serious problems as mips worked with that warning for ages) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] add page_offset to mm.h To convert page->index to a byte index you need to cast it to loff_t first so it's a 64bit value. There have been quite a few places that got it wrong in the kernel. To make it easier a nice little helper would be nice, and in fact the NFS code already has it. Let's move it to pagemap.h so everyone can use it. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Minor IPMI driver updates This patch fixes counting of unhandled messages. Messages that were handled internally by the driver (to the NULL user) were miscounted as unhanlded responses. This counts them properly. This patch also fixes the DMI 16-byte setting, which was set as a 16-bit setting. It also uses the right value to initilize the address memory when using a memory-based interface. Signed-off-by: Corey Minyard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] completion API additions Adds 3 new completion API calls, which are a straightforward extension of the current APIs: int wait_for_completion_interruptible(struct completion *x); unsigned long wait_for_completion_timeout(struct completion *x, unsigned long timeout); unsigned long wait_for_completion_interruptible_timeout( struct completion *x, unsigned long timeout); This enables the conversion of more semaphore-using code to completions. There is code that cannot be converted right now (and is forced to use semaphores) because these primitives are missing. Thomas Gleixner has a bunch of patches to make use of them. Signed-off-by: Ingo Molnar Tested-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert XFS to unlocked_ioctl and compat_ioctl Convert the XFS ioctl handlers over to unlocked_ioctl and compat_ioctl. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Some fixes for compat ioctl While doing some compat_ioctl conversions I noticed a few issues in compat_sys_ioctl: - It is not completely compatible to old ->ioctl because the traditional common ioctls are not checked before it. I added a check for those. The main advantage is that the handler now works the same as a traditional handler even when it returns -EINVAL - The private socket ioctl check should only apply for sockets. - There was a security hook missing. Drawback is that it uses the same hook now, and the LSM module cannot distingush between 32bit and 64bit clients. But it'll have to live with that for now. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert Infiniband MAD driver to compat/unlocked_ioctl Convert MAD driver to compat/unlocked_ioctl. Streamlines the code a bit. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Support compat_ioctl for block devices Support passing down of compat_ioctl on block devices. This is needed for the compat_ioctl conversion of block drivers. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert cciss to compat_ioctl Convert the cciss driver to compat_ioctl. This cleans up a lot of code. I don't have such hardware thus this is only compile tested. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add compat_ioctl to frame buffer layer Forward compat_ioctl through the frame buffer layer. Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert sis fb driver to compat_ioctl Convert the sis framebuffer driver to compat ioctl. Signed-off-by: Andi Kleen Acked-by: Thomas Winischhofer Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert dv1394 driver to compat_ioctl Convert dv1394 driver to compat_ioctl Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert video1394 driver to compat_ioctl Convert video1394 driver to compat_ioctl Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Convert amdtp driver to compat_ioctl Convert amdtp driver to compat_ioctl Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: kill fatfs_syms.c The patch below removes fatfs_syms.c All EXPORT_SYMBOL's are moved to the files where the actual functions are. Signed-off-by: Adrian Bunk Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: merge msdos_fs_{i,sb}.h into msdos_fs.h From Christoph Hellwig We don't have the union in "struct inode" and "struct super_block", so we doesn't need xxx_fs_i.h and xxx_fs_sb.h anymore. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: IS_BADCHAR/IS_REPLACECHR/IS_SKIPCHAR cleanup From Rene Scharfe Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: Return better error codes from vfat_valid_longname() From Rene Scharfe Fix error code. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: Manually inline shortname_info_to_lcase() From This patch inlines shortname_info_to_lcase() by hand. At least my compiler (gcc 3.3.4 from Debian) doesn't go all the way, so the compiled text size is decreased by this patch. And IMHO the code gets more readable, too. The terms (base->valid && ext->valid), (ext->lower || ext->upper) and (base->lower || base->upper) are trivially found to be true at the single callsite of shortname_info_to_lcase(). The relevant lines are included in this patch file. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: use vprintk instead of snprintf with static buffer Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: kill unnecessary kmap() Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: fs/fat/cache.c: make __fat_access static Signed-off-by: Adrian Bunk Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: Lindent fs/msdos/namei.c Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: Lindent fs/vfat/namei.c Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] FAT: Lindent fs/vfat/namei.c fix Fix typo in comment Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: fs/fat/* cleanup This patch is just cleanup (whitespace, and place of functions is changed). No changes of logic. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: reserved clusters cleanup - Replaces the "number of reserved clusters" by FAT_START_ENT. - The ->clusters is total number of clusters. Instead of it, use the maximum cluster number (->max_cluster). By this change, removes the some "->clusters + 2" calculation. - Adds inline function for cluster to block number conversion. And replaces the open-coding for it. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] fat: show current nls config even if it's default. The default config may be set by distributor. With this change, the user can now know the current NLS used by FAT. Signed-off-by: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: PPC Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: M32R Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Video Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: IDE Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: sound Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: SH Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: PPC64 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Security Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Core Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: media drivers Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Block devices Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: S390 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: UserMode Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: SCSI Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: SPARC Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: V850 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: I386 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: DRM Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Firewire Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup - (ARM26) Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: M68K Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Network drivers Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: MTD Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: X86_64 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Filesystems Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: IA64 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Raid Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: ISDN Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: PARISC Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: SPARC64 Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: ARM Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: Misc drivers Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup - (ALPHA) Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: character devices Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: drivers/serial Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Lock initializer cleanup: FRV Use the new lock initializers DEFINE_SPIN_LOCK and DEFINE_RW_LOCK Signed-off-by: Thomas Gleixner Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] convert-cciss-to-compat_ioctl fix Make the declaration match the definition.. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Fix md using bio on stack with bio clones If md resides on top of a driver using bio_clone() (such as dm), it will oops the kernel due to md submitting a botched bio that has a veclist but doesn't have bio->bi_max_vecs set. Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds [PATCH] Fix x86-64 vsyscall32 mapping The x86-64 kernel incorrectly marks the 32-bit vsyscall page mapping at virtual address 0xffffe000 as a global one, even though that mapping does not exist globally. As such, task switches do not correctly invalidate the mapping, and strange behaviour ensues if a 64-bit program happens to use that same virtual address for something else. Signed-off-by: Linus Torvalds [PATCH] cputime.h seems to assume HZ==1000 There's 1000 msecs in a second. No relation to HZ, which just happens to be 1000 in some cases. Signed-off-by: Linus Torvalds [PATCH] cputime_t patches broke RLIMIT_CPU The RLIMIT_CPU limit is in seconds, not in jiffies. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [ARM PATCH] 2423/2: more PXA2xx AC97 defines Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King [ARM PATCH] 2424/1: S3C2410 - Document add HP iPAQ rx3715 overview Patch from Ben Dooks Add overview of the HP iPAQ rx3715, as well as listing Shannon Holland in the contributors. Signed-off-by: Ben Dooks Signed-off-by: Russell King [ARM PATCH] 2425/1: PXA Corgi - Flush ssp before suspending Patch from Richard Purdie Make sure the PXA Corgi ssp driver flushes the ssp port before suspending. Signed-off-by: Richard Purdie Signed-off-by: Russell King [ARM PATCH] 2426/1: PXA Corgi - Add USB Device Controller support Patch from Richard Purdie Add USB Device Controller support to the corgi machines (Sharp SL-C7xx series). Signed-off-by: Richard Purdie Signed-off-by: Russell King Linux 2.6.11-rc2