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] InfiniBan