Summary of changes from v2.6.10-rc1 to v2.6.10-rc2 ============================================ [PATCH] defxx trivial updates From: "Maciej W. Rozycki" Here are a few obvious clean-ups I did to the driver. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] defxx device name fixes From: "Maciej W. Rozycki" This is a fix for the "fddi%d" device name reported literally due to the switch from init_fddidev() to alloc_fddidev(). Plus related updates to module information. Applies on top of the 2.4.27-defxx-sync2681 or 2.6.8.1-defxx-misc patches, respectively. Please apply. Signed-off-by: Maciej W. Rozycki Signed-off-by: Andrew Morton [PATCH] sparse: fix warnings in net/irda/* From: "Mika Kukkonen" CHECK net/irda/irlan/irlan_client.c net/irda/irlan/irlan_client.c:237:14: warning: assignment expression in conditional Signed-off-by: Andrew Morton [PATCH] de4x5 warning fix Ugh. drivers/net/tulip/de4x5.c: In function `mii_get_phy': drivers/net/tulip/de4x5.c:5092: warning: operation on `i' may be undefined Signed-off-by: Andrew Morton [PATCH] remove old version check from mac8390 This 'netdevice' define will end up in the 'tags' file. Its not used, so just remove it. [netdev] Remove no-op in-driver implementations of ->set_config() JFS: Fix extent overflow bugs The code which handled adding a new extent when it is unable to grow an extent past the maximum size made an invalid assumption about when the root page would split. Signed-off-by: Dave Kleikamp ALSA CVS update ENS1370/1+ driver Fixed AC3-passthru on ens1371/1373 boards. SRC is bypassed when the sample rate is 48k, so that the non-audio signal won't be broken. The other sample rates still need SRC. Signed-off-by: Takashi Iwai ALSA CVS update ICE1712 driver Allow the private EEPROM image for evaluation boards The driver may have a private EEPROM image instead of reading from the board (as well as ice1724 does). It'll be helpful for test boards. Signed-off-by: Takashi Iwai ALSA CVS update ES18xx driver Fixed a bug in setting the filter register. A fix from the kernel OSS driver. The original report/patch is from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=204147 Signed-off-by: Takashi Iwai [ALSA] Added __GFP_NORETRY to avoid OOM-killer Memalloc module __GFP_NORETRY is added to the DMA buffer allocator to avoid triggering OOM-killer. Signed-off-by: Takashi Iwai [ALSA] Enable __GFP_NOWARN as default for buffer allocation Memalloc module __GFP_NOWARN is enabled for DMA buffer allocation regardless of its size. The DMA buffer allocation is not a critical task. Signed-off-by: Takashi Iwai [ALSA] Korg1212 misc fixes KORG1212 driver The DSP firmware download timeout has been increased; Some concurrent device settings has been fixed (I have shameless copied some code from RME9652); and One debug message was fixed. Signed-off-by: Haroldo Gamal Signed-off-by: Takashi Iwai [ALSA] AC97 96 kHz sample rate support Documentation,AC97 Codec Core,Intel8x0 driver Signed-off-by: Clemens Ladisch [ALSA] add missing ifdef for disabling MIDI Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] suppress auto-loading of modules in module_init(). ALSA sequencer The auto-loading of sequencer modules is suppressed in module_init(). The recent module-init-tools may cause blocking. Signed-off-by: Takashi Iwai [ALSA] Fix latency in ens1371 driver ENS1370/1+ driver The high latency in prepare callback of ens1371 driver is fixed. The *_rate_set() functions are moved outside of spinlock, and cond_resched() is inserted in the busy probing loop. Signed-off-by: Takashi Iwai [ALSA] add AC97 quirk for Fujitsu-Siemens E4010 Intel8x0 driver Signed-off-by: Signed-off-by: Clemens Ladisch [ALSA] remove gameport/MIDI support Documentation,PCI drivers,Intel8x0 driver snd-intel8x0's gameport/MIDI code has quite a few problems: the port addresses cannot be detected reliably (or not at all with newer LPC bridge devices), joystick port address 0x208 isn't supported, the MIDI interrupt isn't detected, PnP isn't supported, changing the port addresses in the LPC bridge configuration doesn't affect the devices in the Super-I/O chip connected to the LPC bus, and registering this driver for the LPC bridge PCI device prevents other drivers using the LPC's PCI id from loading later. All these problems can be cured by removing the offending code and using the proper modules for these devices (ns558/snd-mpu401) instead. Signed-off-by: Clemens Ladisch [ALSA] add mixer quirk for LineX FM Transmitter USB generic driver The LineX FM Transmitter needs a mixer quirk entry to ignore control errors. Signed-off-by: Lonnie Mendez Signed-off-by: Clemens Ladisch [ALSA] [ac97] Added VIA shared type. AC97 Codec Core,VIA82xx driver Added a new shared type AC97_SHARED_TYPE_VIA for via82xx southbridge to share codecs between audio and modem drivers. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] [ac97] Check ac97 codec id in quirk table AC97 Codec Core Added codec_id field to ac97_quirk struct so that the devices with the same PCI subsystem IDs but with different AC97 chips can be distinguished properly. Signed-off-by: Takashi Iwai [ALSA] ac97 quirk entry for Soltek SL-75DRV5 VIA82xx driver Added an ac97 quirk entry for Soltek SL-75DRV5. Since the PCI subsystem id is identical with ASRock K7VT2, codec_id is used additionally to tell between them. Signed-off-by: Takashi Iwai [ALSA] inverted EAPD support Documentation,AC97 Codec Core,Intel8x0 driver,CS46xx driver Since there are more than one (broken) implementation of EAPD bit on ac97 chips, the new scaps bit is added for the inverted EAPD. Also, AC97_TUNE_INV_EAPD is used to tune this behavior later by snd_ac97_tune_hardware(). The ac97 quirk entry for Sony S1XP is added to turn this on. Signed-off-by: Takashi Iwai [ALSA] detect errors reported by the hardware BT87x driver stop the PCM if the hardware reports FIFO/PCI errors Signed-off-by: Clemens Ladisch [ALSA] Added Compaq Evo W4000 quirk Intel8x0 driver Added an AC97 quirk entry for Compaq Evo W4000. Signed-off-by: Takashi Iwai [ALSA] [emu10k1] Audigy DSP support EMU10K1/EMU10K2 driver This patch will add better support for Audigy DSP. More gpr, instruction and tram. It will break binary compatibility for app which use emu10k1 hwdep. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai [PATCH] add missing pci_disable_device for e1000 From: Kenji Kaneshige This patch adds pci_disable_device() into e1000_remove(). If your driver decides to stop using the device, it should call pci_disable_device() to deallocate any IRQ resources, disable PCI bus-mastering, etc. Signed-off-by: Kenji Kaneshige Signed-off-by: Andrew Morton [PATCH] e100 - Use pci_device_name for syslog messages till registering netdevice [PATCH] e100 - use NET_IP_ALIGN to set rx data buffer alignment [PATCH] e100 driver version number update [PATCH] e1000 - use pci_device_name for syslog messages till registering netdevice. [PATCH] e1000 - Removed support for advanced TCO features [PATCH] e1000 Check value returned by from pci_enable_device [PATCH] e1000 - Fix VLAN filter setup errors (while running on PPC) [PATCH] e1000 - Polarity reversal workaround for 10F/10H links [PATCH] e1000 - Ethtool -- 82545 do not support WoL [PATCH] (1/4) acenic - use netdev_priv Trivial, use netdev_priv Signed-off-by: Stephen Hemminger [PATCH] (2/4) acenic - eliminate MAX_SKB_FRAGS #if Since MAX_SKB_FRAGS is defined in both 2.4 and 2.6, it makes sense to eliminate this old #if code. Signed-off-by: Stephen Hemminger [PATCH] (3/4) acenic - __iomem warnings cleanup This cleans all the compile warnings and most of the sparse warnings for the acenic driver relating to io memory space. Remaining warnings are because tx_ring can be either in i/o or not depending on the version of the card. Not tested on old TIGON card. Signed-off-by: Stephen Hemminger [PATCH] (4/4) acenic - don't spin forever in hard_start_xmit If driver is stuck due to ring full and hardware or link error, don't spin forever in the hard_start_xmit routine. Signed-off-by: Stephen Hemminger [PATCH] swsuspend for ne2k-pci cards Author: Éric Brunet [PATCH] via-velocity: wrong module name in Kconfig documentation Copy/paste abuse. [PATCH] Stop queue on close in hdlcdrv The stop method of a driver should ensure queueing is stopped ... [ALSA] Fix the OSS PCM emulation - O_NONBLOCK write ALSA<-OSS emulation This patch fixes the OSS PCM write() in O_NONBLOCK mode. The previous code had not returned partial written bytes. Signed-off-by: Jaroslav Kysela [ALSA] Added support for AudioTrak Prodigy 192 cards ICE1712 driver,ICE1724 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] add UA-1000 sample rate detection USB generic driver Instead of assuming 48 kHz, the driver now detects the current sample rate setting. Signed-off-by: Clemens Ladisch [ALSA] mark snd_card_dummy_new_mixer() as static Generic drivers Signed-off-by: Jaroslav Kysela [ALSA] [ac97 core] added AC97_SCAP_DETECT_BY_VENDOR flag AC97 Codec Core,Intel8x0 driver This patch adds a AC97_SCAP_DETECT_BY_VENDOR flag for Xbox. If the flag is set, the AC97 codec is detected only by reading of a reasonable vendor ID. It seems that Xbox has accessible only vendor/device ID registers for reading. Also, a new xbox parameter for snd-intel8x0 has been introduced to let user force this behaviour. Signed-off-by: Jaroslav Kysela [ALSA] copy_to_user() return value checking in snd_seq_read() ALSA sequencer Here's a patch that ensures the copy_to_user() return value gets checked and acted upon if it is != 0 (that is, if we failed to copy all data) in snd_seq_read(). Signed-off-by: Jesper Juhl Signed-off-by: Jaroslav Kysela [ALSA] Added missing header file for AudioTrak Prodigy 192 cards ICE1712 driver Signed-off-by: Kouichi ONO Signed-off-by: Jaroslav Kysela [ALSA] Fix driver name for nforce and clean-up Intel8x0-modem driver Driver name is always ICH-MODEM as defined in alsa-lib config. Cosmetic cleanups: unused include files, MODULE_DEVICE update. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai [ALSA] show codec name in card description AC97 Codec Core,ATIIXP driver,Intel8x0 driver,VIA82xx driver Include the AC97 codec name in the card longname of motherboard controllers. (to enhance the chance of getting useful bug reports :) Signed-off-by: Clemens Ladisch [ALSA] adjust intel8x0 joystick documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] enhance Kconfig help texts ARM,ALSA Core,Generic drivers,ISA,PARISC,PCI drivers,PCMCIA Kconfig,PPC USB add module names and references to other documentation files add more help for generic options Signed-off-by: Clemens Ladisch [ALSA] remove 'ALSA' from Kconfig USB menu name USB make ISA, PCI and USB device look the same in {q,x,menu}config Signed-off-by: Thierry Vignaud Signed-off-by: Clemens Ladisch [ALSA] fix ALI M5451 description PCI drivers modify ali5451 and intel8x0 help texts to better distinguish between M5451 and M5455 AC97 controllers Signed-off-by: Clemens Ladisch [ALSA] Fixes for PCM/control 32bit emulation PCM Midlevel,IOCTL32 emulation - Size mismatch of control element struct due to packed attribute is removed. - A typo in PCM syncptr definition is fixed. - Suppress the mmap of PCM status/control records on 32bit emulation mode since the record size doesn't match. Signed-off-by: Takashi Iwai [ALSA] Support for capture of 16,32,64 channels on emu10k1 device 2 EMU10K1/EMU10K2 driver This patch changes default constraint on 'EFX voices mask' control and allow capture of 1, 2, 4, 8, 16, 32, 64 channels instead of 1, 2, 4, 8. Signed-off-by: Peter Zubaj Signed-off-by: Takashi Iwai [ALSA] Remove delay() to improve latency ES1968 driver - Removed mdelay() in ac97 codec handling. - Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Improved clock measurement Intel8x0 driver Improved the clock measurement routine to allow the longer sleep time. Now it invokes schedule_timeout() instead of a long mdelay(). Signed-off-by: Takashi Iwai [ALSA] Fixed the obsolete description in comments IOCTL32 emulation Signed-off-by: Takashi Iwai [ALSA] Fix auto-loading of sequencer modules ALSA sequencer Allow auto-loading of sequencer modules except for module init time (which may cause blocking). Signed-off-by: Takashi Iwai [ALSA] Fix iomem variable type Documentation,ALSA Core,MPU401 UART,OPL3,CS46xx driver,YMFPCI driver ATIIXP driver,ATIIXP-modem driver,CS4281 driver,Intel8x0 driver Intel8x0-modem driver,RME32 driver,RME96 driver,au88x0 driver KORG1212 driver,MIXART driver,NM256 driver,RME HDSP driver RME9652 driver,PPC Tumbler driver The type of iomem variables is changed to void __iomem *. Signed-off-by: Takashi Iwai [ALSA] Added support of Mediastation ICE1712 driver The support for Lionstracs Mediastation is added. The model name is 'mediastation'. Signed-off-by: Takashi Iwai [ALSA] rme32 segfault fix RME32 driver - disables buffer prefill in halfduplex mode, which fixes segmentation fault of rme32 for playback in halfduplex mode Signed-Off-By: Martin Langer Signed-off-by: Takashi Iwai [ALSA] [hdsp] Fix for 64bit architectures RME HDSP driver Fixed the loading of firmware data and the handling of meter mmap on 64bit architectures. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF rate setting for old ICHs Intel8x0 driver Force to set SPDIF rate when PCMOUT is used on ICH[1-3]. ICH4, NFORCE and ALI uses a separate DMA for SPDIF. Signed-off-by: Takashi Iwai [ALSA] use card-specific driver name au88x0 driver use CARD_NAME_SHORT as driver name to allow different configuration file aliases in alsa-lib Signed-off-by: Clemens Ladisch [ALSA] remove 'Rawmidi' part from sequencer port names ALSA sequencer Signed-off-by: Clemens Ladisch [ALSA] don't stop capture on errors BT87x driver don't stop capture on errors because there's too much broken hardware out there Signed-off-by: Clemens Ladisch [PATCH] e1000 update -- fix MODULE_PARM, module_param, module_param_array [PATCH] igxb speedup The interrupt routine will call both those functions even if the first doesn't have any work to do. Signed-off-by: Andrew Morton [PATCH] e1000 sparc64 dma_mapping build fix drivers/net/e1000/e1000_main.c: In function `e1000_probe': drivers/net/e1000/e1000_main.c:389: error: `DMA_64BIT_MASK' undeclared (first use in this function) drivers/net/e1000/e1000_main.c:389: error: (Each undeclared identifier is reported only once drivers/net/e1000/e1000_main.c:389: error: for each function it appears in.) drivers/net/e1000/e1000_main.c:392: error: `DMA_32BIT_MASK' undeclared (first use in this function) Signed-off-by: Andrew Morton [PATCH] net/de2104x: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan [PATCH] ixgb: fix endianness issue for tx cleanup This patch fixes tx cleanup so that it works correctly on big endian machines. This time I remembered to update the version string. Signed-off-by: Jesse Brandeburg [PATCH] e100: fix NAPI race with watchdog While polling in NAPI mode, we were occassionally getting interrupts re-enabled by the watchdog trying to generate a software interrupt. Fix is to add a spinlock around that shared hardware register to allow a read-modify-write operation. This was nasty nasty. I don't like the spinlock in the hot path but i see no other way. Comments are welcome. Updates the driver version as well. Signed-off-by: Jesse Brandeburg [PATCH] e100: whitespace and DPRINTKS This is a short patch to add a couple of new DPRINTKS and fix some whitespace issues. Signed-off-by: Jesse Brandeburg PPC32: remove bogus eXecute permissions Signed-off-by: Eugene Surovegin [PATCH] janitor: net/sis900: pci_find_device to pci_get_device Replace pci_find_device with pci_get_device/pci_dev_put to plug race with pci_find_device. Compile tested. Signed-off-by: Scott Feldman [PATCH] janitor: net/tulip: pci_find_device to pci_dev_present Replace pci_find_device with pci_dev_present. Compile tested. Signed-off-by: Scott Feldman [PATCH] ns83820: add vlan tag hardware acceleration support I was poking about in the National Semi 83820 driver, and I happened to notice that the chip supports vlan tag add/strip assist in hardware, but the driver wasn't making use of it. This patch adds in the driver support to use the vlan tag add/remove hardware, and enables the drivers use of the kernel vlan hwaccel interface. Signed-off-by: Neil Horman [PATCH] fix acenic hotplug From: Anton Blanchard Now that the acenic has been converted to the hotplug API a number of uses of __init and __initdata have to be changed to __devinit and __devinitdata. Acked-by: Jes Sorensen Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton [ALSA] Fix the variable types in struct RME HDSP driver The variable types are declared explicitly like u32 and u64 to avoid ambiguity. Signed-off-by: Takashi Iwai [ALSA] more au88x0 eq cleanups au88x0 driver cleanup au88x0 equalizer code by factoring out a sign_invert function that ensures all negative integers become positive. Signed-off-by: Jeff Muizelaar Signed-off-by: Takashi Iwai [ALSA] Fix HDSP meter ioctl RME HDSP driver Fixes and clean up of GET_PEAK_RMS ioctl. Signed-off-by: Takashi Iwai [ALSA] Fix DXS entry for GA-7VAX VIA82xx driver From: 1 1 I have tested my MB GA-7VAX and want to say you that you should use VIA_DXS_ENABLE instead VIA_DXS_NO_VRA. On the maximum volume output level with VIA_DXS_NO_VRA there is abnormal loud noise, and with VIA_DXS_ENABLE there are much less noises. And I have detected unused code section. Signed-off-by: Andrew Morton Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver Fix GPIO pin directions and use RXP1 instead of RXP0 as S/PDIF source on CS8415A Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Aureon S/PDIF input fixes ICE1712 driver GPIO directions changed * GPIO>22 not configured as they do not exist * GPIO22 set to output (CS8415A CS pin) * GPIO21 set to input. (SPI MISO pin) Init sequence of CS8415A changed: * SWCLK is set to 1 (OMCK output to RMCK pin) * MUX2:0 is set to 001 (S/PDIF input on RXP1) * SODEL is set to 1 (MSB of SDOUT data occurs if the second OSCLK period after the OLRCK edge) * SOLRPOL is set to 1 (SDOUT data is for the right channel with OLRCK is high) Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix drain/drop of linked PCM streams PCM Midlevel This patch fixes the dead-locking of linked PCM streams when drain/drop is called. The counter field is added to pcm group struct to handle link/unlink more easily. When the PCM streams are linked, start/drain/drop are operated to all linked streams. The drain will wait until draining of all linked streams are finished. The XRUN triggers stopping of all linked streams and changes the state of all of them to XRUN even if only one of them is actually in XRUN. Signed-off-by: Takashi Iwai [ALSA] snd-usb-usx2y 0.7.3 USB generic driver,USB USX2Y Use usb_kill_urb() instead of deprecated usb_unlink_urb() Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai [ALSA] Replace with usb_kill_urb() USB generic driver Use usb_kill_urb() instead of deprecated usb_unlink_urb() for sync'ed URBs. Signed-off-by: Takashi Iwai [ALSA] Fix peakmeter ioctl on big-endian RME HDSP driver Fixed the data transfer of peakmeter ioctl on big-endian architectures. Signed-off-by: Takashi Iwai [ALSA] Clean up ice1712 chip struct ICE1712 driver Clean up of ice1712 chip struct. The board-specific data are moved to spec union. Signed-off-by: Takashi Iwai [ALSA] Adds AC'97 support to Aureon cards. ICE1712 driver This patch adds support of the STAC9744 chip located on Aureon cards, enabling volume control for analogue input channels. It also adds the posibility of listening to both the analogue inputs and the digital audio. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Add reset_workaround module option Documentation,NM256 driver - The workaround for some laptops like Dell Latitude LS can be specified via reset_workaround module option, too. - The check of reset_workaround is merged into the quirk table. - The spinlock in AC97 reset callback is removed. Signed-off-by: Takashi Iwai [ALSA] add overclocking option for the analog input PCI drivers,BT87x driver adds CONFIG_SND_BT87X_OVERCLOCK to enable sample rates up to 1792000 Hz when recording from the analog input Signed-off-by: Clemens Ladisch [ALSA] Add (experimental) CM9761 support AC97 Codec Core CM9761 support patch is added. At least, SPDIF and 4.0 output seems working. Signed-off-by: Takashi Iwai [ALSA] Fix SPDIF support on ICH4/5/6 Intel8x0 driver Fixed SPDIF support on ICH4/5/6. The driver name of these chipsets is set as 'ICH4' to tell from the older ICHs. Signed-off-by: Takashi Iwai [ALSA] Fix AC97 master mute ICE1712 driver Instead of muting the AC97 chip and thus eliminating the possibility of recording, muting is done by setting front playback to DAC only instead of DAC+AUX. Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix AC3 playback on SB Live EMU10K1/EMU10K2 driver Fix the AC3 playback on SB Live! (Audigy has been working fine.) Signed-off-by: Takashi Iwai ALSA CVS update USB generic driver add Edirol UA-25 support Signed-off-by: Clemens Ladisch [ALSA] Fix / clean up OPL3 for CS4281 Documentation,OPL3,CS4281 driver Moved cs4281-specific code into cs4281 driver from opl3. The ugly type-casting is removed now. The opl3 instance can be created via snd_opl3_new() (followed by snd_opl3_init()) to allow the driver to set its own command and private_data/private_free. snd_opl3_create() is kept for compatibility as it was. Signed-off-by: Takashi Iwai [ALSA] fix DAC slot assignment AC97 Codec Core write the DAC slot assignment bits to the extended ID register where they belong instead of overwriting the SPSA bits in the extended status register Signed-off-by: Clemens Ladisch [ALSA] fix description of SPSA=3 in the proc file AC97 Codec Core Signed-off-by: Clemens Ladisch [ALSA] fix snd_opl3_init documentation Documentation Signed-off-by: Clemens Ladisch [ALSA] Clean up bitmap EMU10K1/EMU10K2 driver Clean up the declaration of bitmap with DECLARE_BITMAP(). Signed-off-by: Takashi Iwai [ALSA] Fix dead blocking during module_init() ALSA sequencer,ALSA<-OSS sequencer Fixed the auto-loading of modules during module_init(). Signed-off-by: Takashi Iwai [ALSA] Fix pci_restore_state() ALSA Core Fixed pci_save_state() call with the new API. Signed-off-by: Takashi Iwai [ALSA] Add KERN_ERR to error messages ALSA Core Added KERN_ERR prefix to error messages in snd_assert() and snd_runtime_check() macros. Signed-off-by: Takashi Iwai [ALSA] Fix typo ALSA sequencer Fixed a typo for snd_seq_autoload_lock() in the last change (only for the case without CONFIG_KMOD). Signed-off-by: Takashi Iwai [ALSA] Added dxs quirk for QDI Kudoz 7X/600-6AL VIA82xx driver Added the default dxs_support entry for QDI Kudoz 7X/600-6AL. Signed-off-by: Takashi Iwai [ALSA] Fix ac97 codec reset and clean up CS46xx driver - Fixed AC97 codec RESET for duel codecs (only for CONFIG_SND_CS46XX_NEW_DSP) - Clean up the codec detection routine Signed-off-by: Takashi Iwai [ALSA] Fix compilation (sync with parisc tree) PARISC Harmony driver Sync with parisc tree - fix compilations, module description fixes. Signed-off-by: Takashi Iwai [ALSA] Fix Aureon CCS init sequence ICE1712 driver - Fix Aureon 5.1 Sky GPIO write mask bits - Fix 192kHz bit Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] Fix the detection of secondary codec CS46xx driver Fixed the detection of secondary codec. Signed-off-by: Takashi Iwai [SKBUFF] move common code to hdlc_type_trans Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: David S. Miller [ACPI] Notify SMM of cpufreq http://marc.theaimsgroup.com/?l=acpi4linux&m=109428989121089&w=2 Signed-off-by: Dominik Brodowski EXPORT_SYMBOL(acpi_os_write_port); EXPORT_SYMBOL(acpi_fadt_is_v1); [PATCH] PATCH: netpoll with xircom_cb I have a headless computer with xircom pcmcia card and needed netconsole on it. After looking around in other drivers I concocted this patch. It survived light testing. I have no documentation for the hw, so it maybe totally bogus. [PATCH] e1000: modified ethtool_set_pauseparam to use e1000_setup_link for flow control settings for fiber serdes link [PATCH] e1000: remove unused function e1000_enable_mng_pass_thru [PATCH] e1000: fix set ringparam for ethtool returning error code on bad input [PATCH] e1000: driver version update [PATCH] e1000: white space corrections [PATCH] pcnet32: use unsigned 1-bit fields [PATCH] 3c59x: style change in vortex_ethtool_ops declaration Style change suggested during patch review. Signed-off-by: John W. Linville [PATCH] net/tokenring/olympic.c: remove unused variable Recent changes in Linus' tree removed all uses of a variable, resulteing in the following warning: <-- snip --> ... CC drivers/net/tokenring/olympic.o drivers/net/tokenring/olympic.c: In function `olympic_arb_cmd': drivers/net/tokenring/olympic.c:1404: warning: unused variable `i' ... <-- snip --> The following patch removes this unused variable: Signed-off-by: Adrian Bunk [PATCH] ns83820: use module_param Replace MODULE_PARM with module_param Signed-off-by: Stephen Hemminger [PATCH] eql: use netdev_priv Use netdev_priv where possible. Signed-off-by: Stephen Hemminger [PATCH] dummy: use netdev_priv Can use netdev_priv in dummy device. Signed-off-by: Stephen Hemminger [PATCH] tg3: use module_param get rid of deprecated use of MODULE_PARM Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: use netdev_priv use netdev_priv Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] tg3: make driver only data static Several data structures should have been marked static because the are local to this driver. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik [PATCH] slip: use module_param Replace MODULE_PARM with module_param (also make slip_maxdev static). Signed-off-by: Stephen Hemminger [PATCH] slip: use netdev_priv Replace dev->priv with netdev_priv(dev) Signed-off-by: Stephen Hemminger [PATCH] skfp: remove assignment expression in conditional (sparse)(v2) Fix sparse warning: drivers/net/skfp/hwmtm.c:1904:20: warning: assignment expression in conditional Signed-off-by: Randy Dunlap kconfig.debug: mention that DEBUG_SLAB can slow down machine quite a bit I experienced x3 slowdown due to this option being set. Please add this small warning to DEBUG_SLAB help text. Signed-off-by: Sam Ravnborg kconfig: OVERRIDE: save kernel version in .config file Omit .config file timestamp in the file if the environment variable "KCONFIG_NOTIMESTAMP" exists and is non-null. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg kbuild: Allow install of external modules to custom path Currently, a ``make modules_install'' for an external module will install that module into /lib/modules/$(uname -r)/extra. Allow to override this default by specifying INSTALL_MOD_DIR. Signed-off-by: Andreas Gruenbacher Signed-off-by: Sam Ravnborg kbuild: fix 'htmldocs' and friends with O= The following patch fixes up 'htmldocs' and related to work when trees are being built with O=. I fixed it all up by passing the srctree as an env-var to docproc (and thus what it calls) and then pull that out when needed. Signed-off-by: Tom Rini Signed-off-by: Sam Ravnborg kbuild: Create Makefile in output dir for *config targets Upon request from Andi Kleen the Makefile is now created for *config targets also. So the MAkefile in the output directory is present when it is expected (after kernel configuration). Also tell user the Makefile is generated. Signed-off-by: Sam Ravnborg kbuild: use two double-quotes for localversion Modifies LOCALVERSION definition such that it uses patsubst instead of subst to remove surrounding double quotes from CONFIG_LOCALVERSION. This helps syntax-highlighting editors. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: explicit enable framepointer Newer gcc versions automatically turns on -fomit-frame-pointer when -O2 is specified thus breaking CONFIG_FRAME_POINTER option. Explicitly specifying -fno-omit-frame-pointer fixes it. From: Tejun Heo Signed-off-by: Sam Ravnborg kbuild: Add cc-option-align gcc version >= 3.00 shifted from -malign-* to -falign-*. $(cc-option-align) will based on current gcc version specify the right prefix for the align option. Documented in Documentation/makefiles.txt Signed-off-by: Sam Ravnborg kbuild: make gcc -align options .config-settable With all alignment options set to 1 (minimum alignment), I've got 5% smaller vmlinux compared to one built with default code alignment. Original implementation altered to use cc-option-align by sam. From: Denis Vlasenko Signed-off-by: Sam Ravnborg [ACPI] firmware wakeup address is physical, not virtual (David Shaohua Li) http://bugzilla.kernel.org/show_bug.cgi?id=3390 [ACPI] add module parameters: processor.c2=[0,1] processor.c3=[0,1] to disable/enable C2 or C3 blacklist entries for R40e and Medion 41700 http://bugme.osdl.org/show_bug.cgi?id=3549 from Andi Kleen [NETFILTER]: Clean up ip_conntrack stats Signed-off-by: Pablo Neira Signed-off-by: Patrick McHardy [NETFILTER]: Change MASQUERADE to Use Device Address Directly Instead of doing a dubious route lookup, just use the first IP address of the (dynamic) interface. Also, reset assured bit so after masq connections can be cleaned up if memory pressure. Signed-off-by: Rusty Russell Signed-off-by: Patrick McHardy [NETFILTER]: prearation of removing skb_linearize() This patch uses skb_header_pointer() so that packets can be parsed even though skb_linearize() doesn't exist. But this patch doesn't remove skb_linearize() yet. We can remove it after changing all match/target modules. Moreover ... - I deleted the optimization not to parse IPv6 extension header many time from previous patch. I'll send the patch to do this separately. - fixed the bug that "offset" argument of match functions are always 0. - deleted "hdr" and "datalen" argument and added "protoff" argument to match functions. "protoff" means the offset to Layer 4 protocol header. - the argument order of target function is changed likely IPv4 modules. This prevents user from meeting kernel panic when they use old match modules. - changed {tcp,udp,icmp6}_match(). These functions became very similar to codes in ip_tables.c again. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_LOG.c to work without skb_linearize() This patch enables ip6t_LOG.c to work without skb_linearize(). I changed a large part of this file. At first, ip6_nexthdr() is deleted to prevent multiple call of skb_header_pointer() at dump_packet() and ip6_nexthdr(). And the following bugs are fixed. The first bug is fixed by introducing skb_header_pointer(), then I didn't separate patches. - No check with skb->len. Then invalid memory access may occur. - If packet is fragmented and it's not first fragment, nonexistent extension headers is tried to parse. - All headers which aren't TCP/UDP/ICMPv6 are treated as IPv6 extension header. - The encrypted data after ESP is tried to parse. - ntohl() for ID in Fragment header is missing. - If doff*4 of TCP header is less than sizeof(struct tcphdr), TCP options are tried to parse. Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_ah.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce tabs to ip6t_ah.c Fix horrible indentation, not a single tab in the file. Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_esp.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: ip6t_esp.c whitespace cleanup Signed-off-by: Patrick McHardy [NETFILTER]: Convert ip6t_physdev match function to new argument order Signed-off-by: Patrick McHardy [ACPI] create IBM ThinkPad ACPI driver -- ibm-acpi-0.6.patch by Borislav Deianov Signed-off-by: Len Brown [PATCH] e100: Fix loss of connectivity to BMC when interface is brought down. Signed-off-by: Ganesh Venkatesan [PATCH] e100: Fix set ringparam for ethtool returning error code on bad input Signed-off-by: Ganesh Venkatesan [PATCH] e100: Driver version number update Signed-off-by: Ganesh Venkatesan [PATCH] e1000: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [PATCH] e100: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [PATCH] ixgb: Configuration and user guide update Signed-off-by: Ganesh Venkatesan [ACPI] simplify ES7000 IRQ re-naming scheme so that it works for all PCI interrupts. Signed-off-by: Natalie Protasevich Signed-off-by: Len Brown [ALSA] fixing a two-rme32-in-one-machine bug RME32 driver - fixing the dev counter in snd_rme32_probe(). The patch can enable a second rme32 card Signed-off-by: Martin Langer Signed-off-by: Takashi Iwai [ALSA] Add routing/volume of ADAT I/O on EWS88D ICE1712 driver The routing/volume control of ADAT I/O on EWS88D is added. Signed-off-by: Takashi Iwai [ALSA] Misc. volume fixes ICE1712 driver - Added mute function to Master/Front/Rear/Side/LFE/CEnter - Master volume is artificially made in software - Added PCM volume control (basically what was the master volume) - Front/Read/Side/LFE/Center is now logarithmic (and computed as * / ) Signed-off-by: Peter Christensen Signed-off-by: Takashi Iwai [ALSA] RME9632 precise_ptr fix RME HDSP driver Correct hardware position mask to mask correctly when buffer is not maximum size. Signed-off-by: Ed Wildgoose Signed-off-by: Takashi Iwai [ALSA] fix build in !KMOD case (sequencer) ALSA sequencer seq_device.c needs to pull in the snd_seq_autoload_lock()/unlock() defines from seq_kernel.h in the !KMOD case. Signed-off-by: Ingo Molnar Signed-off-by: Jaroslav Kysela [ALSA] Fixed SPDIF on CS4298 AC97 Codec Core Fixed SPDIF support on CS4298 AC97 chip. Signed-off-by: Takashi Iwai [ALSA] Fix AC97_EXTENDED_STATUS initialial value AC97 Codec Core Fixed a bug to write an invalid initial value of AC97_EXTENDED_STATUS. Signed-off-by: Takashi Iwai [ALSA] Exclude uneeded code when ! CONFIG_PROC_FS PCM Midlevel,AC97 Codec Core From Michal Rokos I tried to compile without procfs support and I got few 'unused code' warnings. This patch fixes it. Tested by compilation only. (With CONFIG_PROC_FS on and off) Signed-off-by: Takashi Iwai [ALSA] Add VIA8237 driver type VIA82xx driver VIA8237 and later chips are handled as a different type from VIA8233, since they don't support the AC97 slot mapping any more. The alsa-lib will resolve the 5.1 remapping for them. Signed-off-by: Takashi Iwai [ALSA] PCM boundary fix in 32bit compat layer IOCTL32 emulation PCM boundary size is fixed within the 32bit value range when HW_PARAMS ioctl is called in 32bit mode. Also, with this patch, the conversion functions are inlined. Signed-off-by: Takashi Iwai [ALSA] Fix non-blocking write in ALSA OSS emulation ALSA<-OSS emulation write() calls in non-blocking mode eat the written data and never return -EAGAIN. The attached patch fixes the problem. Signed-off-by: Benjamin Otte Signed-off-by: Takashi Iwai NTFS: Fix two typos in Documentation/filesystems/ntfs.txt. Thanks to Richard Russon for pointing them out. Signed-off-by: Anton Altaparmakov [NETFILTER]: Select source address for gateway in MASQUERADE Suggested by Herbert Xu Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_rt.c to work without skb_linearize() Signed-off-by: Patrick McHardy Signed-off-by: Yasuyuki KOZAKAI [NETFILTER]: Enable ip6t_multiport.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Enable ip6t_frag.c to work without skb_linearize() Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [ACPI] clarify #define ACPI_THERMAL_MODE_CRITICAL (Pavel Machek) USB: update devices.txt with the proper USB minor number information. Signed-off-by: Greg Kroah-Hartman USB: add phidgetkit driver. originally written by Sean Young but with LED additions and cleanups from me. Signed-off-by: Greg Kroah-Hartman USB: remove unneeded checks in the usb-serial core. Signed-off-by: Greg Kroah-Hartman USB: fix build error in the USB core if CONFIG_PROCFS is disabled Signed-off-by: Greg Kroah-Hartman USB: fix DoS in the visor driver by rate limiting sends. Signed-off-by: Greg Kroah-Hartman PCI: use pci_dev_present() in irq.c check Signed-off-by: Greg Kroah-Hartman kobject: add CONFIG_DEBUG_KOBJECT Signed-off-by: Greg Kroah-Hartman [PATCH] USB Storage: Fix queuecommand() for disconnected devices Following the recommendation of James Bottomley (of SCSI fame), this patch changes the queuecommand() routine so that when a command is received for a disconnected device, instead of accepting the command and then ignoring it, we fail the command immediately with DID_NO_CONNECT. This fixes a timeout-abort-oops sequence that would occur when the higher-level drivers (mostly the CD driver) try to queue a SYNCHRONIZE CACHE command during scsi_remove_host(). Signed-off-by: Alan Stern Signed-off-by: Matthew Dharm Signed-off-by: Greg Kroah-Hartman ===== drivers/usb/storage/scsiglue.c 1.84 vs edited ===== [PATCH] usbcore: drop reference to bus on allocation error A recent patch introduced this reference counting leak. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman ===== drivers/usb/core/usb.c 1.293 vs edited ===== [PATCH] USB: W996[87]CF driver updates Small W996[87]CF documentation updates. Signed-off-by: Luca Risolia [PATCH] USB: Superfluous statement in usb.c [PATCH] USB: PL2303 - PharosGPS patch This patch adds recognition/support for the PharosGPS puck, as included with Microsoft's Streets and Trips package. The device has an inline USB-to-serial converter which functions as a PL2303 but with different VENDOR_ID and PRODUCT_ID, and so the PL2303 driver is modified to recognize this additional device. Signed-off by: Robert C. Olsen, III [pl2303@2005dauphin.org] Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usblp BKL removal the appended patch is not in yet, what gives? I sent it to Marcelo with an understanding that it would be in Linus tree any day now. It was a couple of months ago. It's not just BKL witchhunt either. I remember that it fixed an oops, although I do not remember the precise scenario by now (it had something to do with a race between ->release and ->disconnect). From: Pete Zaitcev Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for CyberJack. Add module version information for drivers/usb/serial/cyberjack.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for PL2303. Add module version information for usb/serial/pl2303.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: Module version info for Belkin_sa. Add module version information for usb/serial/belkin_sa.c. Signed-off-by: Luiz Capitulino Signed-off-by: Greg Kroah-Hartman [PATCH] USB: tiglusb.c: add direct USB support on some new TI handhelds I have extended my driver to add support of the embedded USB port provided by some new Texas Instruments' handhelds. Things are the same except for the maximum packet size. Description: add support of the USB port embedded on some new TI handhelds (TI84+ and TI89 Titanium). Thanks, Romain. Signed-off-by: Romain Lievin Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb hub descriptor fetch needs retries Some of the recent changes to change how descriptors are read have managed to confuse one USB keyboard. It recovers OK with a few retries though. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb suspend support for hid-core Basic HID driver support for USB suspend/resume. At least one keyboard works OK as a remote wakeup source ... unless you write the sysfs power/state attribute using that USB keyboard, in which case the input subsystem reports an endless stream of newlines! :) Someone still needs to implement some configurable timer to support the "suspend idle mice/keyboards/..." policy for devices that can issue wakeup events. In conjunction with autosuspend policies in hub and HCD (UHCI) code, that could allegedly save 2W of power by enabling the C3 state on Centrino laptops that use USB mice. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: use alloc_etherdev to allocate device private Change other usb network driver to use alloc_etherdev to allocate the private data structure. And use netdev_priv to find it. Signed-off-by: Stephen Hemminger Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] usbnet: use alloc_etherdev to allocate private data In order for network device lifetime stuff to work properly, it is necessary for devices to allocate private data as part of alloc_etherdev. Also, netdev_priv() is improvement over dereferencing netdev->priv Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] UHCI: No bandwidth reclamation during enumeration A few devices prefer not to have full-speed bandwidth reclamation turned on while they are being enumerated. In particular this seems to be true for the USB Bluetooth adapters built in to some laptop models (used for remote keyboards). This patch alters the UHCI driver so that control URBs for devices still in the USB_STATE_DEFAULT state will be placed on the low-speed queue rather than the full-speed queue. Since the low-speed queue isn't subject to bandwidth reclamation the devices will work properly. The negative impact on other devices is minimal; the process of device initialization will be slowed down by a few milliseconds. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: USB fixes for non-cache-coherent processors I posted this before, but didn't see any discussion. This patch fixes a couple of places where the usb subsystem DMAs to/from local (stack) variables. This doesn't work on non-cache-coherent processors. I'm testing on PPC 4xx systems. Signed-off-by: Dale Farnsworth Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usbnet patch (new ax8817x device) This patch enables usage of another USB2 100BASE-T adapter. http://www.corega.co.jp/product/list/lanadp/feusb2tx.htm From: Naoki Shibata Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB kaweth: use alloc_etherdev to allocate device private data - fix Goof found by compile warning. From: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] USB Gadget: Use proper BCD values This updates an earlier patch that added bcdDevice values for a new USB peripheral controller. The values weren't valid BCD numbers. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman NTFS: Improve error handling in fs/ntfs/inode.c::ntfs_truncate(). Signed-off-by: Anton Altaparmakov [PATCH] USB: goku_udc sparse updates This is a bunch of "sparse" fixes for goku_udc. One of these might be an issue on some systems for code that explicitly halts IN endpoints (like file_storage) if normal memory access doesn't work for PCI. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb/hcd kconfig updates This updates the dependencies of the HCDs and host-side USB so that: - Options for PCI-only HCDs (UHCI and, for now, EHCI) only appear systems that actually have PCI. - Adding non-PCI bus glue support for another OHCI adapter doesn't need involve changing the main USB Kconfig anymore. - Minor tweaks to the OMAP support, so OMAP 17xx and 24xx don't need additional Kconfig changes and so the H3/17xx gets the ISP1301 too. This still tries to hide host-side USB config options on systems that don't offer USB. While currently convenient, that's a losing proposition in the long term: host controllers on chips like SL811 and TD243 can be put onto any custom board. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: usb error code docs This has various updates to the USB error code documentation that I've had floating around. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: ohci module param for broken bios This patch provides a way to work around especially broken BIOS/SMM implementations which claim they support the OS-handoff handshake but actually don't. It's confirmed that this resolves some OSDL bug (ID isn't handy just now). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: omap_udc updates This is a collection of updates to the OMAP UDC driver. - OMAP-1510 support, including DMA (the DMA controller isn't quite the same as on newer chips) but not double buffering. - Some PIO work: * fix some races that showed up on OMAP-1510 * tracking down annoying PIO-OUT lossage and making double buffering start to behave (needed as fallback if all DMA channels are in use). - DMA-IN works on both 1510 and 16xx Plus minor cleanups. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB: net2280 compile fixes Fix some compiler warnings that came up with net2280 on processors with 64bit dma_addr-t ... one of them would have been a bug on big-endian CPUs. (Thanks to Randy Dunlap for reporting these.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB file-storage gadget: clean up endian issues This patch adds the __le16 data types to the file-storage gadget and removes some erroneous conversions to little-endian order. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [SCTP] Change sctp_assoc_t to a sized type(s32). Signed-off-by: Sridhar Samudrala [SCTP] Adaption layer indication support. Add support for SCTP_ADAPTION_INDICATION notification, SCTP_ADAPTION_LAYER socket option and SCTP_PARAM_ADAPTION_LAYER_IND parameter. Signed-off-by: Sridhar Samudrala [SCTP] Update cwnd/ssthresh as per the sctpimpguide modifications. Signed-off-by: Sridhar Samudrala [SCTP] When an address is deleted, update any transports that are caching it as a source adddress. Signed-off-by: Sridhar Samudrala [SCTP] Fix HEARTBEAT_ACKs being sent to wrong dest. ip address in a multi-homing scenario after a failback. Signed-off-by: Jorge Hernandez-Herrero Signed-off-by: Sridhar Samudrala [PATCH] hw_random.c: replace pci_find_device As pci_find_device is going away I've replaced it with pci_get_device. for_each_pci_dev is a macro wrapper around pci_get_device. If someone with this hardware could test it I would appreciate it. Thanks. Hanna Linder IBM Linux Technology Center Signed-off-by: Hanna Linder Signed-off-by: Jeff Garzik [ACPI] disable printk on AML breakpoint https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=135856 Signed-off-by: Len Brown [ide] pmac: kill pmac_ide_[raw_]build_sglist() Just use ide_dma_[raw_]build_sglist() from ide-dma.c. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] use ide_map_sg() * make Etrax ide.c, icside.c and ide-dma.c use ide_map_sg() * use one sg for REQ_DRIVE_TASKFILE requests in ide-dma.c (no reason for 128 sectors per sg limit) Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill ide_raw_build_sglist() ide_build_sglist() can be now used for REQ_DRIVE_TASKFILE requests. Signed-off-by: Bartlomiej Zolnierkiewicz [ide] ide-scsi: simplify+speedup DMA support * add hwif->sg_mapped flag * add idescsi_map_sg() converting scsi_cmd->sg into hwif->sg_table (this removes need for rq->bio) * remove code (de)allocating rq->bio Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill ide_hwif_t->ide_dma_verbose * make __ide_dma_verbose() void and drop "__" prefix * ide_dma_verbose() is always available now * use it instead of ide_hwif_t->ide_dma_verbose * sgiioc4.c version reported wrong mode * icside.c version repeated info given by ->ide_dma_check() Signed-off-by: Bartlomiej Zolnierkiewicz [ide] kill /proc/ide/ide?/config * writes to PCI config space are non-functional since 2.4.21 * reads of full PCI config space are allowed for normal users * I'm not aware of any applications using this interface Signed-off-by: Bartlomiej Zolnierkiewicz [PATCH] USB: tiglusb: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB: dabusb: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() so that the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Maximilian Attems Signed-off-by: Greg Kroah-Hartman [PATCH] USB device init: implement the Windows scheme This patch implements the Windows scheme for USB device initialization. It also incorporates the change recently posted by David to scrub the endpoint state following a SET-ADDRESS. Other noteworthy changes: There are two new module parameters to control whether the old scheme or the new one is used first and whether the other scheme is tried if the first one fails. Default settings are to use the new scheme only. hub_set_address() returns 0 immediately if the device is already in the USB_STATE_ADDRESS state. On the first attempt to read the device descriptor the code uses a short 1-second timeout. This ought to help prevent full-speed devices with an 8- or 16-byte maxpacket from slowing the procedure down by NAKing the unexpectedly early status stage of the transfer. For debugging, the ep0 maxpacket value is printed. It might be a good idea to validate it rather than just believing the device -- although I haven't heard of any device providing an incorrect value other than 0. Signed-off-by: Alan Stern Signed-off-by: Greg Kroah-Hartman [PATCH] USB: fix usb/serial/console.c compile error The following compile error seems to come from Linus' tree: <-- snip --> ... CC drivers/usb/serial/bus.o CC drivers/usb/serial/console.o drivers/usb/serial/console.c: In function `usb_console_write': drivers/usb/serial/console.c:221: warning: passing arg 3 of pointer to function makes integer from pointer without a cast drivers/usb/serial/console.c:221: error: too many arguments to function drivers/usb/serial/console.c:223: warning: passing arg 3 of `usb_serial_generic_write' makes integer from pointer without a cast drivers/usb/serial/console.c:223: error: too many arguments to function `usb_serial_generic_write' make[3]: *** [drivers/usb/serial/console.o] Error 1 <-- snip --> This was caused by the changed "write" in usb_serial_device_type. Signed-off-by: Adrian Bunk Signed-off-by: Greg Kroah-Hartman [PATCH] USB input Kconfig updates This tweaks the USB input driver support, notably fixing a botched dependency that makes all the USB drivers appear strangely in Kconfig. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: full conversion to usb_unlink_urb kaweth used its own synchronisation superseded by usb_unlink_urb(). Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [PATCH] kaweth: no need for packed there was an uneeded packed attribute for a data structure. Signed-off-by: Oliver Neukum Signed-off-by: Greg Kroah-Hartman [ACPI] ACPICA 20040827 update from Bob Moore Signed-off-by: Len Brown Implemented support for implicit object conversion in the non-numeric logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and LNotEqual.) Any combination of Integers/Strings/Buffers may now be used; the second operand is implicitly converted on the fly to match the type of the first operand. For example: LEqual (Source1, Source2) Source1 and Source2 must each evaluate to an integer, a string, or a buffer. The data type of Source1 dictates the required type of Source2. Source2 is implicitly converted if necessary to match the type of Source1. Updated and corrected the behavior of the string conversion support. The rules concerning conversion of buffers to strings (according to the ACPI specification) are as follows: ToDecimalString - explicit byte-wise conversion of buffer to string of decimal values (0-255) separated by commas. ToHexString - explicit byte-wise conversion of buffer to string of hex values (0-FF) separated by commas. ToString - explicit byte-wise conversion of buffer to string. Byte-by-byte copy with no transform except NULL terminated. Any other implicit buffer-to-string conversion byte-wise conversion of buffer to string of hex values (0-FF) separated by spaces. Fixed a problem in acpi_ns_get_pathname_length where the returned length was one byte too short in the case of a node in the root scope. This could cause a fault during debug output. [ACPI] ACPICA 20040922 from Bob Moore Signed-off-by: Len Brown Fixed a problem with the implementation of the LNot() operator where "Ones" was not returned for the TRUE case. Changed the code to return Ones instead of (!Arg) which was usually 1. This change affects iASL constant folding for this operator also. Fixed a problem in acpi_ut_initialize_buffer where an existing buffer was not initialized properly -- Now zero the entire buffer in this case where the buffer already exists. Changed the interface to acpi_os_sleep from (UINT32 Seconds, UINT32 Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all related code considerably. This requires changes/updates to all OS interface layers (OSLs.) Implemented a new external interface, acpi_install_exception_handler, to allow a system exception handler to be installed. This handler is invoked upon any run-time exception that occurs during control method execution. Added support for the DSDT in acpi_tb_find_table. This allows the DataTableRegion() operator to access the local copy of the DSDT. [PATCH] I2C: Fix compile of drivers/i2c/busses/i2c-s3c2410.c Signed-off-by: Greg Kroah-Hartman [PATCH] I2C: fix recently introduced race in IBM PPC4xx I2C driver On Tue, Oct 19, 2004 at 10:21:08PM -0700, Eugene Surovegin wrote: [snip] > It looks like this change added race I tried to avoid here. > > This code is modeled after __wait_event_interruptible_timeout, where > "prepare_to_wait" is done _before_ checking completion status. This > change breaks this, e.g. if IRQ happens right after we check iic->sts, > but before calling msleep_interruptible(). In this case we'll sleep > much more than required (seconds instead of microseconds) > > Greg, if my analysis is correct, please rollback this change. > > Nishanth, I'd be nice if you CC'ed me with this patch, my e-mail is at > the top of that source file. Oh, well. I should have used wait_event_interruptible_timeout when I ported this driver to 2.6. This patch fixes recently introduced race and also cleans ups some 2.4-ism. Signed-off-by: Eugene Surovegin Signed-off-by: Greg Kroah-Hartman [ACPI] acpi_os_sleep() now takes a single 64-bit value in [ms] Signed-off-by: Len Brown [PCMCIA] Fix PCMCIA behaviour on resume with different card. PCMCIA checks the card CIS against its cached copy. If it finds that the card does not match, it destroys the bindings with existing drivers, issues an remove event followed by an insert event. However, ds.c delays the remove event by 100ms, so cardmgr sees the insert before remove. It thereby ignores the new card. Also, we ended up leaving the fake CIS intact, so the new card appears to be described by the fake CIS. Destroy the fake CIS in addition to the CIS cache. [ACPI] ACPICA 20040924 from Bob Moore Signed-off-by: Len Brown Added a new OSL interface, acpi_os_get_timer. This interface implements a 64-bit monotonic timer in 100 nanosecond units. Implemented support for the ACPI 3.0 Timer operator. This 64-bit timer utilizes the timer provided by the acpi_os_get_timer interface. [PATCH] cdev: protect against buggy drivers Here is a better fix (thanks Greg) that allows long names for character device objects. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] avoid problems with kobject_set_name and name with % kobject_set_name takes a printf style argument list. There are many callers that pass only one string, if this string contained a '%' character than bad things would happen. The fix is simple. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_hotplug: permit no hotplug_ops Make kobject_hotplug() work even if the kobject's kset doesn't implement any hotplug_ops. Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] remove cpu_run_sbin_hotplug() From: Keshavamurthy Anil S Remove cpu_run_sbin_hotplug() - use kobject_hotplug() instead. Signed-off-by: Anil S Keshavamurthy Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [PATCH] kobject_uevent warning fix lib/kobject_uevent.c:39: warning: `action_to_string' defined but not used Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman [TCP]: Only re-set TSO size for packet which was TSO to begin with. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [PKT_SCHED]: netem: use timer to handle packets not rescheduling Change the behaviour of netem's delayed packets queue to make it work better with TBF and other rate control disciplines. Now, packets are put in the delayed queue and held there until the next timer interval, then moved to the underlying qdisc. qlen is set to match the available packets in the underlying discipline (and not count those waiting). Previously, netem would perturb the rate control disciplines because of rescheduling and moving packets in the dequeue handler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller [PKT_SCHED]: u32: Remove unused hgenerator field in tc_u_hnode. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller [NETFILTER]: Fix ipt_hashlimit build with NETFILTER_DEBUG enabled. Signed-off-by: David S. Miller hotplug: prevent skips in sequence number from happening Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: minor pci tweaks This has minor PCI tweaks for the EHCI driver: - If the (nonfunctional) AMD 8111 controller shows up, ignore it. (Patch from Matt Dharm, with minor coding style tweaks). - Delete some code that interprets an EHCI capability code; it should be a PCI capability instead. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: handle earlier endpoint_disable() The recent patch to scrub out ep0 state earlier (to get rid of some of the enumeration problems that started with about 2.6.6) requires EHCI to handle endpoint_disable() calls in a slightly different context. This makes those calls work when an endpoint's QH may still be on the async schedule, rather than already unlinked. (The QH stays on the async schedule for a few milliseconds after it's empty, since it's routine to issue another request almost immediately.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [PATCH] USB ehci: minor debug cleanups This updates debug messages, declaring that labels can be constant strings and changing some old-school dbg() calls to driver model dev_dbg(). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman [ATY]: Fix build on sparc after viro sparse changes. Signed-off-by: David S. Miller [PATCH] Missed usb devices on boot This marks sets change_bits to all ones when bringing up a hub, since not all hubs seem to send change events for devices that were plugged in when the hub was reset. David Miller confirms this fixes his boot-time lost keyboard/mouse problem [ACPI] place-holder for ACPI 3.0 acpi_os_get_timer() [ACPI] ACPICA 20041006 from Bob Moore Signed-off-by: Len Brown Implemented support for the ACPI 3.0 Timer operator. This ASL function implements a 64-bit timer with 100 nanosecond granularity. Defined a new OSL interface, acpi_os_get_timer. This interface is used to implement the ACPI 3.0 Timer operator. This allows the host OS to implement the timer with the best clock available. Also, it keeps the core subsystem out of the clock handling business, since the host OS (usually) performs this function. Fixed an alignment issue on 64-bit platforms. The hw_low_level_read/write() functions use a 64-bit address which is part of the packed ACPI Generic Address Structure. Since the structure is non-aligned, the alignment macros are now used to extract the address to a local variable before use. Fixed a problem where the ToInteger operator assumed all input strings were hexadecimal. The operator now handles both decimal strings and hex strings (prefixed with "0x"). Fixed a problem where the string length in the string object created as a result of the internal ConvertToString procedure could be incorrect. This potentially affected all implicit conversions and also the ToDecimalString and ToHexString operators. Fixed two problems in the ToString operator. If the length parameter was zero, an incorrect string object was created and the value of the input length parameter was inadvertently changed from zero to Ones. Fixed a problem where the optional ResourceSource string in the ExtendedIRQ resource macro was ignored. Simplified the interfaces to the internal division functions, reducing code size and complexity. [ACPI] fix build warning in tables/tbget.c [ACPI] ACPICA 20041015 from Bob Moore Signed-off-by: Len Brown Note: ACPI CA is currently undergoing an in-depth and complete formal evaluation to test/verify the following areas. Other suggestions are welcome. This will result in an increase in the frequency of releases and the number of bug fixes in the next few months. - Functional tests for all ASL/AML operators - All implicit/explicit type conversions - Bit fields and operation regions - 64-bit math support and 32-bit-only "truncated" math support - Exceptional conditions, both compiler and interpreter - Dynamic object deletion and memory leaks - ACPI 3.0 support when implemented - External interfaces to the ACPI subsystem Fixed two alignment issues on 64-bit platforms - within debug statements in acpi_ev_gpe_detect and acpi_ev_create_gpe_block. Removed references to the Address field within the non-aligned ACPI generic address structure. Fixed a problem in the Increment and Decrement operators where incorrect operand resolution could result in the inadvertent modification of the original integer when the integer is passed into another method as an argument and the arg is then incremented/decremented. Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit BCD number were truncated during conversion. Fixed a problem in the ToDecimal operator where the length of the resulting string could be set incorrectly too long if the input operand was a Buffer object. Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0) within a buffer would prematurely terminate a compare between buffer objects. Added a check for string overflow (>200 characters as per the ACPI specification) during the Concatenate operator with two string operands. [ACPI] fix build warning Cset exclude: jason.davis@unisys.com[torvalds]|ChangeSet|20040914144015|50315 [PATCH] delay rq_lock acquisition in setscheduler Doing access control checks with rq_lock held can cause deadlock when audit messages are created (via printk or audit infrastructure) which trigger a wakeup and deadlock, as noted by both SELinux and SubDomain folks. This patch will let the security checks happen w/out lock held, then re-sample the p->policy in case it was raced. Originally from John Johansen , reworked by me. AFAIK, this version drew no objections from Ingo or Andrea. From: John Johansen Acked-by: Ingo Molnar Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds [ALSA] boot_devs removal - module_param_array() accepts NULL now Intel8x0 driver,RME96 driver,ICE1724 driver,NM256 driver Signed-off-by: Jaroslav Kysela [PATCH] Invalid BUG_ONs in signal.c Oh, duh. The race is obvious. Sorry for the confusion there. The BUG_ON's were useful for debugging, since they trigger on a lot of errors, but they _also_ trigger on some unlikely (but valid) races. So just remove them - just fall through to the regular exit code after core-dumping (which does everything right). Signed-off-by: Linus Torvalds [PATCH] Fix ptrace problem This is indeed a new bug, and it is not architecture-specific. In my recent changes to close some race conditions, I overlooked the case of a process using PTRACE_ATTACH on its own children. The new PT_ATTACHED flag does not really mean "PTRACE_ATTACH was used", it means "PTRACE_ATTACH is changing the ->parent link". This fixes the problem that Stephane Eranian program demonstrates. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds [PATCH] fix core-dump return code While looking at the signal.c coredumping BUG_ON race, I noticed a bug (not directly related) in do_coredump. It was setting the "core dumped" flag even when the format dumping hook failed (e.g. for memory allocation failures). Signed-off-by: Linus Torvalds [ACPI] ibm-acpi 0.7 from Borislav Deianov The CMOS handle was incorrectly marked as required, breaking insmod on models without one; The BLED method was incorrectly required if LED is not defined, breaking LED control on the A21e. Signed-off-by: Len Brown [ide] aec62xx: kill /proc/ide/aec62xx Signed-off-by: Bartlomiej Zolnierkiewicz [ide] atiixp: kill /proc/ide/atiixp Signed-off-by: Bartlomiej Zolnierkiewicz [ide] cs5520: kill /proc/ide/cs5520 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] cs5530: kill /proc/ide/cs5530 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] hpt366: kill /proc/ide/hpt366 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] pdc202xx_new: kill /proc/ide/pdcnew Signed-off-by: Bartlomiej Zolnierkiewicz [ide] pdc202xx_old: kill /proc/ide/pdc202xx Signed-off-by: Bartlomiej Zolnierkiewicz [ide] piix: kill /proc/ide/piix Signed-off-by: Bartlomiej Zolnierkiewicz [ide] sc1200: kill /proc/ide/sc1200 Signed-off-by: Bartlomiej Zolnierkiewicz [ide] serverworks: kill /proc/ide/svwks Signed-off-by: Bartlomiej Zolnierkiewicz [ide] slc90e66: kill /proc/ide/slc90e66 Signed-off-by: Bartlomiej Zolnierkiewicz [ARM] Fix missing parens for __FD_* operations. fork.c highlighted that we were missing some parens. Add them. [NETFILTER]: Fix warning in CONNMARK Signed-off-by: Thomas Graf Signed-off-by: Patrick McHardy [SERIAL] Remove dead code. serial8250_get_irq_map is no longer used anywhere in the kernel (it used to be used by the isapnp code but isn't anymore) so it's dead code, below is a patch to remove this. [PATCH] SCSI: fix `risc_code_addr01' multiple definition Make all of the qlogic firmware pointers static Signed-off-by: James Bottomley [PATCH] qla1280: driver_setup not __initdata 'driver_setup' cannot be __initdata if slave_configure() can be called after driver-init: Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fbf R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fc9 R_X86_64_PC32 .init.data+0x000000000000007e Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fea R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000ff4 R_X86_64_PC32 .init.data+0x0000000000000080 Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001039 R_X86_64_PC32 .init.data+0x000000000000007b Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001043 R_X86_64_PC32 .init.data+0x0000000000000082 Signed-off-by: Randy Dunlap Signed-off-by: James Bottomley [PATCH] Add megaraid PCI IDs From: "Sergey S. Kostyliov" Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] aic7xxx remove warnings From: Jan Dittmer This patch converts the aic7xxx driver to use module_param instead of MODULE_PARM and therefore gets rid of two warning in the non-modular build case. Signed-off-by: Andrew Morton Signed-off-by: James Bottomley [PATCH] dmx3191d.c lacked MODULE_DEVICE_TABLE() The MODULE_DEVICE_TABLE() declaration, which is used by boot and hot plug facilities to load the module when the hardware is present was missed in the PCI API conversion. Signed-off-by: James Bottomley sym2 2.1.18m From: Matthew Wilcox sym2 2.1.18m: - Improve documentation - Remove host-level command queueing (Christoph Hellwig) - Add support for IU and QAS - sparse annotation (Randolph Chung) - Remove SYM_LINUX_BOOT_COMMAND_LINE_SUPPORT ifdefs - Switch to the new module_param interface - Rename tags to cmd_per_lun for consistency - Fix debug param - Split extended tags functionality into the new tag_ctrl parameter - rewrite how safe param works - reverse_probe param has had no effect for a while, remove it. - Add descriptions for all the parameters - Add MODULE_AUTHOR and MODULE_DESCRIPTION - Restructure sym_config_pqs() a little - Move hostid setup to a more sensible place - Do away with SYM_GLUE_C - Use a completion instead of a semaphore (Thomas Gleixner) - Use IDENTIFY() instead of M_IDENTIFY - Define messages in terms of those defined in - Define PCI IDs in terms of those in - Define sym2's status codes in terms of the SAM ones defined in Added brown bag fix Signed-off-by: James Bottomley [PATCH] SCSI core: Fix refcounting error This bug was present as of 2.6.9-bk7, apparently introduced along with the addition of SCSI targets into sysfs. The code takes a reference to the host for each initialized sdev but only drops a reference when each target is released. As you might expect, this causes a refcount leak whenever a target has more than 0 LUNs. The patch changes things so that the reference is acquired when the target is initialized, not when the sdev is initialized. Signed-off-by: Alan Stern Signed-off-by: James Bottomley [PATCH] alpha: fix sparse warnings - add missing "__user" annotations in csum_partial_copy.c; - make io_remap_page_range more readable and fix a warning. [PATCH] alpha: fix CIA IO The high order bits of the input address should be cleared only after IO type and base are determined. [PATCH] alpha: bootp fixes - redefine "printk" as "srm_printk" for bootstrappers; - fix stack corruption problem with bootp/bootpz loaders and older SRM consoles. [PATCH] Add __ioremap I hadn't realized this was supposed to be an official interface. Or maybe it's not, but the fb drivers all use it. Anyway... Start supporting lock context annotations. This just sets up the portability defines. Annotate the trivial unconditional lock/unlock functions on SMP. This does _not_ handle the conditional ones (lock_kernel and the trylock variants), so there will be a fair number of context error warnings with this. However, the warnings are disabled by default in sparse - you have to use "-Wcontext" to see them. [PATCH] fbdev: Fix software blanking code The code in fbmem.c:fb_blank() is broken. For drivers without an fb_blank hook, an FBIO_BLANK ioctl will produce wrong colors or will segfault. Signed-off-by: Antonino Daplas Signed-off-by: Linus Torvalds [NETFILTER]: Fix multiple bugs in dst match This patch fixes the following bugs in ip6t_dst.c. - ".me = THIS_MODULE" is missing - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Fix multiple bugs in hbh match This patch fixes the following bugs in ip6t_hbh.c. - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce skb_header_pointer() to dst match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: Introduce skb_header_pointer() to hbh match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy [NETFILTER]: fix stats in __ip_conntrack_confirm net_rx_softirq can preempt the calling process while incrementing the stats. I think that we can fix this moving both CONNTRACK_STAT_INC to the locked section. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy Un-inline the big kernel lock. Now that spinlocks are uninlined, it is silly to keep the BKL inlined. And this should make it a lot easier for people to play around with variations on the locking (ie Ingo's semaphores etc). Fix broken intel8x0.c ALSA "merge" The file didn't compile, and the ALSA CVS tree had dropped the bitfield signedness fixes. [PATCH] Fix msleep to sleep _at_least_ the requested amount Makes sure msleep() sleeps at least the amount provided, since schedule_timeout() doesn't guarantee a full jiffy. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c This patch moves some of the routines responsible for dealing with the mapping of PCI host bridges IO space from pSeries to the generic ppc64 pci code. PowerMac doesn't use it currently, but a new platform will soon. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PNPBIOS] disable if ACPI is active As further ACPI pnp functionaility is implemented it is no longer safe to run ACPI and PNPBIOS concurrently. We therefore take the following approach: - attempt to enable ACPI support - if ACPI fails (blacklist etc.) enable pnpbios support - if ACPI support is not compiled in the kernel enable pnpbios support Signed-off-by: Adam Belay [PNPBIOS] use msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan Signed-off-by: Adam Belay [PNPBIOS] acpi compile fix Allow PNPBIOS to compile if ACPI support is not enabled. Signed-off-by: Adam Belay [PATCH] ppc64: Fix pSeries secondary CPU setup This patch fixes the setup of the secondary CPU(s) on pSeries, on non-LPAR platforms, especially with 970 CPUs, we need to copy some of the HID registers from CPU0 to the other ones as soon as they reach the early asm code. The PowerMac SMP entry did it already, but not the pSeries one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Rewrite the openpic driver This patch replaces the open_pic IRQ controller driver with a new version rewritten from scratch, called "mpic" (this is the name of IBM's open_pic implementation and also the only one actually used on any platform). It is smaller, hopefully more readable, supports the various variants of the cell in a single driver (open_pic_u3.c is gone), and adds optional support for the workaround of U3 mpic beeing used along with IO-APICs on HyperTransport (the eval board will uses that, among others). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] 8250: Let arch provide the list of leagacy ports This patch adds an optional callback for the 8250 driver to request the list of legacy port via a function call instead of relying on a #define of an array. This finally allows to fix the problem of platforms like ppc and ppc64 for which the same kernel can boot machines with and without a 8250, and is necessary to properly deal with a new platform coming to ppc64 which has a 8250 but with different irq numbers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: properly build list of legacy serial ports from OF This patch adds a ppc64 implementation of the routine providing the list of default 8250 serial ports. It provides a empty list by default unless the platform code fills it, and it provides a generic function for user by Open Firmware based machines which fills the list based on serial ports found in the OF device-tree. It depends on the previous patch adding the generic support for this to the 8250 driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: clean up existence-check of legacy ISAdevices My previous patch exposed the internals of the ppc_md. data structure to drivers, which wasn't nice, this new patch cleans that up. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: cleanups of ppc64 pci.c This patch applies on top of previously posted "ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c". It does cosmetic cleanups & add some debug macros to pci.c without actually changing any functionality. Further patches against ppc64 pci.c that I'll post will be against a file already patched with this one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Some small pci fixes This patch fixes a few issues in the ppc64 pci code, notably some incorrect parsing of Open Firmware "ranges" when setting up host bridge resources that would cause a problem with some future platforms, a default mapping of the ISA IOs if the OF "isa" node lacks a "ranges" property, and a safeguard in pci_scan_all_fns() in case a pci<->OF node mapping cannot be established. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Rework PCI <-> OF node matching This patch reworks the code that deals with matching PCI devices with Open Firmware device nodes. This code made several incorrect assumptions and can be simplified significantly. The main functional difference now is that PHBs are no longer special cased, but that shouldn't cause any specific problem. It also fixes a problem where u3_iommu.c wouldn't work for PCI devices that lacked a matching OF device node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: cleanup/split SMP code Splits arch/ppc64/kernel/smp.c into 3 different files, smp.c, pSeries_smp.c and iSeries_smp.c, thus removing most of the #define mess in those files and making it easier to add a new platform. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: Some cleanups of prom_init.c This patch does a few cleanups of arch/ppc64/kernel/prom_init.c, making the RTAS instanciation code more readable & more robust, fixing a bug in the code bringing in additional CPUs (would work with IBM firmware, but not with another firmware of an upcoming platform), plus remove some old commented out cruft left-over from the big cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] ppc64: remove unused cruft from prom.h This patch removes some bogus struct definitions from prom.h that aren't used anymore after the other pending ppc64 patches have been applied. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds [PATCH] mem leak in tty_io.c The recent patch to clean up user accesses introduced a memory leak. If write_buf is reallocated, the old buffer isn't freed. Also, since kfree can take nulls, I removed the if from the other kfree. Signed-off-by: Linus Torvalds [PATCH] NTFS: missing #include fs/ntfs/compress.c calls v{malloc,free}() without including Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds [PATCH] Cyclades assignment warning Remove unneeded cast that causes a warning (cy_isa_addresses is an array of unsigned ints). Signed-off-by: Linus Torvalds [PATCH] SCx200_ACB depends on PCI SCx200_ACB is a PCI driver and thus should depend on PCI Signed-off-by: Linus Torvalds [PATCH] Atyfb: kill assignment warnings on Atari due to __iomem Signed-off-by: Linus Torvalds Cset exclude: elf@buici.com|ChangeSet|20040920183610|08290 Revert smc91x driver changeset, since this is already covered by other smc91x updates already upstream. Signed-off-by: Jeff Garzik NTFS: Add fs/ntfs/aops.c to list of providers for ->b_end_io method in Documentation/filesystems/Locking. Signed-off-by: Anton Altaparmakov NTFS: - Change fs/ntfs/inode.c::ntfs_truncate() to return an error code instead of void and provide a helper ntfs_truncate_vfs() for the vfs ->truncate method. - Add a new ntfs inode flag NInoTruncateFailed() and modify fs/ntfs/inode.c::ntfs_truncate() to set and clear it appropriately. Signed-off-by: Anton Altaparmakov NTFS: Fix min_size and max_size definitions in ATTR_DEF structure in fs/ntfs/layout.h to be signed. Signed-off-by: Anton Altaparmakov NTFS: Add attribute definition handling helpers to fs/ntfs/attrib.[hc]: ntfs_attr_size_bounds_check(), ntfs_attr_can_be_non_resident(), and ntfs_attr_can_be_resident(), which in turn use the new private helper ntfs_attr_find_in_attrdef(). Signed-off-by: Anton Altaparmakov NTFS: In fs/ntfs/aops.c::mark_ntfs_record_dirty(), take the mapping->private_lock around the dirtying of the buffer heads analagous to the way it is done in __set_page_dirty_buffers(). Signed-off-by: Anton Altaparmakov [PATCH] Fix PCMCIA duplicate pc_debug names Avoid naming confusion concerning "pc_debug" which is widely used by drivers be renaming the PCMCIA "driver services" variant to ds_pc_debug. The module parameter stays the same, thanks to module_param_named(). Signed-off-by: Dominik Brodowski Signed-off-by: Linus Torvalds [PATCH] Avoid small irq preemption recursion window This will get rid of the stack recursion possibility that can occur if an IRQ happens to hit the IRQ return path right after we've reset preempt_count() to 0 and are about to disable interrupts again. Trivially fixed by just moving the preempt count update to inside the interrupt disable. This makes the current PREEMPT_ACTIVE method fully work for IRQ recursions. ppc64: make G5 setup compile again The stop_self thing is accessed unconditionally from pSeries_setup.c [PATCH] add 'for_each_pci_dev()' helper macro Jeff already mistakenly sent in a user of this macro, so we should probably add the macro itself too. Signed-off-by: Hanna Linder Signed-off-by: Linus Torvalds [ACPI] ACPI_CUSTOM_DSDT for IA64 too Signed-off-by: Anil S Keshavamurthy Signed-off-by: Len Brown Allow BKL re-acquire to fail, causing us to re-schedule. This allows for low-latency BKL contention even with preemption. Previously, since preemption is disabled over context switches, re-acquiring the kernel lock when resuming a process would be non-preemtible. [ACPI] Extensions for Display Adapters (Bruno Ducrot) http://bugme.osdl.org/show_bug.cgi?id=1944 Signed-off-by: Luming Yu Signed-off-by: Len Brown [EBTABLES]: Add wildcard support for interface matching. Due to an old braindead decision, ebtables doesn't yet support the wildcard '+' for matching interface names. The following patch removes this nuissance and is backwards compatible. Signed-off-by: David S. Miller [NETFILTER]: Make *_find_target_lock routines static. Signed-off-by: David S. Miller [NETFILTER]: ip_ct_attach decl got removed by accident. Signed-off-by: David S. Miller [NETFILTER]: fix ipt_ULOG bogus error messages Please apply the fix below, it addresses some bogus error messages ('error during NLMSG_PUT') that were printed because of a wrong calculation of the 'len' parameter to NLMSG_PUT(). Signed-off-by: Harald Welte Signed-off-by: David S. Miller [NET]: Give skb_checksum_help() an skb_buff * again Since skb_checksum_help has been using pskb_expand_head for a while now without any ill effects, I thought it would be a good idea to remove the double pointers from it and its callers. This is what the following patch does. The only 'rider' bit is the removal of an unnecessary BUG_ON in ip6_pkt_discard_out. The preceding assignment was only added because the following function oopsed so there is no point in doing BUG_ON. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller [NET]: Accept should return ENFILE not EMFILE. Signed-off-by: David S. Miller [PATCH] revert "ppc: fix build with o=output_dir" This was the wrong fix - back it out and try again later. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ds_ioctl.c usercopy check Patch adds a check of the return value and returns -EFAULT if __copy_to_user fails. Signed-off-by: Jesper Juhl Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Shift key-related error codes up and insert ECANCELED This patch shifts the key-related error codes up by one and inserts an ECANCELED error code where not already defined. It seems that has been defined in glibc without passing it back to the kernel:-/ Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] msnd.c build fix sound/oss/msnd.c: In function `msnd_enable_irq': sound/oss/msnd.c:278: warning: implicit declaration of function `enable_irq' sound/oss/msnd.c: In function `msnd_disable_irq': sound/oss/msnd.c:307: warning: implicit declaration of function `disable_irq' sound/oss/msnd.c:323: `msnd_get_num_devs' undeclared here (not in a function) sound/oss/msnd.c:323: initializer element is not constant Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] mm: help zone padding Uses the zero length array which seems to be quite abundant throughout the tree to reduce the size of the zone padding to zero. 1536 before, 1152 afterwards for me. Also try to be a bit smarter about getting commonly accessed fields together, which surely can't be worse than before. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] checkstack: add x86_64 arch. support Add support for x86_64 arch. to 'make checkstack' (checkstack.pl). Signed-off-by: Randy Dunlap Acked-by: Jrn Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] lsm: fix send_sigurg mediation Stephen Smalley notes that send_sigurg isn't mediated by LSM in the same manner as send_sigio. Patch below is a slight modification of Stephen's original patch. It moves the security_file_send_sigiotask() hook into the sigio_perm(). The hook's fd and reason arguments are replaced with the signum. sigio_perm() and it's callers are updated to pass the signum through to the hook. In send_sigio case, the signum is simply fown->signum or SIGIO when signum is 0, however in send_sigurg the kernel doesn't use fown->signum, it always sends SIGURG. From: Stephen Smalley Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] lsm: remove net related includes from security.h With this we're back to the times when changing skbuff.h only triggers rebuild of _net_ related stuff 8) This uncovered a bug in rmap.h, that was not including mm.h to get the definition of struct vm_area_struct, working by luck. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc32: Fix building for Motorola Sandpoint with O= Since we directly -include $(clear_L2_L3) when needed, we need to point to the full path of it. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: don't build virtual IO drivers for PowerMac Only compile vio.c on iSeries and pSeries, since other PPC64 platforms (PowerMac) don't use virtual IO. The resulting #ifdefs in dma.c are kind of ugly, but at least contained, and I can't see a nicer way of doing it for the time being. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: trivial sparse cleanups This patch squashes a handful of assorted sparse warnings in the ppc64 code. Should be pretty much trivial and self explanatory. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: xmon sparse cleanups This patch removes many sparse warnings from the xmon code. Mostly K&R function declarations and 0-instead-of-NULLs. There are still a whole bunch of warnings in xmon/ppc-opc.c, which is a copy of a file from binutils. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: provide notifier list for EEH slot isolations When the EEH (enhanced i/o error handling) hardware on pSeries detects various kinds of PCI errors, it immediately freezes and isolates the slot of the offending PCI card. We get to know about that by noticing that reads from the device return all-1s, and then we have to do a firmware call to find out whether the all-1s value was due to a slot isolation. This patch adds a notifier so that other parts of the system (e.g. the RPA PCI hotplug driver) can know that a slot isolation event has occurred and take whatever recovery action is appropriate. The notifier is called in a workqueue function, although the read from the device that noticed the all-1s value may have been at interrupt level. As a precaution, if we keep trying to read from the device at interrupt level, and do 1000 reads without the workqueue getting a chance to run, we panic, on the grounds that we presumably have a badly-written driver which will spin forever in its interrupt routine, e.g. waiting for a bit in a device register to go to 0. This patch is based on an earlier patch by Linas Vepstas . Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: crash during firmware flash update This patch is from Linas Vepstas . Race conditions during system shutdown after a firmware flash can sometimes lead to an invalid pointer deref (deref to freed memory). This patch fixes this. In addition, it makes sure that the proc entries created by the firmware flash module are removed when the module is unloaded. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: create iommu_free_table() This patch is from John Rose . The patch below creates iommu_free_table(). Iommu tables are not currently freed in PPC64. This could cause a memory leak for DLPAR of an EADS slot. The function verifies that there are no outstanding TCE entries for the range of the table before freeing it. I added a call to iommu_free_table() to the code that dynamically removes a device node. This should be fairly symmetrical with the table allocation, which happens during dynamic addition of a device node. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ppc64: __ioremap_explicit() criterion change This patch is from John Rose . The function __ioremap_explicit() misses a possible (obscure) case when reserving the imalloc area for the new region. This can result in the unexpected DLPAR-add failure for an I/O slot. The failure will be characterized by a kernel message resembling "could not obtain imalloc area for ea 0x..." Here's an explanation: At boot time, imalloc regions are created for the ranges of all PHBs. Upon removal of a child slot for one of these PHBs, the imalloc region is split so that the region for the child slot can be removed. A GFW testcase revealed the following scenario. A PHB is remapped at boot for virtual address range A through C. At boot, the partition owns a slot that spans from A to B. This slot is DLPAR-removed, leaving an imalloc region from B to C. At this point, the user DLPAR adds an EADS slot that was not present at boot, but is a child of the PHB. The new slot happens to have a range that directly matches the leftover PHB range, from B to C. The existing code does not expect this, so the operation fails. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] power/disk.c: small fixups power_down may never ever fail, so it does not really need to return anything. Kill obsolete code and fixup old comments. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] small SOFTWARE_SUSPEND help text fixes Some small fixes for the SOFTWARE_SUSPEND help text. Signed-off-by: Adrian Bunk Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: Kconfig and defconfig updates. - Make CONFIG_SMP depend on TT mode. Since SMP does not work in SKAS mode (it's still a TODO), add the dependency in the Kconfig. Also mark CONFIG_SMP as experimental. - Workaround kconfig warning: just for now (we wait for a "CONFIG_VIRTUAL_OS" to exclude physical hardware) create the CONFIG_INPUT option (fixed to N), to avoid complaints from make *config ARCH=um about it being undefined. - Mark HPPFS as broken and needing updates. - Update defconfig, both for new kernel options and for changes in the actual config. For instance, enable module support by default. - Update help text for some items and add a help to some other ones. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: resync LDS script for SMP changes Add a couple entries to the linker script which are needed for SMP to link. (From Yan Burman) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: unused label Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] uml: add conf INITRAMFS_SOURCE Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: sacf local root exploit (CAN-2004-0887) s390 core changes: - Force user process back to home space mode in space switch event exception handler. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: core changes s390 core changes: - Load pid to cr4 on context switch. - Correct and check buffer length of cpcmd. Fix cpcmd inline assembly. - Add missing cc clobber to do_softirq insline assembly. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ne2k-pci pci build fix Fix for updated pci_{save,restore}_state() Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik [PATCH] s390: dcss segments cleanup From: Carsten Otte From: Gerald Schaefer Cleanup segment load/unload infrastructure. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: debug feature system control From: Christian Borntraeger Debug feature changes: - Add system control to stop the debug feature. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: qdio changes From: Utz Bacher qdio changes: - Rename iqdio_is_inbound_q_done to tiqdio_is_inbound_q_done to keep function naming consistent. - Allocate qdio structures below 2GB. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] s390: network driver From: Frank Pavlic From: Thomas Spatzier s390 network driver changes: - ctc/iucv: Use DECLARE_PER_CPU instead of extern DEFINE_PER_CPU. - lcs: Always set channel state to CH_STATE_INIT when stopping channels. - qeth: vlan fixes. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: small load balance fix Small bug fix for domains that don't load balance (like those that only balance on exec for example). Signed-off-by: John Hawkes Signed-off-by: Jesse Barnes Acked-by: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: improved load_balance() tolerance for pinned tasks A large number of processes that are pinned to a single CPU results in every other CPU's load_balance() seeing this overloaded CPU as "busiest", yet move_tasks() never finds a task to pull-migrate. This condition occurs during module unload, but can also occur as a denial-of-service using sys_sched_setaffinity(). Several hundred CPUs performing this fruitless load_balance() will livelock on the busiest CPU's runqueue lock. A smaller number of CPUs will livelock if the pinned task count gets high. This simple patch remedies the more common first problem: after a move_tasks() failure to migrate anything, the balance_interval increments. Using a simple increment, vs. the more dramatic doubling of the balance_interval, is conservative and yet also effective. Signed-off-by: John Hawkes Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] schedstat: fix schedule() statistics The number of times schedule() left the processor idle in the /proc/schedstat (runqueue.sched_goidle) seems to be wrong. The schedule() statistics should satisfy the equation: sched_cnt == sched_noswitch + sched_switch + sched_goidle (http://eaglet.rain.com/rick/linux/schedstat/v10/format-10.html) The below patch fix this, and I have confirmed to be fixed with: # grep ^cpu /proc/schedstat | awk '{print $6+$7+$9, $8}' Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] sched: active_load_balance fixes The following patch against the latest mm fixes several problems with active_load_balance(). Rather than starting with the highest allowable domain (SD_LOAD_BALANCE is still set) and depending on the order of the cpu groups, we start at the lowest domain and work up until we find a suitable CPU or run out of options (SD_LOAD_BALANCE is no longer set). This is a more robust approach as it is more explicit and not subject to the construction order of the cpu groups. We move the test for busiest_rq->nr_running <=1 into the domain loop so we don't continue to try and move tasks when there are none left to move. This new logic (testing for nr_running in the domain loop) should make the busiest_rq==target_rq condition really impossible, so we have replaced the graceful continue on fail with a BUG_ON. (Bjorn Helgaas, please confirm) We eliminate the exclusion of the busiest_cpu's group from the pool of available groups to push to as it is the ideal group to push to, even if not very likely to be available. Note that by removing the test for group==busy_group and allowing it to also be tested for suitability, the running time is nearly the same. We no longer force the destination CPU to be in a group of completely idle CPUs, nor to be the last in that group. Signed-off-by: Darren Hart Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: remove md_flush_all Following are 7 patches for md They all grew out of a desire to redo the locking in unplug_slave. Getting and dropping a spinlock so often for very little gain (it would be nearly impossible to lose the relevant race) really bothered me. I finally figured that I could reply it with rcu locking which is very light wait, and quite up to the task. One the way I found an number of inconsistencies that needed cleaning up and even a few bugs to fix. The first 6 patches deal with these inconsistencies and bugs. The last redoes the locking for adding/removing/accessing devices within md personalities. This patch: md_flush_all() isn't needed as each personality defines its own issue_flush_fn. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make retry_list non-global in raid1 and multipath Both raid1 and multipath have a "retry_list" which is global, so all raid1 arrays (for example) us the same list. This is rather ugly, and it is simple enough to make it per-array, so this patch does that. It also changes to multipath code to use list.h lists instead of roll-your-own. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: rationalise issue_flush function in md personalities The functions are all subtly different. This patch makes them all much the same. In particular, EOPNOTSUPP gets returned by all is appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: rationalise unplug functions in md There are currently subtle differences in the different personalities concerning when subdevices are unplugged (faulty? nr_pending?). This patch makes them sll uniform. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make sure md always uses rdev_dec_pending properly The ->nr_pending counted should always be decremented with rdev_dec_pending, as this need to do things when the count hits zero. There were a few places where it was being decremented directly. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix two little bugs in raid10 These can cause resync to spin when there is a faulty drive. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: modify locking when accessing subdevices in md Each md personality keeps a list of devices that are currently active in the array (mdk_rdev_t). As these can potentially be removed at any time, some locking is needed when accessing entries in the list. Currently this involves a spinlock, but all the spinlocking this imposed in unplug_slaves bothered me. So, I have changed it to use rcu locking. This is more appropriate as objects are removed only very rarely, and there is no cost in waiting a little while for a remove to succeed. Also, all changes to the list of devices are performed by the per-array thread (calling md_check_recovery) and so are completely single threaded, so no locking between writers is needed at all. Finally, devices are never added or removed while resync is happening, so resync doesn't need to worry about locking at all. So with this patch, the spinlocking is replaced with rcu read locking and synchronize_kernel. The rcu_read_lock is held while dereferencing a possible device, and the nr_pending count is atomically incremented if the device is to be held outside of the rcu_read_lock. When removing a device, if the nr_pending count appears to be zero, we set the list entry to NULL and call synchronize_kernel(). If the count is still zero after this, we have a safe removal. If it is non-zero, then someone has just started using it so we put the pointer back and fail the removal. When the new user finally drops it's reference, that will cause the per-array thread to wake up again and retry the removal. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: make read retry use a new bio in raid1 and raid10 When retrying a read request, we need to "Reset" the bio. It is easiest to get this right if we discard the bio we have and re-clone it. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: discard calc_sb_csum_common in favour of csum_fold csum_fold should always have been used on the result of csum_partial. calc_sb_csum_common therefore isn't needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: don't hold lock on md devices while waiting for them to finish resync. If one md array is waiting for another to finish resyncing, then it holds a reference to the array, so the array cannot be stopped. With this patch, we drop the reference before waiting. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fix typos in md and raid10 Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] md: fixes to make version-1 superblocks work in md driver Add some missing data_offset additions and some le_to_cpu convertions and fix a few other little mistakes. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] ext2: discard preallocation in last iput Currently the ext2 preallocation is discarded on every iput() (via ext2_put_inode()). We should only discard the preallocation on the last iput() (via ext2_clear_inode()). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Add d_alloc_name() to libfs This patch consolidates several occurrences of duplicated code into a new libfs function d_alloc_name(). Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds [PATCH] Weak symbols in modules and versioned symbols Weak symbol may be unavailable in kernel, but if it is available, its signature should be same as was at the build time. If we do not attach signatures to weak symbols, kernel is tainted when such module is loaded. vmmon: no version for "sys_ioctl" found: kernel tainted. I also believe that it is safer to add & check signatures here - module wants either sys_ioctl with right signature, or no sys_ioctl at all, not sys_ioctl with different signature (which signals that there is some misbuild occuring). Signed-off-by: Petr Vandrove