Summary of changes from v2.6.2 to v2.6.3 ============================================ [TCP]: Put Alexey's -EAGAIN change back in with Linus's fix on top. ALSA CVS update - Jaroslav Kysela ICE1712 driver Moved spdif.setup_rate to snd_ice1712_set_pro_rate() function ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver use the standard control names for RCA and optical spdif on audigy. ALSA CVS update - Takashi Iwai AC97 Codec Core fixed snd_ac97_set_rate() to accept surround and LFE sample rates, too. ALSA CVS update - Takashi Iwai VIA82xx driver,AC97 Codec Core - fixed typos in the last change to snd_ac97_set_rate(). the correct flag to check is ac97->scaps. - removed dxs_fixed=1 on VIA8233A (for SPDIF). - added quirks for ASUS A7V8-X and MSI KT4V. ALSA CVS update - Takashi Iwai AC97 Codec Core fixes by James Courtier-Dutton : - fixed the wrong detection of SPDIF output. SPDIF-out is enabled on all chip revisions. - fixed the ac97 codec name shown in proc file, using ac97->id. ALSA CVS update - Jaroslav Kysela PCM Midlevel Simplified snd_pcm_update_hw_ptr*() functions ALSA CVS update - Takashi Iwai VIA82xx driver - fixed the misuse of long pointer for getting the int value in boot parameter. ALSA CVS update - Takashi Iwai Documentation,VIA82xx driver - added dxs_support=4 option. no VRA is used for DXS channels in this case. - fixed the quirk for ASUS A7V8-X. - added the quirk for Gigabyte mobo. - removed the error message in codec_valid(). ALSA CVS update - Takashi Iwai Timer Midlevel,ALSA sequencer Clemens Ladisch : - fixed timer resolution calculations Some functions assumed that timer->hw.resolution is in Hz, while it's actually in ns/tick. ALSA CVS update - Takashi Iwai ALSA Core,Timer Midlevel,ALSA sequencer,PPC DACA driver PPC Tumbler driver - check rootfs before calling request_module() to avoid annoying error messages at the boot time. ALSA CVS update - Takashi Iwai VIA82xx driver - clean up the rate lock routine. - added another gigabyte mobo entry. ALSA CVS update - Takashi Iwai USB generic driver Clemens Ladisch : - fix Edirol comment - use special macros for Yamaha devices - add support for Yamaha MOTIF-R, CVP-204, CVP-206, CVP-208, CVP-210, PSR-1100, PSR-2100, PSR-K1, EZ-250i, MOTIF ES 6, MOTIF ES 7, MOTIF ES 8, CS1D, DSP1D, ACU16-C, NHB32-C, DM1000, 01V96 ALSA CVS update - Takashi Iwai Documentation,PCMCIA Kconfig - added CONFIG_ISA restriction to vxpocket and vxp440 drivers. ALSA CVS update - Takashi Iwai Memalloc module - fixed the compilation without PCI support. added ifdef CONFIG_PCI around preallocate_cards(). ALSA CVS update - Takashi Iwai USB generic driver Clemens Ladisch : - add support for M-Audio OmniStudio MIDI ALSA CVS update - Takashi Iwai VIA82xx driver removed a wrong entry for gigabyte mobos. ALSA CVS update - Jaroslav Kysela Sound Scape driver Chris Rankin - use #define rather than value for the microcode size ALSA CVS update - Takashi Iwai OPL3,Raw OPL FM,ES1968 driver removed obsolete __SND_OSS_COMPAT__. ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver Peter Zubaj : - redesigned the default DSP routing of audigy1/2 boards. the normal PCM output is sent through 'Stereo Mix', while the independent pcm streams can be attenuated by 'PCM Front', 'PCM Rear', and 'PCM Center/LFE' volumes. ALSA CVS update - Jaroslav Kysela Intel8x0 driver Added mpu_port initialization from the kernel command line ALSA CVS update - Takashi Iwai Generic drivers,MPU401 UART,ALSA Core,ALS100 driver,AZT2320 driver CMI8330 driver,DT019x driver,ES18xx driver,OPL3SA2 driver Sound Galaxy driver,Sound Scape driver,AD1816A driver,AD1848 driver CS4231 driver,CS4236+ driver,PC98(CS423x) driver,ES1688 driver GUS Classic driver,GUS Extreme driver,GUS MAX driver AMD InterWave driver,Opti9xx drivers,ES968 driver,SB16/AWE driver SB8 driver,Wavefront drivers,CMIPCI driver,VIA82xx driver,YMFPCI driver - fixed the boot parameters with long ints for non-intel architectures. - added get_option_long() for parsing the parameter. ALSA CVS update - Takashi Iwai Documentation,SB drivers,YMFPCI driver,ALS4000 driver,AZT3328 driver CMIPCI driver,ENS1370/1+ driver,ES1968 driver,Intel8x0 driver VIA82xx driver - removed joystick control from the card control API. added joystick (or joystick_port) module option instead. - updated documents for this joystick fix. - moved resource management for ALS4000 from sb-common header to the als4000 local code. ALSA CVS update - Takashi Iwai CS4281 driver,RME32 driver,RME96 driver,CS46xx driver,NM256 driver - fixed compile warnings with cast for memcpy_fromio/toio. - use copy_to_user_fromio() in proc output. ALSA CVS update - Takashi Iwai AC97 Codec Core added ALC655 entry (compatible with ALC650). ALSA CVS update - Takashi Iwai Maestro3 driver don't enable MPU401 irq. ALSA CVS update - Takashi Iwai ALSA<-OSS emulation added fallback device selection for OSS mixer. ALSA CVS update - Takashi Iwai Intel8x0 driver,VIA82xx driver,AC97 Codec Core - use ADI-compatible mode on AD1980 for more better controls. - swap master and headphone on AD1980 and AD1985 as default. - export remove_ctl, swap_ctl and rename_ctl for patch functions. - removed AD1980/AD1985 master-swap quirks (since it's set as default). ALSA CVS update - Takashi Iwai AC97 Codec Core fixed typo in the last AD198x fix. ALSA CVS update - Takashi Iwai VIA82xx driver added the DXS whitelist for twinhead mobo. ALSA CVS update - Jaroslav Kysela Timer Midlevel - fixed problem with hw slave source (PCM timer & dmix plugin) - fixes for slave instances - moved active callback check to snd_timer_close() function ALSA CVS update - Takashi Iwai PCM Midlevel don't call kfree with NULL pointer (constraint rules is not always allocated). ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver - take back the old definition of FXBUS_PCM_LEFT/RIGHT for sb live. - fixed the audigy routing with the new definition. ALSA CVS update - Takashi Iwai Timer Midlevel fixed the unbalanced spinlock at the error path. ALSA CVS update - Takashi Iwai Documentation minor corrections for the recent updates. ALSA CVS update - Takashi Iwai PCM Midlevel removed the export of snd_pcm_lock(). replaced with the normal mutex. ALSA CVS update - Takashi Iwai PCM Midlevel - don't hold power lock while draining - call trigger callback when suspending/resuming a draining substream ALSA CVS update - Takashi Iwai HWDEP Midlevel allow dsp_load callback without dsp_status callback. ALSA CVS update - Jaroslav Kysela PCM Midlevel - don't print debug messages for low count of periods - added right path for one period to the update pointer routine (interrupt) ALSA CVS update - Takashi Iwai VIA82xx driver Zinx Verituse : fixed the calculation of the port for 'Capture Source' control switch. ALSA CVS update - Takashi Iwai Documentation,ALS4000 driver,ENS1370/1+ driver,YMFPCI driver added auto-detection of joystick port. ALSA CVS update - Takashi Iwai ALSA Core - fixed oops at resume. - block also the non-blocking devices until the resume is finished. ALSA CVS update - Takashi Iwai AC97 Codec Core Ted.Wen@ite.com.tw: - added patch for IT2646. ALSA CVS update - Takashi Iwai CS46xx driver fixed the 4channel mode of another CS429x codec (0x592b). ALSA CVS update - Takashi Iwai YMFPCI driver fixed the auto-detection of joystick port. ALSA CVS update - Takashi Iwai Documentation,ALS4000 driver,AZT3328 driver,CMIPCI driver ENS1370/1+ driver,VIA82xx driver,YMFPCI driver - use consistent values for specifying the port address (0 = disable, 1 = auto-detect, others = manual) - fixed the auto-detection of joystick port. ALSA CVS update - Jaroslav Kysela ALSA<-OSS emulation - avail_min is now 1 - fixed read1() function for avail_min == 1 - fixed conversion between ALSA and OSS position - fixed info.blocks computing in get_ptr() (included fixup) - fixed get_space() function (included fixup) ALSA CVS update - Jaroslav Kysela AD1848 driver Robert Harris Fixed spinlocks ALSA CVS update - Jaroslav Kysela ALSA<-OSS emulation Fixed read for partial OSS period buffer contents ALSA CVS update - Takashi Iwai Documentation,ALSA Core - cards_limit=1 as default instead of 8. - cards_limit means the number of auto-loaded cards. not limits the actual card numbers for manual loading (e.g. hotplug). ALSA CVS update - Takashi Iwai OSS device core,Documentation,ALSA Core,ALSA<-OSS emulation ALSA<-OSS sequencer,ALSA Minor Numbers Rusty Russell : - added MODULE_ALIAS for sound services. clean up the document. modified by Takashi Iwai ALSA CVS update - Takashi Iwai ALSA Core,ALS100 driver,AZT2320 driver,DT019x driver,CS4231 driver CS4236+ driver,PC98(CS423x) driver,Opti9xx drivers,SB16/AWE driver Wavefront drivers use the standard port address, 0 = disable, 1 = auto-probe, others manual. negative values are accepted as disable, too. ALSA CVS update - Takashi Iwai OSS device core,ALSA Core - take MODULE_ALIAS_CHARDEV_MAJOR() back. - added missing inclusion of linux/device.h. ALSA CVS update - Takashi Iwai Opti9xx drivers - fixed the detection of opti92x-ad1848 pnp. ALSA CVS update - Jaroslav Kysela OPL4 Clemens Ladisch use vmalloc instead of kmalloc for temp buffer in proc read()/write() ALSA CVS update - Jaroslav Kysela AC97 Codec Core Clemens Ladisch new controls for AD1981A/B/1980/1985 ALSA CVS update - Takashi Iwai VIA82xx driver added the quirk for ASUS A7V600. ALSA CVS update - Jaroslav Kysela AC97 Codec Core Fixed cut & paste bug ALSA CVS update - Jaroslav Kysela OPL4 Clemens Ladisch oops - use vfree in error paths, too ALSA CVS update - Jaroslav Kysela ALSA<-OSS emulation Fixed semantics in snd_pcm_oss_bytes() function. ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver Peter Zubaj : - disable routing from AC97 line out to front speakers. - AC97 ADC is used only for Mic playback and recording - Philips ADC is used for other analog playback and recording (Analog Mix Playback Volume, Analog Mix Capture Volume) - removes unused AC97 controls (is phone used ???) Takashi Iwai : - removed the duplicated IEC958 control on Dell's board. ALSA CVS update - Takashi Iwai CMIPCI driver - set XCHGDAC bit implicitly on MC4/6 models for fixing wrong playback on some boards. - removed 'Exchange DAC' control from such a model. ALSA CVS update - Jaroslav Kysela AC97 Codec Core Added IC Ensemble/KS Waves ID for stereo enhancement ALSA CVS update - Takashi Iwai CS4236+ driver - fixed the detection of combination of pnp and non-pnp devices. ALSA CVS update - Takashi Iwai I2C lib core - fixed sleep in lock. use mutex for the locking. ALSA CVS update - Takashi Iwai USB generic driver - added async_unlink option. the default bahevior is not changed yet. - added some comments. ALSA CVS update - Takashi Iwai USB generic driver - added a workaround for M-Audio Audiophile USB. - avoid async out and adaptive in if other methods are available. - fixed the hw_constraint check for 24bit formats. ALSA CVS update - Jaroslav Kysela GUS Library Fixed duplicate control IDs (PCM Playback Volume) for cards with the codec chip ALSA CVS update - Jaroslav Kysela GUS Library Omited to remove old code ALSA CVS update - Takashi Iwai VIA82xx driver - fixed the (syntax) description of dxs_support module option. ALSA CVS update - Takashi Iwai YMFPCI driver - fixed possible (but rare) deadlock. ALSA CVS update - Takashi Iwai Documentation,Memalloc module,ALS4000 driver,AZT3328 driver ES1938 driver,ES1968 driver,Maestro3 driver,SonicVibes driver ALI5451 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver Trident driver - use pci_set_consistent_dma_mask(). ALSA CVS update - Takashi Iwai AC97 Codec Core - added new patch codes for ALC655/658. - fixed reset wait loop in the resume phase. - fixed resume of AD1981 multi codecs. ALSA CVS update - Takashi Iwai USB generic driver - clear unlink_mask bit in the complete callback. - make sure to deactivate urbs before starting streams. ALSA CVS update - Takashi Iwai USB generic driver fix by Clemens Ladisch : - don't clear active_mask bits until it's clear that the URB is _not_ resubmitted, to prevent a race with unlinking - initialize active_mask and unlink_mask each time before URBs are started - don't call sleeping functions in trigger callback ALSA CVS update - Takashi Iwai Digigram VX core - added hw_constraint to align 4bytes. this will solve the 24bit problem on vx222. ALSA CVS update - Takashi Iwai PCM Midlevel - clear the status record before calling snd_pcm_status() in proc read. this will prevent to show bogus values when status = OPEN. ALSA CVS update - Takashi Iwai PCM Midlevel,ALSA Core,USB generic driver - prepare callback can sleep if a flag is given in pcm->info_flags. - usbaudio driver uses non-atomic prepare callback for synchronization of pending unlinked urbs. - async_unlink option of usbaudio driver is enabled as default now. - fixed the initialization of pseudo-dma pointers in usbaudio. ALSA CVS update - Takashi Iwai USB generic driver - added the proc files to show ids. ALSA CVS update - Takashi Iwai Digigram VX Pocket driver - added the missing licesne and descriptions. ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver - fixed double entries of the same controls. ALSA CVS update - Takashi Iwai AMD InterWave driver - fixed the detection of STB board via pnp. ALSA CVS update - Takashi Iwai ALSA<-OSS emulation fixed the calculation of bytes. this will fix GETxSPACE, GETxPTR, GETODELAY ioctls. ALSA CVS update - Takashi Iwai ALSA<-OSS emulation - reset auto-silence in the OSS mmap mode. ALSA CVS update - Jaroslav Kysela VIA82xx driver Added EPoX EP-8K9A default settings (VIA_DXS_ENABLE) ALSA CVS update - version 1.0.0pre3 ALSA CVS update - Takashi Iwai YMFPCI driver Clemens Ladisch : - added the support for the timer on ymfpci chips. ALSA CVS update - Takashi Iwai YMFPCI driver Clemens Ladisch : - This patch adds a control to enable S/PDIF direct recording (without resampling) on the YMF754. ALSA CVS update - Jaroslav Kysela Control Midlevel,ALSA Core,EMU8000 driver,SB16/AWE driver EMU10K1/EMU10K2 driver - added support for user control elements (untested) - fixed locking for snd_ctl_remove() function ALSA CVS update - Jaroslav Kysela HWDEP Midlevel,ALSA Core,PCM Midlevel,RawMidi Midlevel,Timer Midlevel Digigram VX core,L3 drivers,AC97 Codec Core,CS46xx driver Trident driver,YMFPCI driver,GUS Library,SB16/AWE driver,CMIPCI driver CS4281 driver,ENS1370/1+ driver,FM801 driver,Intel8x0 driver Maestro3 driver,RME32 driver,RME96 driver,SonicVibes driver VIA82xx driver,AK4531 codec,ALI5451 driver,EMU10K1/EMU10K2 driver ICE1712 driver,ICE1724 driver,KORG1212 driver,NM256 driver RME HDSP driver,RME9652 driver,USB generic driver - AC97 code - introduced ac97_bus_t structure - moved attached codecs to /proc/asound/card?/codec97#? directory - merged snd_ac97_modem() to snd_ac97_mixer() - proc cleanups - removed already initialized variables - enhanced snd_info_set_text_ops() syntax ALSA CVS update - Takashi Iwai ES1968 driver,AC97 Codec Core fixed the compilation with the recent ac97 and info changes. ALSA CVS update - Takashi Iwai RME HDSP driver Thomas Charbonnel : - include support for hdsp 9632 cards and bugfixes for hdsp 9652 cards. ALSA CVS update - Takashi Iwai RME HDSP driver Thomas Charbonnel : The attached patch fixes matrix mixer and metering problems spotted by Pentti Ala-Vannesluoma for H9632 cards and gcc 2.9x compile errors reported by Martin Langer. ALSA CVS update - Takashi Iwai RME HDSP driver Thomas Charbonnel : The attached patch at last fixes the long lasting firmware loading error after boot, and includes a small cosmetic fix for H9632 cards (fixes SPDIF external rate reporting in /proc/asound/cardX/hdsp and amixer outputs). ALSA CVS update - Takashi Iwai ICE1712 driver,ICE1724 driver Apostolos Dimitromanolakis : - added the partial support of AudioTrak prodigy 7.1 ALSA CVS update - Takashi Iwai ICE1712 driver removed unnecessary codes, which causes compilation error with gcc-2.9.x. ALSA CVS update - Jaroslav Kysela AC97 Codec Core,Intel8x0 driver Moved AC97 slot allocation from intel8x0 to ac97_pcm.c. ALSA CVS update - Takashi Iwai AC97 Codec Core - fixed oops. ALSA CVS update - Takashi Iwai AC97 Codec Core,Intel8x0 driver - fixed the wrong sized allocation of snd_ac97_pcm. - fixed the probing of multiple codecs on intel8x0. - fixed the computation of rates bits. ALSA CVS update - Jaroslav Kysela AC97 Codec Core Clemens Ladisch fix compiler warnings ALSA CVS update - Takashi Iwai RME HDSP driver fix by Thomas Charbonnel : The attach patch fixes problems with speed modes for H9632 cards (many thanks to Pentti Ala-Vannesluoma for testing the driver and helping finding bugs), and the AutoSync mode issue (for all cards) reported by Anders Torger at the end of september. ALSA CVS update - Takashi Iwai ICE1712 driver fixes by Apostolos Dimitromanolakis : - fixed the pop noise at the start up of aureon boards. - update of prodigy driver (modifed by ti). ALSA CVS update - Takashi Iwai Documentation - fixed for the new ac97_bus struct. ALSA CVS update - Takashi Iwai AC97 Codec Core - fixed the rates detection for capture. ALSA CVS update - Takashi Iwai AC97 Codec Core fixed typo ALSA CVS update - Jaroslav Kysela AC97 Codec Core Fixed AC97 slot allocation for 2nd+ PCM in assign function ALSA 1.0.0rc1 ALSA CVS update - Takashi Iwai ALSA<-OSS emulation - fixed the bytes field of GETxPTR ioctl in the mmap mode. - fixed the bytes field of GETxSPACE ioctl. - don't count the negative delay values. ALSA CVS update - Takashi Iwai VIA82xx driver - added quirks for another ASUS board and FSC notebook. ALSA CVS update - Takashi Iwai VIA82xx driver - added the missing '\n' to proc output. ALSA CVS update - Takashi Iwai Generic drivers Steve deRosier : * There is a user selectable flag droponfull. Set to 1 and any new bytes delivered to the driver after the buffer fills up will be discarded until the buffer is able to flush some bytes. * If droponfull==0 (or is not set, the default is 0), the driver proceeds to block further input by not calling snd_rawmidi_transmit_ack() and aborting the attempt. It will try again later. * I've redone a bit of the interface for the buffer routines. This was done to support the proper blocking/non-blocking methods as spelled out above, and to try to protect the buffer data a bit. ALSA CVS update - Takashi Iwai Memalloc module - replaced 8 with SNDRV_CARDS. ALSA CVS update - Takashi Iwai AC97 Codec Core,Intel8x0 driver - added spdif field to struct ac97_pcm. - snd_ac97_set_rate() accepts AC97_SPDIF. - allow fixed rate mic capture. - optimized the loop in snd_ac97_pcm_open. ALSA CVS update - Takashi Iwai AC97 Codec Core - don't break the probing even when ac97_reset_wait() returns error. in many cases, it's not critical (e.g. SB audigy). ALSA CVS update - Takashi Iwai AC97 Codec Core - fixed the detection of rates due to collision with the spdif slots. - fixed the typo in the error message. - replaced the numbers with constants. ALSA CVS update - Takashi Iwai VIA82xx driver - added a dxs_support list entry for ASRock K7VM2. ALSA CVS update - Takashi Iwai VIA82xx driver - dxs_support=4 seems ok for the ASRock board. ALSA CVS update - Takashi Iwai VIA82xx driver - added a quirk for ASRock K7VM2. ALSA CVS update - Jaroslav Kysela AC97 Codec Core Commented out debugging printk ALSA version 1.0.0rc2 Support the new 3CR990B cards that require authentication of the runtime firmware image. ALSA CVS update - Jaroslav Kysela ALSA<-OSS emulation - added OSS_ALSAEMULVER ioctl - cleanups for put_user() ALSA CVS update - Jaroslav Kysela EMU10K1/EMU10K2 driver Center is initialized to analog to prevent noise at startup (SB Live) ALSA CVS update - Jaroslav Kysela AMD InterWave driver Fixed typo ALSA CVS update - Jaroslav Kysela Timer Midlevel An attempt to fix the system timer behaviour (lost jiffy ticks) ALSA CVS update - Jaroslav Kysela USB generic driver Clemens Ladisch deactivate_urbs didn't return the number of still-active URBs when not unlinking asynchronously, which would prevent calling wait_clear_urbs when some URBs actually are being unlinked asynchronously, so these URBs would be freed while still in use. I removed deactivate_urb's return value because wait_clear_urbs does its own counting anyway. ALSA CVS update - Jaroslav Kysela RME9652 driver Removed duplicated ADAT3 Sync control ALSA CVS update - Jaroslav Kysela Control Midlevel Added snd_ctl_find_hole() function. Added printk when control already exists. ALSA CVS update - Jaroslav Kysela GUS Library Fixed race - scheduling in interrupt ALSA CVS update - Jaroslav Kysela ALSA sequencer Fixed typo ALSA CVS update - Jaroslav Kysela ALSA Core A try to fix get_id() function - use alloc_bootmem() ALSA CVS update - Jaroslav Kysela Documentation Added read_size comment for snd_info_set_text_ops() ALSA CVS update - Jaroslav Kysela ALSA Core petter wahlman vsnprintf does not copy more than 'size' bytes _including_ '\0' ALSA CVS update - Jaroslav Kysela ICE1712 driver DFS bit must be handled also for Delta1010 and Delta2496 ALSA CVS update - Jaroslav Kysela Documentation,ALSA<-OSS emulation - changed whole-frag (default again) => partial-frag - small corrections in snd_pcm_oss_get_ptr() - atomic hw_ptr and info.bytes ALSA CVS update - Jaroslav Kysela VIA82xx driver Added Easy Note 3171, Packard Bell - VIA_DXS_ENABLE ALSA CVS update - Jaroslav Kysela Documentation More complete PCM device example ALSA 1.0.1 ALSA - added missing module_init and module_exit functions to cs8427 and ak4xxx modules ALSA CVS update - Jaroslav Kysela EMU10K1/EMU10K2 driver Georgi Georgiev Line2 LiveDrive Capture Volume control fix ALSA CVS update - Takashi Iwai VIA82xx driver - added the white list for avance logic mobo. ALSA CVS update - Takashi Iwai Documentation,CMIPCI driver - changed joystick option to joystick_port option for cmipci driver. - mentioning alsa-firmware package together with alsa-tools package for firmware loading. - fixed the description of auto-invokation of vxloader for 2.6 kernels. ALSA CVS update - Takashi Iwai ALSA sequencer - new e-mail address of Frank van de Pol. ALSA CVS update - Takashi Iwai VIA82xx driver - added the DXS support for ABIT KD7(-RAID) [netdrvr 8139too] support netif_msg_* interface [PATCH] wan/lmc -- convert to new network device model Resend of LMC driver patch for 2.6.0-test6 * do proper probing * allocate network device with alloc_netdev * use standard pci_id's instead of local defines * use standard PCI device interface to find and remove devices. [PATCH] 2.6.0-test6 - more free_netdev() conversion Compiles ok (with true .o generated, yeah). Please review. free_netdev() of devices allocated through use of alloc_netdev(). Though baroque, drivers/net/3c515.c now uses alloc_etherdev(). drivers/net/3c515.c | 23 ++++++++++++----------- drivers/net/defxx.c | 2 +- drivers/net/dummy.c | 2 +- drivers/net/eql.c | 2 +- drivers/net/ns83820.c | 2 +- drivers/net/plip.c | 14 ++++++++++---- drivers/net/shaper.c | 11 ++++++++--- drivers/net/tun.c | 18 +++++++++--------- 9 files changed, 43 insertions(+), 31 deletions(-) [PATCH] remove dev_get from wanrouter The call to dev_get() in wanrouter_device_new_if is racy and redundant and should be removed. The later 'register_netdev()' does the same test internally and will return the appropriate error if the name already exists. This patch is against 2.6.0-test6. Resend of earlier patch because it was ignored, or missed. [netdrvr tulip] support NAPI Contributed by Robert Ollsson. [PATCH] (1/12) Probe2 infrastructure for 2.6 experimental New infrastructure to allow probing older builtin drivers (like ISA) Originally by Al Viro, updated to apply agains jgarzik/net-drivers-2.5-exp [PATCH] (2/12) Probe2 -- de620 Rework de620 driver to new dynamic allocation Originally by Al Viro. * switched de620 to dynamic allocation * de620: embedded ->priv * de620: fixed IO before request_region() Updated to ~jgarzik/net-drivers-2.5-exp [PATCH] (03/12) Probe2 -- ni65 Convert ni65 driver to new probing; patch sequence goes bottom up on the probe list. * switched ni65 to dynamic allocation * ni65: fixed ->irq and ->dma clobbering on autoprobe [PATCH] (04/12) Probe2 -- ni52 >From viro NE15-ni52 * switched ni52 to dynamic allocation * ni52: embedded ->priv * ni52: fixed clobbering of everything on autoprobe Additional: * add free_netdev [PATCH] (05/12) Probe2 -- ni5010 from viro NE16-ni5010 * switched ni5010 to dynamic allocation * ni5010: embedded ->priv * ni5010: fixed clobbering ->irq * ni5010: fixed IO before request_region() Additional: * add free_netdev [PATCH] (06/12) Probe2 -- sk16 from viro NE17-sk16 * switched sk_g16 to dynamic allocation * sk_g16: embedded ->priv * sk_g16: fixed buggy check for signature (|| instead of &&, somebody forgot to replace it when inverting the test). * sk_g16: fixed use after kfree() * sk_g16: fixed init_etherdev() race Additional: * add free_netdev [PATCH] (07/12) Probe2 -- 3c505 from viro NE18-3c505 * switched 3c505 to dynamic allocation * 3c505: embedded ->priv * 3c505: fixed use of uninitialized variable * 3c505: fixed resource leaks on failure exits Additional: * add free_netdev [PATCH] (08/12) Probe2 -- 3c507 Originally by Al Viro (NE19-3c507) * switched 3c507 to dynamic allocation * 3c507: embedded ->priv * 3c507: fixed clobbering on autoprobe * NB: 3c507.c buggers port 0x100 without claiming it. Most likely it should be doing request_region() there. Updated to apply agains jgarzik/net-drivers-2.5-exp [PATCH] (09/12) Probe2 -- arlan Convert arlan driver to new probing. This meant a rather large rework of the probing code for this driver since it did a lot ofnon standard things. [PATCH] (10/12) Probe2 -- wavelan Original by Al Viro (NE21-wavelan) * switched wavelan to dynamic allocation * wavelan: embedded ->priv * wavelan: fixed clobbering on autoprobe * wavelan: fixed IO before request_region() * wavelan: fixed resource leaks on failure exits * wavelan: fixed order of freeing bugs Updated to apply agains jgarzik/net-drivers-2.5-exp [PATCH] (11/12) Probe2 -- 3c501 >From viro NE22-3c501 * switched 3c501 to dynamic allocation * 3c501: embedded ->priv * 3c501: fixed clobbering on autoprobe * 3c501: fixed resource leaks on failure exits Additional: * probe correctly when no device present * fix loop forever bug in probing * free_netdev [PATCH] (12/12) Probe2 -- 82596 Originally by Al Viro (NE23-82596) * switched 82596 to dynamic allocation * 82596: fixed resource leaks on failure exits Updated to apply agains jgarzik/net-drivers-2.5-exp [PATCH] (1/6) tokenring probing change Ugh, two patches got crossed. This is the correct first one. [PATCH] (2/6) smctr -- probe2 Convert the SMC tokenring driver to new probing. [PATCH] (3/6) proteon -- probe2 Convert proteon token ring driver to new probing. [PATCH] (4/6) skisa -- probe2 Convert the SK-NET TMS380 ISA card to the new probe2 format. [PATCH] typo in net-drivers-2.5-exp 3c507 Fix auto-probing loop in new probing code for 3c507. This patch is against net-drivers-2.5-exp repository. Found by viro. [PATCH] arlan new probe code needs to register Fix arlan registration in the net-drivers-2.5-exp repo. Need to call register_netdev. Found by viro. [PATCH] sk_g16 missing declaration The new probe code in net-drivers-2.5-exp lost a declaration for the module case (thanks al). [PATCH] (1/42) ewrk3 Convert ewrk3 to dynamic allocation * get rid of private device allocation method * fix deeply nested function [PATCH] (2/42) eepro Patch from viro: NE26-eepro * switched eepro to dynamic allocation * eepro: embedded ->priv * eepro: fixed clobbering on autoprobe * eepro: fixed IO before request_region() * eepro: fixed resource leaks on failure exits [PATCH] (3/42) eexpress Based on viro NE27-eexpress * switched eexpress to dynamic allocation * eexpress: embedded ->priv * eexpress: fixed clobbering on autoprobe * eexpress: fixed IO without request_region() * eexpress: fixed resource leaks on failure exits [PATCH] (4/42) eth16i NE28-eth16i * switched eth16i to dynamic allocation * eth16i: embedded ->priv * eth16i: fixed resource leaks on failure exits [PATCH] (5/42) fmv18 Based on viro, NE29-fmv18 * switched fmv18x to dynamic allocation * fmv18x: embedded ->priv * fmv18x: fixed resource leaks on failure exits * fmv18x: fixed clobbering on autoprobe * fmv18x: compile fix - comment is _not_ an empty statement. The thing had been b0rken since 2.4.3-pre2, BTW... [PATCH] (6/42) at1700 Based on viro NE30-at1700 * switched at1700 to dynamic allocation * at1700: embedded ->priv * at1700: fixed resource leaks on failure exits * at1700: fixed clobbering on autoprobe [PATCH] (7/42) cs89x0 Based on viro NE31-cs89x0 * switched cs89x0 to dynamic allocation * cs89x0: embedded ->priv * cs89x0: fixed resource leaks on failure exits * cs89x0: fixed clobbering on autoprobe * NB: cs89x0 calls request_region() with very odd arguments. Somebody ought to check WTF is going on there. [PATCH] (8/42) at1500 Based on viro NE32-at1500 ROTFL. The last remnants of CONFIG_AT1500 removed - that was a hell of an ancient bug (at1500_probe() was never defined, AFAICS - all way back to 0.99.15). [PATCH] (9/42) seeq8005 Based on viro NE33-seeq8005 * switched seeq8005 to dynamic allocation * seeq8005: embedded ->priv * seeq8005: fixed resource leaks on failure exits * seeq8005: fixed clobbering on autoprobe * seeq8005: fixed jiffies truncation * seeq8005: fixed a typo in Kconfig - module is _not_ called ewrk3 [PATCH] (10/42) smc Based on viro NE34-smc * switched smc to dynamic allocation * smc: embedded ->priv * smc: fixed resource leaks on failure exits * smc: fixed clobbering on autoprobe [PATCH] (11/42) lance Based on viro NE35-lance * switched lance to dynamic allocation * lance: fixed init_etherdev races * lance: fixed resource leaks on failure exits * NB: probing code is, to put it mildly, odd. It _always_ does autoprobe, modular or not. WTF is going on there? [PATCH] (12/42) ne Based on NE36-ne * switched ne/ne2k_cbus to dynamic allocation * ne/ne2k_cbus: fixed order of freeing bugs * ne/ne2k_cbus: fixed resource leaks on failure exits * ne/ne2k_cbus: fixed clobbering on autoprobe [PATCH] (13/42) e2100 Based on viro NE37-e2100 * switched e2100 to dynamic allocation * e2100: fixed order of freeing bugs * e2100: fixed resource leaks on failure exits * e2100: fixed clobbering on autoprobe [PATCH] (14/42) hpplus Based on NE38-hpplus * switched hp-plus to dynamic allocation * hp-plus: fixed order of freeing bugs * hp-plus: fixed resource leaks on failure exits * hp-plus: fixed clobbering on autoprobe [PATCH] (15/42) hp Based on viro NE39-hp * switched hp to dynamic allocation * hp: fixed order of freeing bugs * hp: fixed resource leaks on failure exits * hp: fixed clobbering on autoprobe [PATCH] (16/42) 3c503 Based on viro NE40-3c503 * switched 3c503 to dynamic allocation * 3c503: fixed order of freeing bugs * 3c503: fixed IO without request_region * 3c503: fixed resource leaks on failure exits * 3c503: fixed clobbering on autoprobe [PATCH] (17/42) wd Based on viro NE41-wd * switched wd to dynamic allocation * wd: fixed order of freeing bugs * wd: fixed resource leaks on failure exits * wd: fixed clobbering on autoprobe [PATCH] (18/42) ultra Based on viro NE42-ultra * switched smc-ultra to dynamic allocation * smc-ultra: fixed order of freeing bugs * smc-ultra: fixed resource leaks on failure exits * smc-ultra: fixed clobbering on autoprobe [PATCH] (19/42) 3c515-T10 NE43-3c515 * convert to dynamic allocation * fixed up device list handling [PATCH] (20/42) hp100-T10 NE44-hp100 * convert to dynamic allocation * use device model for PCI and EISA * use pci id's to find PCI devices * fix missing id's for 10 Mbit only PCI boards [PATCH] (21/42) sk_mca NE45-sk_mca * switched sk-mca to dynamic allocation * sk-mca: switched to embedded ->priv * sk-mca: fixed order of freeing bugs * sk-mca: fixed resource leaks on failure exits [PATCH] (22/42) 3c527 NE46-3c527 * switched 3c527 to dynamic allocation * 3c527: switched to embedded ->priv * 3c527: fixed resource leaks on failure exits [PATCH] (23/42) 3c523 NE47-3c523 from viro * switched 3c523 to dynamic allocation * 3c523: switched to embedded ->priv * 3c523: fixed order of freeing bugs * 3c523: fixed resource leaks on failure exits [PATCH] (24/42) ne2 NE48-ne2 from viro * switched ne2 to dynamic allocation * ne2: fixed order of freeing bugs * ne2: fixed resource leaks on failure exits [PATCH] (25/42) lne390 NE49-lne390 * switched lne390 to dynamic allocation * lne390: fixed order of freeing bugs * lne390: fixed clobbering on autoprobe * lne390: fixed resource leaks on failure exits [PATCH] (26/42) es3210 NE50-es3210 * switched es3210 to dynamic allocation * es3210: fixed order of freeing bugs * es3210: fixed clobbering on autoprobe [PATCH] (27/42) ac3200 NE51-ac3200 * switched ac3200 to dynamic allocation * ac3200: fixed order of freeing bugs * ac3200: fixed clobbering on autoprobe * ac3200: fixed resource leaks on failure exits [PATCH] (28/42) ultra32 NE52-ultra32 * switched smc-ultra32 to dynamic allocation * smc-ultra32: fixed order of freeing bugs * smc-ultra32: fixed clobbering on autoprobe * smc-ultra32: fixed resource leaks on failure exits [PATCH] (29/42) bagetlance NE54-bagetlance * switched bagetlance to dynamic allocation * bagetlance: embedded ->priv * bagetlance: fixed resource leaks on failure exits * bagetlance: fixed resource leaks on rmmod [PATCH] (30/42) jazzsonic NE55-jazzsonic * switched jazzsonic to dynamic allocation * jazzsonic: fixed resource leaks on failure exits [PATCH] (31/42) mac89x0 NE56-mac8390 * switched mac8390 to dynamic allocation * mac8390: fixed resource leaks on failure exits [PATCH] (32/42) mac8390 NE57-mac8390 * switched mac8390 to dynamic allocation * mac8390: fixed resource leaks on failure exits * get rid of MOD_INC/DEC [PATCH] (33/42) macsonic NE58-macsonic * switched macsonic to dynamic allocation * macsonic: fixed resource leaks on failure exits [PATCH] (34/42) mac_mace NE59-mace * switched mace to dynamic allocation * mace: fixed resource leaks on failure exits [PATCH] (35/42) mvme147 NE60-mvme147lance * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (36/42) hplance NE61-hplance * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (37/42) pamsnet NE62-pamsnet * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (38/42) bionet NE63-bionet * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (39/42) apne NE64-apne * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (40/42) sun3_82586 NE66-sun3_82586 * switched to dynamic allocation * fixed resource leaks on failure exits [PATCH] (41/42) sun3_lance NE67-sun3lance * switched to dynamic allocation * fixed resource leaks on failure exits [netdrvr 3c515] fix non-modular build [PATCH] (42/42) atari_lance NE68-atarilance * switched to dynamic allocation * fixed resource leaks on failure exits * also kill off last usage of probe_list [e1000] add ethtool ring param support * Add ethtool ring param support [e1000] use pdev->irq rather than netdev->irq for * Use pdev->irq rather than netdev->irq for interrupt registration in anticipation of MSI interrupt API support. [e1000] loopback diag test failing on big-endian * ethtool diag loopback test was failing on ppc because of endianness issue. [e1000] use unsigned long for I/O base addr * Use unsigned long for I/O base addr; can be 64-bit on some archs. [e1000] 82547 interrupt assert/de-assert re-ordering * 82547 needs interrupt disable/enable to keep interrupt assertion state synced between 82547 and APIC. 82547 will re-order assert and de-assert messages if hub link bus is busy (heavy traffic). Disabling interrupt on device works around re- order issue. [e1000] print message if user overrides default ITR * Print message if user overrides default setting of ITR. [e1000] improve Tx flush method * Flush queued in-flight Tx descriptors when link is lost. 8254x stops processing Tx descriptors when link is lost, so outstanding Tx buffers will not be returned to OS unless we flush the Tx descriptor ring. This patch move the flush from the watchdog timer callback to process context to work around some issue with holding xmit_lock in timer callback. [e1000] exit polling loop if interface is brought down * Exit polling loop if interface is brought down. [e1000] Internal SERDES link detect; delay after SPI * Internal SERDES designs must use indirect method to sample link status based on sampling MAC sync bits. * Need 10 msec delay after SPI eeprom write, otherwise back-to- back writes can get corrupted. * Allow for setup of multiple MAC addresses (not used for Linux - shared code change). * Updated comment block. [e100] missed a kfree -> free_netdev * missed a kfree -> free_netdev [netdrvr tc35815] many fixes, major and minor * s/int/unsigned long/ for 'flags' arg passed to spin_lock_irqsave * s/unsigned int/unsigned long/ for I/O port addresses * no need to prevent tc35815_probe from being called multiple times... PCI layer will do things properly for us. * call pci_enable_device before accessing hardware, before obtaining irq number, and before obtaining I/O port addresses. * remove bogus 'if (pdev)' check in PCI API ->probe function * call SET_M0DULE_OWNER, remove MOD_{INC,DEC}_USE_COUNT * (cleanup) don't bother casting from a void* * (cleanup) mark debugging function with #if 0, just like the caller * Fix many printk statements to indicate that tc_readl() returns a long, not an int. * (cleanup) remove unused tc35815_proc_info function [netdrvr tc35815] switch to using alloc_etherdev Also handle ioremap failure. [netdrvr a2065] convert to alloc_etherdev [netdrvr ariadne] use alloc_etherdev [netdrvr declance] use alloc_etherdev [netdrvr gt96100eth] use alloc_etherdev, fix leaks [netdrvr hydra] use alloc_etherdev [netdrvr oaknet] use alloc_etherdev, fix leaks [netdrvr znet] alloc_etherdev, SET_MODULE_OWNER, remove #ifdef MODULE [netdrvr mace] alloc_etherdev, fix leaks on error [netdrvr zorro8390] alloc_etherdev, SET_MODULE_OWNER [netdrvr au1000_eth] alloc_etherdev, SET_MODULE_OWNER, fix leaks/small bugs [netdrvr sb1250-mac] alloc_etherdev, fix leaks on error [netdrvr sgiseeq] alloc_etherdev, SET_MODULE_OWNER, fix leaks on error [netdrvr stnic] use alloc_etherdev [netdrvr saa9730] use alloc_etherdev, annotate bugs found but not fixed [netdrvr depca] fix leaks on error [netdrvr atp] use alloc_etherdev, clean up probing [netdrvr de600] use alloc_etherdev; request_region fixes [wireless wavelan{_cs}] use alloc_etherdev; remove useless net_device* typedef [netdrvr] s/kfree/free_netdev/ where appropriate [netdrvr ether00] s/kfree/free_netdev/ ; remove redundant memset() calls [netdrvr pcmcia] s/kfree/free_netdev/ [netdrvr iph5526] use SET_MODULE_OWNER; small typedef cleanup [netdrvr stnic] fix typo from last stnic cset [netdrvr xircom_tulip_cb] remove bogus unregister_netdev call; use free_netdev [netdrvr tulip] clean up tulip NAPI poll disable Looks like the same patch was applied multiple times. No negative effects except ugliness and a redundant test. [netdrvr] alloc_etherdev-related cleanups Mostly removing unneeded calls to ether_setup(), which alloc_etherdev() already does for us. [netdrvr lasi_82596] remove ether_setup() call, fix leak in probe [netdrvr] remove Documentation/networking/8139too.txt All sections of the document are woefully outdated. [netdrvr] remove init_etherdev mentions in Doc/SubmittingPatches, atari_pamsnet.c [PATCH] m68k-related net driver fixes On Sun, 16 Nov 2003, Jeff Garzik wrote: > Yet more updates. Syncing with Andrew Morton, and more syncing with Al > Viro. > > No users of init_etherdev remain in the tree. (yay!) Here are some (untested, except for cross-gcc) fixes for the m68k-related drivers: - Space.c: fix incorrect prototypes for atarilance_probe() and mace_probe() - a2065.c: kill superfluous argument of alloc_etherdev() - apne.c: o fix incorrect prototype for apne_probe() o kill unused variable err - mac8390.c: o kill unused variable probed o fix typos ENDOEV -> ENODEV and ERR_PTE -> ERR_PTR o add missing variable slots - macmace.c: use ERR_PTR() where needed - macsonic.c: kill unused variable lp - mvme147.c: o kill conversion warning and kill a cast by making ram unsigned long o add missing variable err Note: The use of `slots' in mac8390.c is not in my tree. Do you know where that change comes from? [PATCH] sun3-related net driver fixes On Mon, 17 Nov 2003, Geert Uytterhoeven wrote: > On Sun, 16 Nov 2003, Jeff Garzik wrote: > > Yet more updates. Syncing with Andrew Morton, and more syncing with Al > > Viro. > > > > No users of init_etherdev remain in the tree. (yay!) > > Here are some (untested, except for cross-gcc) fixes for the m68k-related > drivers: I forget to test the Sun-3 drivers: - sun3_82586.c: o add missing casts to iounmap() calls o fix parameter of free_netdev() - sun3lance.c: add missing casts to iounmap() calls Note that sun3_82586.c no longer compiles since SUN3_82586_TOTAL_SIZE is not defined. Sammy, is it OK to use PAGE_SIZE for that, since that's what's passed to ioremap()? [PATCH] more RTL-8139 clone boards [PATCH] 8139too NAPI for net-drivers-2.5-exp Here is the 8139too version in net-drivers-2.5-exp modified for NAPI. Also: 64k receive ring - has to handle wrap for that case; the NoWrap flag does nothing if using this big ring. assert() -> BUG_ON() To deal with the races with tx_timeout, put back in the rx_lock from earlier versions. [netdrvr qeth] use alloc_etherdev instead of hand-allocating struct net_device [netdrvr meth] use alloc_etherdev; fix leaks on error/cleanup [wireless ray_cs] use alloc_etherdev [netdrvr ne3210] remove #if 0'd code [appletalk ipddp] dynamically allocate struct net_device Converts from static to dynamic allocation, in preparation for further refcount changes. [arcnet com90io] use alloc_netdev [arcnet arc-rimi] use alloc_netdev; module params; fix bugs on error/cleanup [arcnet com20020] netdev dynamic alloc; module params; fix bugs [arcnet com90xx] netdev dynamic alloc; module params; fix bugs [arcnet] create and use alloc_arcdev helper [netdrvr ppp] netdev dynamic alloc; convert ppp_net_init to alloc_netdev setup function [wan synclink] netdev dynamic alloc [wan cosa] netdev dyamic alloc [PATCH] (1/3) 8139too -- put back old assert For net-drivers-2.5-exp: Minimize code changes -- put back assert() macro with similar properties to the original. Added unlikely() and KERN_ERR tag. [PATCH] (2/3) 8139too -- configurable receive ring For net-drivers-2.5-exp: Make the receive window configurable and go back to the original 32K by default. [PATCH] (3/3) 8139too -- poll_controller For net-drivers-2.5-exp, add a poll_controller hook to allow use of netconsole with this driver. jeff, don't have netconsole setup to test this so please give it a try before including it. [PATCH] 8139too NAPI for net-drivers-2.5-exp Jeff Garzik writes: > Stephen Hemminger wrote: > > Here is the 8139too version in net-drivers-2.5-exp modified for NAPI. > > Also: > > 64k receive ring - has to handle wrap for that case; > > the NoWrap flag does nothing if using this big ring. > > assert() -> BUG_ON() > > > > To deal with the races with tx_timeout, put back in the rx_lock from earlier versions. > + local_irq_disable(); > + netif_rx_complete(dev); > + RTL_W16_F(IntrMask, rtl8139_intr_mask); > + local_irq_enable(); Probably, by my mistake in previous mail. Sorry. This still has the races condition. It can trigger the same problem by shared interrupt on SMP. Probably the following ISR style should use the below combination. in ISR if (netif_rx_schedule_prep(dev)) { RTL_W16 (IntrMask, rtl8139_norx_intr_mask); __netif_rx_schedule(dev); } in ->poll local_irq_disable(); RTL_W16_F(IntrMask, rtl8139_intr_mask); __netif_rx_complete(dev); local_irq_enable(); And another one should use the below combination. (this style can change the flags of __LINK_STATE_RX_SCHED or __LINK_STATE_START anytime) in ISR if (status & RxAckBits) { RTL_W16_F (IntrMask, rtl8139_norx_intr_mask); netif_rx_schedule (dev); } in ->poll local_irq_disable(); __netif_rx_complete(dev); RTL_W16_F(IntrMask, rtl8139_intr_mask); local_irq_enable(); If happen the shared interrupt, the this ISR style may lose a chance of netif_rx_schedule(). Anyway, the following patch should fix the problem. Please apply. Thanks. -- OGAWA Hirofumi drivers/net/8139too.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) [PATCH] 2.6.x experimental net driver queue fix On Wed, 19 Nov 2003, Sam Creasey wrote: > On Tue, 18 Nov 2003, Geert Uytterhoeven wrote: > > On Mon, 17 Nov 2003, Geert Uytterhoeven wrote: > > > On Sun, 16 Nov 2003, Jeff Garzik wrote: > > > > Yet more updates. Syncing with Andrew Morton, and more syncing with Al > > > > Viro. > > > > > > > > No users of init_etherdev remain in the tree. (yay!) > > > > > > Here are some (untested, except for cross-gcc) fixes for the m68k-related > > > drivers: > > > > I forget to test the Sun-3 drivers: > > - sun3_82586.c: > > o add missing casts to iounmap() calls > > o fix parameter of free_netdev() > > - sun3lance.c: add missing casts to iounmap() calls > > > > Note that sun3_82586.c no longer compiles since SUN3_82586_TOTAL_SIZE is not > > defined. Sammy, is it OK to use PAGE_SIZE for that, since that's what's passed > > to ioremap()? > > Should be... I looked back through a few versions of the code, and I'm > not even sure what SUN3_82586_TOTAL_SIZE even was (appears I commented > that line out long ago anyway). (I'm also amazed just how much of that > driver I've forgotten in the last year or two :) OK, so here's a additional patch that fixes that: [netdrvr pcmcia] fix hot unplugging This patch fixes a deadlock which occurs when a PCMCIA card is physically removed, and the netdev interface is then downed. The problem occurs because these drivers delay the call of unregister_netdev until the netdev is downed. Since 2.6 now downs the interface on unregister_netdev(), we can call this function as soon as the card has been removed without waiting for the netdev to be downed. [PATCH] 8139too warning fix (1/2) drivers/net/8139too.c | 2 ++ 1 files changed, 2 insertions(+) [PATCH] 8139too tx queue handling fix Hi, netif_stop_queue(dev); [....] netif_start_queue(dev); netif_wake_queue(dev); and netif_stop_queue(dev); [....] netif_wake_queue(dev); is not same. After tx_timeout, this was needed for restarting tx work immediately. Are you interested in this patch? drivers/net/8139too.c | 3 +-- 1 files changed, 1 insertion(+), 2 deletions(-) net_device and netdev private struct allocation improvements. 1) Ensure alignment of both net_device and private area. 2) Introduce netdev_priv(), an inline which allows the dynamic private area (dev->priv) to be calculated as a constant offset from the base struct net_device at compile time. [hamradio dmascc] convert embedded net_device to dynamic allocation [char synclinkmp] convert net_device to dynamic allocation [pcmcia] synclink_cs] convert net_device to dynamic allocation [atm clip] convert to using alloc_netdev(), const-offset priv [netdrvr] s/kfree/free_netdev/ where appropriate Affected drivers: ixgb, sk98lin, ibmtr, airport, orinoco, wl3501_cs [wireless wl3501_cs] remove unused constructor [netdrvr] convert most 8390 drivers to using alloc_ei_netdev() [netdrvr smc-mca] alloc_ei_netdev(), other fixes Move all initialization between alloc_ei_netdev() and register_netdev(), and fix bugs on error paths. Also s/kfree/free_netdev/ [netdrvr pcnet_cs] alloc_ei_netdev-associated cleanups Create __alloc_ei_netdev() helper, which takes a size argument for allocation of driver-private structures. Use __alloc_ei_netdev in pcnet_cs, for embedded priv struct. [netdrvr 8390] convert 8390 lib to use const-offset priv struct [NET] s/kfree/free_netdev/ in bridge driver [netdrvr axnet_cs] use embedded private struct [netdrvr skfddi] use PCI hotplug API; other cleanups Third revision of the cleanup of skfddi driver. * use new pci device bus initialization * allocate network device with alloc_fddidev and use dev->priv * get rid of special module/non module distinctions. * fix error unwinds and return values on initialization * call driver_init directly not via register_netdev * reset internal queue count after purge * get rid of h[iy]sterical comment that is no longer true about warnings [PATCH] bonding cleanup 2.6 - Simplify ifenslave ifenslave lite - No more IP settings to slaves, unified printing format, code re-org and broken to more functions. [PATCH] bonding cleanup 2.6 - Consolidate prints Convert all debug prints to use the dprintk macro and consolidate format of all prints (e.g. "bonding: Error: ..."). [PATCH] bonding cleanup 2.6 - death of typedefs Eliminate bonding_t/slave_t types and consolidate casting. [PATCH] bonding cleanup 2.6 - remove dead code Removed dead code and redundant checks. [PATCH] bonding cleanup 2.6 - Consolidate timer handling Consolidate timers initialization, error checking and re-queuing. [PATCH] bonding cleanup 2.6 - Fix handling of bond->primary Fix all locations that handles bond->primary. Convert too long if-else to a switch-case. [PATCH] bonding cleanup 2.6 - Remove multicast_mode module param Eliminate the multicast_mode module param. Settings are now done only according to mode. [PATCH] bonding cleanup 2.6 - Fix slave list iteration bond is no longer part of the list. Added cyclic list iteration macros. [PATCH] bonding cleanup 2.6 - Consolidate function declarations All functions begin with bond_ Return value, function name and all params are on the same line. [PATCH] bonding cleanup 2.6 - consolidate param names of function params and variables Consolidate names of function params and variables e.g. bond_dev instead of dev/master/master_dev. [PATCH] bonding cleanup 2.6 - Re-org struct bonding members (re-send) Change names/types for some of the members in struct bonding. Change position of members. [PATCH] bonding cleanup 2.6 - consolidate return values of functions. [PATCH] bonding cleanup 2.6 - Consolidate conditions & statements Put curly braces around all if, else, for, while, switch statements. Change conditions to short format. g. (ptr == NULL) ==> (!ptr). [PATCH] bonding cleanup 2.6 - Consolidate error handling in all xmit functions [PATCH] bonding cleanup 2.6 - Whitespace cleanup Chomp all trailing white space. [PATCH] bonding cleanup 2.6 - empty lines cleanup Remove duplicate empty lines. add empty lines where needed to improve readability. [PATCH] bonding cleanup 2.6 - fix indentations. [PATCH] bonding cleanup 2.6 - Code re-org Code re-organization in bond_main.c according to context (e.g. module initialization, bond initialization, device entry points, monitoring, etc). [PATCH] bonding cleanup 2.6 - Fix rejects from previous patches According to Jeff's recommendations: o Put constant expressions in a constant. o Put parentheses in calculations to improve readability. o Remove redundant cast from void pointer. [netdrvr ns83820] Switched to sane net_device allocation [netdrvr ns83820] Plugs the races around too early register_netdev() [netdrvr ibmlana] ibmlana switched to sane allocation, leaks fixed [netdrvr] A bunch of gratitious ->init() killed; several leaks plugged. Drivers updated: eth1394, baycom_epp, lp486e, plip, 3c359, olympic, tms380tr. [netdrvr 8390] Forgotten return 0; removed [netdrvr pcnet32] Added missing check and cleanup for register_netdev() failure in pcnet32 [netdrvr ibmtr, ibmtr_cs] cleanup and leak fixes. [netdrvr bonding] fix broken build [irda sa1100_ir] convert to using standard alloc_irdadev() [irda sa1100_ir] "resurrect from bitrot hell" - Don't dereference net device in suspend/resume methods until we know the device data has actually been set. - Remove deprecated MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT - System devices in their original form are long since dead. Convert to using a platform device. - Convert to parameters to moduleparam format. - Use register_netdev not register_netdevice - the latter causes us to register "irda%d" as the device name rather than a properly formatted device name. [netdrvr] new-probe warning fix [netdrvr e1000] h/w workarounds + remove device ID. * Remove device ID 8086:1014 support: never a production ID. * Add #define for stripping CRC on Rx. * Added polarity reversal workaround for forced 10Mbps on 82543/4 controllers. The polirity detection algorithm check the link pulse to see if the polarity is reversed. The end of packet waveform of 10Base-T packets look like an inverted link pulse and can make 82443/4 polarity detection algorithms think that the polarity is reversed by mistake. * Change the condition for applying the TBI workaround on 82543: previously enabled workaround if link partner advertised capabilities; now enable based on negotiated speed - only enable for gig speed. [netdrvr e1000] netpoll support * Add netpoll support. [Prasanna S. Panshamukhi (prasanna@in.ibm.com)] [netdrvr e1000] back out CSA interrupt fix * 8086:1019 82547 CSA-based LOMs lock up the system with this code, so let's revert back to what's in 2.6.0 until we can figure out why this is causing problems. [CPUFREQ] Silence powernow-k7 when built as a module. (Pavel Machek) [CPUFREQ] fix up CPU detection in p4-clockmod Too many users use the p4-clockmod cpufreq driver instead of the more advanced speedstep-centrino, speedstep-ich or even acpi drivers. All of the latter (usually) provide voltage scaling, while the p4-clockmod driver only offers a variant of frequency scaling. So, warn users if they try out this driver instead. Also, instead of using a local copy, use the speedstep_lib infrastructure for detecting the processor speed. Adding the Pentium-M get_frequency function to that module only costs about 200 bytes in object size. [SCTP] provide valid tos and oif values for ip_route_output_key. (ja@ssi.bg) ALSA CVS update - Jaroslav Kysela CMIPCI driver Fixed joystick->joystick_port for __setup() ALSA CVS update - Takashi Iwai AC97 Codec Core Sasha Khapyorsky : - added a patch for sis 3036/8 modem codec. ALSA CVS update - Takashi Iwai SB16/AWE driver - fixed the default value of mpu_port, use SNDRV_DEFAULT_PORT instead of hardcoded values. - fixed the reservation of fm port on pnp boards. ALSA CVS update - Takashi Iwai PPC Tumbler driver - ignore the manual mute of speaker in the auto-mute mode. ALSA CVS update - Takashi Iwai ENS1370/1+ driver - clean up of initialization of spdif control elements. - check the return value of snd_ctl_new1() and snd_ctl_add(). - added the support of line-in/rear share switch by Michael Huijsmans . ALSA CVS update - Takashi Iwai VIA82xx driver fix by Timo Hirvonen (modified by tiwai): - added the entry of whitelist for ASRock K7VT2. - max. value of DXS volume is 31. ALSA CVS update - Takashi Iwai Generic drivers,MPU401 UART,OPL3,OPL4,ES18xx driver,OPL3SA2 driver Sound Galaxy driver,Sound Scape driver,AD1816A driver,AD1848 driver CS4231 driver,ES1688 driver,GUS Library,AMD InterWave driver Opti9xx drivers,EMU8000 driver,SB drivers - added the error messages for resource allocation failures. ALSA CVS update - Takashi Iwai ALSA Core - added the gcc printf attribute to snd_printk and snd_printd. ALSA CVS update - Takashi Iwai SB16/AWE driver - fixed the case of non-pnp board with the same OPL3 port as the main port. ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver,EMU8000 driver,Common EMU synth,SoundFont - added __user prefix to the user-space pointers. ALSA CVS update - Takashi Iwai Memalloc module,PCM Midlevel - fixed buffer pre-allocation. - improved proc output. - check the use flag when unmarking the reserved buffer. - clean up and add more comments. ALSA CVS update - Takashi Iwai VIA82xx driver - added the whitelist entry for a shuttle machine. ALSA CVS update - Takashi Iwai CMIPCI driver - initialize the iec958 status at opening the normal PCM device, too. ALSA CVS update - Takashi Iwai Documentation,EMU10K1/EMU10K2 driver - rename the control 'Surround Digital' -> 'Surround'. the surround of ac97 is removed (unused on sb live). - clean up the removal of unused mixer entries. ALSA CVS update - Takashi Iwai Documentation,Memalloc module,ALS4000 driver,AZT3328 driver ES1938 driver,ES1968 driver,Maestro3 driver,SonicVibes driver ALI5451 driver,EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver Trident driver - fixed the DMA allocation. pci_set_dma_mask() is called together with pci_set_consistent_dma_mask(). also clean up the double check of mask. ALSA CVS update - Takashi Iwai PCM Midlevel - don't override the pre-allocated buffer id if already defined. ALSA CVS update - Jaroslav Kysela USB generic driver Show proper ID for Creative Sound Blaster MP3+ ALSA CVS update - Jaroslav Kysela PCM Midlevel,ALSA Core Added SNDRV_PCM_STATE_DISCONNECTED state. ALSA CVS update - Jaroslav Kysela Trident driver Fixed typo ALSA CVS update - Jaroslav Kysela PCM Midlevel fixed oops when device was not opened (usual situation ;-)) ALSA CVS update - Jaroslav Kysela ALSA<-OSS emulation Fixed filling of the end silence - playback (in sync function) ALSA CVS update - Jaroslav Kysela USB generic driver Clemens Ladisch add support for Edirol UM-1SX [SCTP] Add sysctl parameters to update socket send/receive buffers. ALSA CVS update - Jaroslav Kysela USB generic driver Clemens Ladisch - fix buffer overflow (with 0x prefix, component would need 17 chars) - rewrite shortname logic - include product name in longname even if card doesn't have a quirk ALSA CVS update - Takashi Iwai ALSA Core,ALS100 driver,AZT2320 driver,CMI8330 driver,DT019x driver ES18xx driver,OPL3SA2 driver,Sound Scape driver,AD1816A driver CS4236+ driver,AMD InterWave driver,Opti9xx drivers,ES968 driver SB16/AWE driver,Wavefront drivers,ALS4000 driver,AZT3328 driver CMIPCI driver,CS4281 driver,ENS1370/1+ driver,ES1938 driver ES1968 driver,FM801 driver,Intel8x0 driver,Maestro3 driver,RME32 driver RME96 driver,SonicVibes driver,VIA82xx driver,CS46xx driver EMU10K1/EMU10K2 driver,ICE1712 driver,ICE1724 driver,KORG1212 driver NM256 driver,RME HDSP driver,RME9652 driver,Trident driver Digigram VX222 driver,YMFPCI driver,USB generic driver - added snd_card_set_dev() macro. - sysfsfied more pci, isapnp and usb drivers. ALSA - updated date identification [APPLETALK]: Do not use lvalue in assignment. [ATM]: Do not use lvalue in assignment. [X25]: Do not use lvalue in assignment. [DECNET]: Do not use lvalue in assignment. [ECONET]: Do not use lvalue in assignment. [IPV6]: Do not use lvalue in assignment. [IPX]: Do not use lvalue in assignment. [IRDA]: Do not use lvalue in assignment. [LLC]: Do not use lvalue in assignment. [AF_KEY]: Do not use lvalue in assignment. [NETROM]: Do not use lvalue in assignment. [ROSE]: Do not use lvalue in assignment. [SCTP]: Fix packed attribute usage. [TCP]: Un-inline tcp_put_port(). [TG3]: Do not use lvalue in assignment. [NETFILTER]: Make use of ipt_register_target() return values. [NET]: In dev_seq_printf_stats(), kill extra comparison, make more readable. [PATCH] libata warning fixes drivers/scsi/libata-core.c:973: warning: long long unsigned int format, u64 arg (arg 5) [netdrvr] remove unnecessary type casting [PATCH] gcc-35: drivers/net/wan/lmc drivers/net/wan/lmc/lmc_media.c:1061: sorry, unimplemented: called from here drivers/net/wan/lmc/lmc_debug.h:50: sorry, unimplemented: inlining failed in call to 'lmc_trace': function body not available [PATCH] gcc-3.5: ne2k-pci.c drivers/net/ne2k-pci.c: In function `ne2k_pci_block_input': drivers/net/ne2k-pci.c:539: error: invalid lvalue in increment drivers/net/ne2k-pci.c: In function `ne2k_pci_block_output': drivers/net/ne2k-pci.c:600: error: invalid lvalue in increment [DECNET]: Fix filling in of header length field. [CREDITS]: Update Bjorn Ekwall's address. [SUNGEM]: Add support for G5 PowerMAC plus PM fixes. [SUNGEM]: Add K2_GMAC pci id to pci_ids.h [PATCH] SCSI tape cdev fixes for 2.6.2-rc1 The patch at the end of this message fixes the following problems: - cdev allocation moved outside st_dev_arr_lock, prevents the debugging error messages reported by Mike and Mike - cdev_unmap() added before cdev_del(), prevents oops (and kernel data corruption) in case someone tries to use a device after removing the module - better error handling for failures in cdev allocation As far as I am concerned, the patch is tested but testing by others might be useful :-) [PATCH] aha152x attached my patch for the aha152x driver. Tested for pcmcia and not pcmcia and various devices. changes in the aha152x driver: - gather code that is not used by PCMCIA at the end - move request_region for !PCMCIA case to detection - migration to new scsi host api (remove legacy code) - free host scribble before scsi_done - fix error handling - one isapnp device added to id_table and in the pcmcia stub module: - default to synchronous transfers - release_region hack removed - let core module do the scsi host api calls. aha152x request region fix Noticed by: Guennadi Liakhovetski Fixed By: Juergen E. Fischer On Sat, Jan 24, 2004 at 15:02:12 +0100, Guennadi Liakhovetski wrote: > Correct and forgive me if I am wrong, it looks like you are now poking at > ports without requesting them - in *_porttest. Is it a good idea? Ouch. No, of course not, you are right. Thanks for pointing. I thought I had moved the port testing to aha152x_probe_one... Following patch cleans that up. The port test during autoconfiguration was also done without requesting the region first and there was a bug in auto configuration of a TC1550 controller (both even before the patch). [PATCH] sg driver update > This patch is against the sg driver found in lk 2.6.1-bk6 . > It is an update on the sg patch sent in the "devices with more > than one node" thread: > http://marc.theaimsgroup.com/?l=linux-scsi&m=107415435300783&w=2 Attached is an updated patch adding the cdev_unmap() call which Kai Makisara reported as required. Fusion update to 3.00.02 From: Moore, Eric Dean Here is list of fix's. * added new PCI API support * added ACPI support * added CONFIG_LBA, READ16, WRITE16 support * underun fix * chain buffer free list not being init properly * reduce task management (abort=2sec,reset bus=5sec, timeout=10sec) * Hot plug fix's requested from Christoph Hellwig, and several others from the linux-scsi@ list. [PATCH] aha1542: queuecommand: change panic() to return From: Timmy Yee The aha1542 driver calls panic() if kmalloc() fails, which it shouldn't do. This patch changes that by having the code return a nonzero value, so it tells the SCSI mid-layer to retry the command, as suggested by Randy. diffstat:= drivers/scsi/aha1542.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) [PATCH] aha1542: add kmalloc type From: Timmy Yee In drivers/scsi/aha1542.c, kmalloc() is called with no memtype (i.e. without some flag like GFP_KERNEL). The following patch will fix that. diff -puN drivers/scsi/aha1542.c~aha1542_kmalloc_type drivers/scsi/aha1542.c linux-262-rc1-bk1-rddunlap/drivers/scsi/aha1542.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) [PATCH] fix sym53c8xx_2 doc. location A very simple patch against 2.6.0 follows, which fixes an improper file reference in the scsi sym53c8xx_2 driver help text. The referenced documentation file was moved in 2.5.48 but the help text was not updated accordingly. linux-262-rc1-bk1-rddunlap/drivers/scsi/Kconfig | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) ALSA CVS update - Jaroslav Kysela Intel8x0 driver Added more generic entries for Intel hardware (follows 0.9.1adi driver) ALSA CVS update - Jaroslav Kysela AC97 Codec Core Follow 0.9.1 ADI driver (mic in 3.75V, no High-Z mode, remove patch_ad1881() cal for 1985 - we have already 6 DACs ALSA CVS update - Takashi Iwai Documentation - fixed the description of vx222 install command and a typo. - removed the description of the obsolete aliases for OSS emulation. ALSA CVS update - Takashi Iwai ALSA Core,Common EMU synth,SoundFont,EMU8000 driver EMU10K1/EMU10K2 driver - added the support of hwdep for EmuX WaveTable on emu10k1 and sbawe. SoundFont can be loaded via the ALSA native hwdep device now. ALSA CVS update - Takashi Iwai ALSA Core,IGNORE - fixed the dependency of emu10k1/sbawe emux synth modules. ALSA CVS update - Takashi Iwai SB16/AWE driver - added the missing ifdef CONFIG_PNP around the pnp table definition. ALSA CVS update - Takashi Iwai Intel8x0 driver - fixed the 6 channel output on nforce. the sample format is once reset to 2 channel mode for aligning the samples. ALSA CVS update - Takashi Iwai Intel8x0 driver - added the workaround for a hardware bug in intel 440MX B-stepping. ALSA CVS update - Takashi Iwai Control Midlevel,IOCTL32 emulation,ALSA<-OSS emulation EMU10K1/EMU10K2 driver - fixed the oops in OSS mixer when the control elements are dynamically changed (e.g. emufx). mixer_oss.c handles the numid instead of kcontrol_t pointers. - snd_ctl_find_id and snd_ctl_find_numid don't issue contros_rwsem. the caller has to handle it properly. ALSA CVS update - Takashi Iwai PCM Midlevel - added the support of stack dump at xrun. enabled by writing to /proc/asound/card*/pcm*/xrun_debug proc file. built only when CONFIG_SND_DEBUG is set. ALSA CVS update - Takashi Iwai USB generic driver Clemens Ladisch : - remove superfluous error check ENODEV actually never happens in a completion handler ALSA CVS update - Takashi Iwai Documentation,ALS100 driver,AZT2320 driver,DT019x driver,ES18xx driver AD1816A driver,CS4231 driver,CS4236+ driver,ES1688 driver Opti9xx drivers,SB16/AWE driver,ALS4000 driver,ES1938 driver FM801 driver,SonicVibes driver,Trident driver,YMFPCI driver Clemens Ladisch : - fix names for MPU-401 ports This moves the initialization of card->shortname before the component creation so that the name for the rawmidi port is ' MPU-401' instead of 'MPU-401 UART x-0'. ALSA CVS update - Takashi Iwai RME HDSP driver Martin Bjoernsen: - set the PCI latency timer to 255 for fixing some misbehavior. ALSA CVS update - Jaroslav Kysela PCM Midlevel Change -EINVAL to -EALREADY in snd_pcm_unlink() ALSA 1.0.2 + added missing file (emux_hwdep.c) ommited due merge ALSA CVS update - Jaroslav Kysela Intel8x0 driver Fixed typo [ACPI] add Bruno Ducrot to CREDITS [ACPI] Check for overflow when parsing MADT entries from Jes Sorensen [ACPI] update passive cooling algorithm from Dominik Brodowski The current algorithm used by Linux ACPI for passive thermal management has two shortcomings: - if increasing the CPU processing power as a thermal situation goes away, throttling states are decreased later than performance states. This is not wise -- it should be the opposite ordering of going "up". - only if the ACPI CPUfreq driver is used, performance states are used. A generalized approach would offer passive cooling even if the ACPI P-States cpufreq driver cannot be used (faulty BIOS, FixedHW access, etc.) [ACPI] remove unnecessary check in acpi-cpufreq driver from Dominik Brodowski The acpi cpufreq driver includes a test at startup which detects whether ACPI P-States are supported on any CPU, and whether transitions work. However, this test is faulty: it is only run _after_ the acpi driver is registered, causing race situations. Also, it doesn't save anything _as_ the driver is already registered. So, it can safely be removed. [ACPI] update _PPC handling -- from Dominik Brodowski updates the _PPC handling. It is handled as a CPUfreq policy notifier which adjusts the maximum CPU speed according to the current platform limit. [ACPI] acpi-cpufreq fixups from Dominik Brodowski - remove unnecessary usage of flags.performance - remove double check of _PPC in acpi-cpufreq driver as it's handled in drivers/acpi/processor.c already - remove unneeded EXPORT_SYMBOL - allocation of memory only for probed CPUs - add unregistration function to the core - fix OOPS when PST has core_frequency values of zero - fix cpufreq_get() output - fix /proc/acpi/processor/*/performance write support [deprecated] [CRYPTO]: Help gcc optimize sha256/sha512 better. [NETFILTER]: Fix up copyright notices. [NETFILTER]: Fix locking in ip_conntrack. http://bugme.osdl.org/show_bug.cgi?id=1764 We're walking the expect list without the ip_conntrack_expect_tuple_lock. [NETFILTER]: Update Changes file to reflect 2.6.x reality. [IPV6]: Use the cheaper ipv6_addr_any() for ipv6_addr_type() where possible. [IPV6]: Use the cheaper ipv6_addr_is_multicast() for ipv6_addr_type() where possible. [ACPI] more acpi-cpufreq fixups from Dominik Brodowski Fix a horribly wrong memcpy instruction in cpufreq_update_policy which caused it to oops. fix build error from undefined NR_IRQ_VECTORS [ACPI] quiet numa boot -- from Jes Sorensen [NET_SCHED]: Add HFSC packet scheduler. [IPV4]: Add per-device sysctl to force IGMP version. [PATCH] USB: gcc-3.5: drivers/usb/gadget/net2280.c drivers/usb/gadget/net2280.c: In function `write_fifo': drivers/usb/gadget/net2280.c:527: error: `typeof' applied to a bit-field drivers/usb/gadget/net2280.c: In function `handle_ep_small': drivers/usb/gadget/net2280.c:2042: error: `typeof' applied to a bit-field [PATCH] USB: gcc-3.5: drivers/usb/input/hid-core.c drivers/usb/input/hid-core.c: In function `fetch_item': drivers/usb/input/hid-core.c:605: error: invalid lvalue in increment drivers/usb/input/hid-core.c:612: error: invalid lvalue in increment [PATCH] USB: gcc-3.5: drivers/usb/misc/uss720.c drivers/usb/misc/uss720.c: In function `parport_uss720_epp_read_data': drivers/usb/misc/uss720.c:336: error: invalid lvalue in increment drivers/usb/misc/uss720.c: In function `parport_uss720_epp_read_addr': drivers/usb/misc/uss720.c:395: error: invalid lvalue in increment drivers/usb/misc/uss720.c: In function `parport_uss720_epp_write_addr': drivers/usb/misc/uss720.c:415: error: invalid lvalue in increment drivers/usb/misc/uss720.c: In function `parport_uss720_ecp_write_addr': drivers/usb/misc/uss720.c:472: error: invalid lvalue in increment [PATCH] USB: gcc-3.5: drivers/usb/storage/usb.c drivers/usb/storage/usb.c: In function `usb_stor_release_resources': drivers/usb/storage/usb.c:837: error: invalid lvalue in assignment [PATCH] USB: remove unused usb-debug.c file (moving the one used function into the usb.c file.) [PATCH] USB gadget: file_storage.c -- remove device_unregister_wait() It replaces a call to device_unregister_wait() in the File-backed Storage Gadget. [PATCH] USB: ehci - clear TT buffer command patch I have a patch for a typo in the 2.6.0 kernel, drivers/usb/core/hub.c, in hub_clear_tt_buffer, the value USB_DIR_IN | USB_RECIP_OTHER is used for bmRequestType, when section 11.24.2 of the spec says it should really be USB_RT_PORT, or 00100011b. After limited testing, this change exhibited better recovery from TT errors, here's the patch : [PATCH] USB: fix Bug 1821: sleeping function called > Data point: "visor.c" always passes GFP_ATOMIC there. Here's a patch that makes cdc-acm use GFP_ATOMIC too, and report consequent allocation failures. Compiles but otherwise untested. [CRYPTO]: Make padding[] array static in sha{256,512}_final(). Also happens to work around a GCC bug. [PATCH] PCI: add back some pci.ids entries that got deleted in the last big update. [PATCH] PCI: Remove uneeded resource structures from pci_dev The following patch remove irq_resource and dma_resource from pci_dev. It appears that the serial pci driver depends on irq_resource, however, it may be broken portions of an old quirk. I attempted to maintain the existing behavior while removing irq_resource. I changed FL_IRQRESOURCE to FL_NOIRQ. Russell, could you provide any comments? irq_resource and dma_resource are most likely remnants from when pci_dev was shared with pnp. [PATCH] PCI Hotplug: coding style for cpqphp_pci.c here are some coding style fixes. [PATCH] I2C: add Hydra i2c bus driver Here's a new version, incorporating these comments, and making a few more changes: - Use struct definition in instead of #defined offset - Remove flushes are register writes, they are no longer needed - Use pci_resource_start() instead of dev->resource[].start - ioremap() the whole resource instead of the first 256 bytes - Check for errors returned by ioremap() and i2c_bit_add_bus() - Add resource management - Call iounmap() in hydra_remove() instead of in i2c_hydra_exit() - Let I2C_HYDRA depend on I2C and select I2C_ALGOBIT instead of depending on I2C_ALGOBIT [PATCH] I2C: fix typos Following patch fixes two typos and a missing full stop. [PATCH] USB: remove pci_unmap_single() calls from usbcore There's an unnecessary pci-ism in usbcore -- just an oversight in some API conversion, and harmless on most systems. This'll be a good thing to remove for non-PCI HCD support though. [ACPI] proposed fix for AML parameter passing from Bob Moore http://bugzilla.kernel.org/show_bug.cgi?id=1766 [ACPI] Move the _PSS and _PCT access to drivers/acpi/processor.c so that it can be used by various low-level drivers (centrino, acpi-io, powernow-k{7,8}, ...) from Dominik Brodowski [ACPI] Move the /proc/acpi/processor/./performance output to drivers/acpi/processor.c -- it's the same for all lowlevel drivers. By doing so, the lowlevel drivers no longer need to have access to struct acpi_processor. from Dominik Brodowski [ACPI] Abstract the registration method between low-level drivers and the ACPI Processor P-States driver. from Dominik Brodowski [ACPI] add _PDC support Add support for _PDC to the ACPI processor "Performance States library" (perflib). If this field is empty, a bogus entry is passed to the _PDC method so that the default (io) access is returned again. This patch is partly based on David Moore's patch to arch/i386/kernel/cpu/cpufreq/acpi.c, sent to the cpufreq mailing list on June 24th, 2003. [ACPI] make # of performance states dynamic from Dominik Brodowski [netdrvr sk98lin 1/2] Remove CVS substitution keywords/spam. With vendor's OK, remove Log, Revision, and Date from each file. This data is generated from non-public CVS, and mirrors the BitKeeper changelog. Further, every driver submission usually contains updates to each and every file, just because of the updated CVS revisions. [netdrvr sk98lin 2/2] Remove CVS substitution keywords/spam. With vendor's OK, remove Log, Revision, and Date from each file. This data is generated from non-public CVS, and mirrors the BitKeeper changelog. Further, every driver submission usually contains updates to each and every file, just because of the updated CVS revisions. [DECNET]: Made SDF_WILD sockets actually work. [DECNET]: Fix double rcu_read_unlock() in dn_rt_cache_seq_stop(). [TCP]: Port 2.4.x version of TCP Westwood support to 2.6.x Original 2.4.x version by Angelo Dell'Aera (buffer@antifork.org) Here is the 2.4 version with some cleanups converted to 2.6. - use tcp_ prefix (dave) - get rid of rwlock not needed (dave) - do some hand optimization of the inline's - don't make init inline - get rid of extra whitespace - eliminate accessor for mss_cache [TCP]: Kill bogus reference to CONFIG_TCP_WESTWOOD. Update qla2xxx to 8.00.00b9 From: Andrew Vasquez http://sourceforge.net/projects/linux-qla2xxx/ qla2xxx - perform proper SNS scans with ISP2200 HBAs. [1/3] From: Andrew Vasquez The 2200 firmware doesn't support the MS IOCB interface the driver uses to issue CT commands to the SNS. Basically, I had to forward-port some code from the 6.x driver to get the SNS calls to go through. I've had several machines (mixture of 2200s/ 2300s/others with loop and fabric connections) running with this patch for the past week. qla2xxx - Remove unused GFT_ID code. [2/3] From: Andrew Vasquez The driver does not issue GFT_IDs for each of the ports discovered during its SNS scan. Remove unused code. qla2xxx - Use RIO mode 4 for ISP2100/ISP2200 operation. [3/3] From: Andrew Vasquez RIO mode 3 (originally used in the qla2xxx driver) will not work on big-endian platforms due to the firmware returning only the first-word of the dword command handle returned after SCSI completion. Use RIO mode 4 since full 32bit handle is returned during status. I've recently added an IBM p630 machine (ppc64) to my test ring with a mix of 2200 and 2300 cards -- I feel fairly confident that most endian type issues are addressed. Fix mptfusion to compile without CONFIG_PM [PATCH] Updated qla2xxx driver. - Bump version number -> 8.00.00b10. - Use down() not down_interruptible() while waiting for mailbox completions. o down_interruptible() is the wrong thing to do here (in case a signal hits you sooo do the wrong thing and corrupt the semaphore) (Arjan van de Ven arjanv_redhat.com) - Misc. ISP6312/ISP6322 changes: o Asynchronous IOCB handling is not available on ISP6312 and ISP6322 type boards. o Firmware type (FLX) desgnation fix. - Clean up some extraneous code: o Remove duplicate call to qla2x00_config_os(). o Remove unused structure member rsvd in struct dev_id. - Create single module firmware loaders for each firmware image shipped with the driver (2/2). - Create single module firmware loaders for each firmware image shipped with the driver. - Resync with latest released firmware 3.02.21. qla2xxx: Resync with latest released firmware 3.02.21 From: Andrew Vasquez [PATCH] fix badness in scsi_single_lun_run This patch against recent mainline bk removes the bogus WARN_ON for single_lun devices, and a meaningless comment. We clear the starget_sdev_user, and immediately blk_run_queue for the LUN that just issued IO. Another LUN could race in scsi_request_fn, but it is most likely that the last user will get there first, and reset starget_sdev_user. If it does not, it will have to wait for the other LUN to finish all of its IO. [PATCH] media change check fails for busy unplugged device If a request is sent through scsi_wait_req the function may be woken up from the completion by a function other than scsi_wait_done. This can happen as a result of cases that return BLKPREP_KILL in the scsi_prep_fn function. author: Mike Anderson patch_version: Thu Jan 29 09:03:44 UTC 2004 patched-2.6-andmike/drivers/scsi/scsi_lib.c | 2 ++ 1 files changed, 2 insertions(+) scsi: scatter gather alignment constraints Make sg and st respect any block alignment constraints for the data. Usb storage already sets these to what it needs. Also reset the default to 7 for other SCSI devices. [PATCH] change scsi_cmd_ioctl to take a gendisk instead of a queue This patch against a recent bk 2.6 changes scsi_cmd_ioctl to take a gendisk as an argument instead of a request_queue_t. This allows scsi char devices to use the scsi_cmd_ioctl interface. In turn, change bio_map_user to also pass a request_queue_t, and add a __bio_add_page helper that takes a request_queue_t. Tested ide cd burning with no problems. If the scsi upper level scsi_cmd_ioctl usage were consolidated in scsi_prep_fn, we could pass a request_queue_t instead of a gendisk to scsi_cmd_ioctl. [PATCH] add scsi_cmd_ioctl (SG_IO) support for st Add SG_IO support for st, so we can send scsi commands directly to an st device. Though st (still?) needs to move to move away from cdev for udev to function with it. SCSI: BusLogic update From: Bob Doyle Deleted dead code: - BusLogic_ReportTargetDeviceInfo() - BusLogic_SelectQueueDepths() - BusLogic_SendBusDeviceReset() - BusLogic_ResetCommand() Fixed: - removed dependency on "scsi_obsolete.h" o Changes to BusLogic_ResetHostAdapter() o Changes to BusLogic_AbortCommand() - removed the gratuitous typedefs per Christoph's comments - several functions with incorrect __init and __exit sections. - Removed vestiges of the 'Error Recovery' command line function (which is fundamentally incompatible with the new EH design). Left to do: - Test eh_abort_handler - Test eh_host_reset_handler - Test as module - Straighten out FlashPoint conditional compile so it doesn't require #include "FlashPoint.c". - Please ignore the long line length and the very lengthy identifiers (for now). [TCP]: Add tcp_westwood doc to ip-sysctl.txt SCSI: remove qlogicfc driver The qla2xxx drivers take its place [IPV6]: Fix reserved subnet anycast checking in __ipv6_regen_rndid(). [PATCH] PCI: Replace pci_pool with generic dma_pool - Move drivers/pci/pool.c to drivers/base/pool.c - Initialize struct device.dma_pools in device_initialize() - Remove initialization of struct pci_dev.pools from pci_setup_device() [PATCH] PCI: Replace pci_pool with generic dma_pool, part 2 include/linux changes: - Add dma_pools member to struct device - Add include/linux/dmapool.h - Remove pools memober from struct pci_dev - Replace pci_pool_* functions with macros that map to dma_pool_* functions [PATCH] dmapool: use dev_err() whenever we can to get the better information in it. [PATCH] PCI Hotplug: Whitespace fixes for acpiphp This are some whitespace fixes for acpiphp, in most cases killing spaces before the opening brace of function declarations. [PATCH] PCI Hotplug: Kill spaces before \n in ibmphp* Don't use a space directly before '\n' in error/debug messages. This adds extra code size, causes unneeded line breaks in xterms, noone else does it and it's just superfluos and ugly. This also adds a missing ")" in a comment. [PATCH] PCI Hotplug: Kill useless instructions from ibmphp_core.c This kills the explicit setting of rc to -ENODEV in 2 places where it is not necessary because it will have this value on this path anyway. [PATCH] PCI: Patch to get cpqphp working with IOAPIC Here is a patch for to get cpqphp working with IOAPIC. My earlier statement that a kernel patch is not needed for 2.6 is true only when ACPI is enabled. A similar patch is needed in pcibios_enable_irq() for 2.4 kernel and I will send it out later. The fix is in pirq_enable_irq(). This function is called indirectly by pci_enable_device(). For device present during boot up, it should get the proper dev->irq for pcibios_fixup_irqs() has been called to get the dev->irq from MP table. If the value is still zero, then this is properly caused by "buggy MP table". For hot-plug device, its dev->irq is 0 when the pci_enable_device() is called for it hasn't gone through the fixup. Therefore, the code (similiar to the code in pcibios_fixup_irqs) is needed here. SCSI: Remove AM53c974 driver It hasn't compiled for ages and no-one seems to care ... SCSI: remove mac_NCR5380 driver It's vestigial (it doesn't have a build entry in the Makefile) [PATCH] USB: mark the scanner driver BROKEN Greg, I think this now makes 2 distinct bugs in the scanner kernel driver. Maybe it should be protected with a BROKEN: [PATCH] USB: fix usb hc and shared irq handling Here is a revised version of the irqreturn_t propagation patch. The only difference is now ohci-hcd returns IRQ_HANDLED in the remove case. [PATCH] USB: remove reference to usb_hcd.refcnt in ohci-sa111.c Following patch against 2.6.2-rc2 removes a reference to what appears to be a deprecated member of struct usb_hcd from the function ohci-sa111.c:usb_hcd_sa1111_remove(). [PATCH] USB gadget: fix usb/gadget/file_storage.c doesn't compile with gcc 2.95 [PATCH] USB storage: fix sign bug in usb-storage datafab 2.6 has no -fsigned-char anymore. there are 3 checks for info->lun < 0 [PATCH] USB: fix DMA to stack in tt-usb this driver does DMA to the stack via usb_bulk_msg(). [PATCH] USB: fix URB leak in belkin driver if submission of the interrupt URb fails in belkin_sa_open() the previously submitted URB may remain live. The rest of the system thinks that opening failed, therefore the URB should be unlinked in the error case. [PATCH] USB: add support for the Aceeca Meazura device to the visor driver. Thanks to Terry Markovich for the information. [PATCH] I2C: Bring w83l785ts in compliance with sysfs naming conventions Here is a patch that brings the w83l785ts driver in compliance with sysfs naming conventions. This is pretty much the same problem and solution that occured very recently with the lm75 and lm78 drivers. The patch was tested to work fine by James Bolt. [PATCH] I2C: Handle read errors in w83l785ts Here is a patch that adds proper read error handling in the w83l785ts driver. This is needed for this driver because on many Asus boards the BIOS or something accesses the chip in our back and causes collisions or something similar that causes many read errors. For now, these errors make the driver return temperature values of -1 from times to times. I have been working with James Bolt on this. See the thread on the lm_sensors mailing list for details. The patch is fairly well tested. It is against 2.6.2-rc3 + your current stack of patches as I know it. The "retry until it works" method is the best I could think of, since we have no information from Asus and I don't expect to get any. If it still doesn't work after an arbitrary number (5) of tries it returns the previously known value and generates an error in the logs. James' tests showed that it will probably never happen though (highest retry count was 3 and happened once out of 3000 reads) unless we lower the arbitrary number (but we don't want to, do we?) I inserted incremental delays as reads fail, I felt like it should help avoid collisions with whatever-is-bugging-us. Seems to work OK, but it's not perfect (since we sometimes need 3 retries) and I didn't test with a different policy (no delay, constant delay or different increment). minor mptfusion fix I found a minor bug in that patch. Its in mptbase_remove(). I saw it this morning when compiling a driver for x86_64 platform. Funny how it didn't complain in x86 system. [PATCH] I2C: add new driver, gl518sm Here comes a new i2c chip driver for Linux 2.6: gl518sm, ported from our CVS repository by Hong-Gunn Chew. I have reviewed Gunn's code and we made a few cleanups and improvements over the original driver. See our complete exchange on the sensors mailing-list for details. [PATCH] Driver core: add hotplug support for class_simple This is needed by the DRI code. [PATCH] Kobject: export some missing symbols [IPV4]: Fix IGMP device reference counting. 1) Check indev->dead instead of IFF_UP 2) Add missing ip_mc_down() call to ip_mc_destroy_dev(). Based upon a report from Willy Tarreau. [PATCH] scsi_mid_low_api.txt update to clarify queuecommand return values The only documentation about the MLQUEUE returns is in the code, it should also be in here. [IPV6]: Fix dst leak in error path of ndisc_send_redirect(). [PATCH] PCI: dma_pool fixups [PATCH] PCI: avoid two returns directly after each other in pcidriver.c This avoids a return direct before the final return of a function. Better only modify the return code and fall through to the final return. [PATCH] PCI Hotplug: Coding style fixes for drivers/pci/hotplug.c [PATCH] PCI Hotplug: very small optimisations for ibmphp_pci.c [PATCH] PCI Hotplug: kill hpcrc from several functions in ibmphp_core.c This patch kills the variable hpcrc from many places. It is used as a temporary storage for the return code before this is copied to rc which contains the "real" return code. There are some checks if to copy or not but at the end they will always have the same value, so we can directly put the return code in rc and kill hpcrc. [PATCH] PCI Hotplug: make ibm_unconfigure_device void ibm_unconfigure_device always returns 0, so we do not need to check for a return value != 0 and can kill the warning. And if the return value is always the same we don't need a return value. Also some whitespace fixing. And this time not line wrapped. Really. Absolutely sure. Checked twice. [PATCH] I2C: fix oops when CONFIG_I2C_DEBUG_CORE is enabled and the bttv driver is loaded. [PATCH] yellowfin: correct printk of dma_addr_t fix dma_addr_t type error with CONFIG_HIGHMEM64G=y; [PATCH] sundance: correct printk of dma_addr_t fix dma_addr_t type error with CONFIG_HIGHMEM64G=y; [netdrvr e1000] Serial-over-LAN (SoL) fix * Set VLAN filtering to IEEE 802.1Q after reset so we don't break Serial-over-LAN (SoL) connections that use VLANs. [netdrvr e1000] tx_lock * Fix race in Tx performance path with tx_lock. Between checking if we're out of resources and stopping the queue, we can get a hard interrupt which will clean up all Tx work, and wake the queue. Coming out of hard interrupt context, we stop the queue even though no work was queued, and all work completed has been cleaned up. Scenario requires ring to be completely filled, which is more likely to happen with TSO, since each TSO send consumes multiple ring entries. [netdrvr e1000] Allow 1000/Full setting for Autoneg param * Allow 1000/Full setting for AutoNeg param for Fiber connections. Jon D Mason [jonmason@us.ibm.com]. [netdrvr e1000] Misc - copyright, changelog spelling * Misc - copyright update, changelog, spelling fixes. [netdrvr e1000] on-demand stats support * Provide updated stats when requested via ->get_stats or ethtool. Previously, driver would only update stats every 2 seconds, which would cause some monitoring apps to show zero change from one second to the next. [netdrvr e1000] 82547 interrupt assert/de-assert re-ordering * 82547 needs interrupt disable/enable to keep interrupt assertion state synced between 82547 and APIC. 82547 will re-order assert and de-assert messages if hub link bus is busy (heavy traffic). Disabling interrupt on device works around re- order issue. Note: this is a re-patch. We backed out the patch because of a report on a system with a 8086:1019 device would lock up with this patch. Turns out that system was a pre-production sample. [PATCH] PCI: fix "pcibus_class" Device Class, release function John Rose wrote: > The function release_pcibus_dev() in probe.c defines the release procedure for > device class pcibus_class. I want to suggest that this function be scrapped :) > > This release function is called in the code path of class_device_unregister(). > The pcibus_class devices aren't currently unregistered anywhere, from what I > can tell, so this release function is currently unused. The runtime removal of > PCI buses from logical partitions on PPC64 requires the unregistration of these > class devices. The natural place to do this IMHO is in pci_remove_bus_device() > in remove.c. You're right that the class device isn't currently unregistered, and that was an oversight in the patch I originally sent. Attatched is a patch that remedies that situation. pci_remove_bus_device() *is* the natural place to unregister the class_dev, and that's just what the patch does. > The problem is that this calls pci_destroy_dev(), which calls put() on the same > "bridge" device that the release function does. This should only be done once > in the course of removing a pci_bus, and I doubt that we want to change > pci_destroy_dev(). The kfree() of the pci_bus struct is also done in both > pci_remove_bus_device() and release_pcibus_dev(). Yep. The patch pulls the kfree() out of pci_remove_bus_device() and calls class_device_unregister() in it's place. This will put() the bridge device and free the pci_bus as needed. put() does need to be called twice because the bridge device is get()'d twice: once when the device is registered and once when it's bus device grabs a reference to it. [PATCH] Fix race in sched_exit() From: Martin Schwidefsky Fix a race on sleep_avg in sched_exit(). The symptom I saw on 64-bit s390 has been a fixpoint divide exception because sleep_avg had a value > NS_MAX_SLEEP_AVG. I tracked it down and the problem is sched_exit which recalculates the parents sleep average without taking the runqueue lock. schedule() subtracts run_time from sleep_avg of the previous process. This can turn out negative and is corrected shortly after the subtraction but that is already too late. sched_exit() already read the negative value an miscalculated the parents sleep_avg -> bang. I fixed this by adding task_rq_lock/task_rq_unlock to sched_exit(). [PATCH] Eicon isdn driver flush_scheduled_work() fix From: Armin flush_scheduled_work() may not be called from irq-context and it is not necessary for the diva_os_cancel_soft_isr() function anyway. [PATCH] sn2: set iommu bounce limit From: Jes Sorensen The following patch sets the IOMMU bounce limit on the SN2 which is require to avoid some ISA checks in ll_rw_blk.c causing a BUG_ON(). [PATCH] Fixes / Enhancements for PPC_GEN550 From: Tom Rini Various fixes for the PPC_GEN550 backend. - Move PPC_GEN550 bool into a more appropriate spot. - Add PPC_GEN550 support to the MCPN765 platform. - Allow for SERIAL_TEXT_DEBUG on PPC_GEN550. - Add missing headers to arch/ppc/syslib/gen550_dbg.c - Clean-up the KGDB interface such that we allow for a kgdb_map_scc call, but do not require one. - Add gen550 prototypes to - PPC_GEN550 backend code doesn't depend on 8250_SERIAL. [PATCH] Make PPC601_SYNC_FIX depend on pmac||prep From: Tom Rini The following has been approved by Paul, FWIW. The following patch makes PPC601_SYNC_FIX depend on PPC_PMAC || PPC_PREP. It used to depend on ALL_PPC I believe, but this was (at least semi-intentionally I gather) backed out. The last time this was discussed, the only platforms old enough to have a 601 to support were pmacs and preps, so it makes some sense to only ask for these machines. [PATCH] Remove useless argument from __ste_allocate() From: David Gibson In the current ppc64 code the function __ste_allocate() in arch/ppc64/mm/stab.c takes a context parameter which is never used. This patch removes it. [PATCH] Allow PCI BARs that start at 0 From: Anton Blanchard We have IO BARs on ppc64 machines that begin at address 0. The current pci probe code will ignore anything that starts at 0. Remove these checks. [PATCH] quiet down SMP boot messages From: Jes Sorensen I'd like to propose the following for 2.6.1-mm/2.6.2. On systems with a large number of CPUs the number of printk's flowing by for each CPU booting starts becoming a real console hog. The following patch eliminates a couple of them (already sent a patch to David for the ia64 specific ones) as well as changes the "Building zonelist : X" in "Built Y zonelists". IMHO it doesn't make any sense to print for each zonelist since it's run in a for loop running from 0 to Y-1 anyway. The patch nukes a few new printk's that were introduced with the scheduler changes to the NUMA code in -mm3, if these are still needed then I won't fight for that part of the patch. [PATCH] VT locking fixes From: Benjamin Herrenschmidt - Make sure that all console operations are approriately protected under console_sem. - Adds checks to make sure that people are taking console_sem when it is expected to be held. [PATCH] lock_cpu_hotplug only if CONFIG_CPU_HOTPLUG From: Rusty Russell The cpucontrol mutex is not required when no cpus can go up and down. Andrew wrote a wrapper for it to avoid #ifdefs, this expands that to only be defined for CONFIG_HOTPLUG_CPU, and uses it everywhere. The only downside is that the cpucontrol lock was overloaded by my recent patch to net/core/flow.c to protect it from reentrance, so this reintroduces the local flow_flush_sem. This code isn't speed critical, so taking two locks when CONFIG_HOTPLUG_CPU=y is not really an issue. [PATCH] ia32 MSI vector handling fix From: "Nakajima, Jun" To get the vector-based interrupt handling work, we need to give the vector number to device drivers instead of the IRQ if IRQ < 16. It was not happening for SCI, and the patch fixes it. In many cases, the IRQ for SCI is 9, and the problem was not detected, but one particular machine exposed the bug. [PATCH] kbuild: Unmangle include options for gcc From: Sam Ravnborg When utilising the make O=... option the include options for gcc were mangled even when absolute paths was used. Also remove duplication of CPPFLAGS. They were assigned twice. [It is still possible for architectures to modify CPPFLAGS]. This patch allows xconfig to be build with make O=... xconfig.It will also help development of external modules with absolute paths for their -I options. Note: As a side effect a full recompile of the kernel takes place due to changes in number of gcc options. [PATCH] sisfb update From: Thomas Winischhofer sisfb is simply broken in current 2.6.x. This patch updates sisfb to the current development version which no less than 11 months ahead of the version in the kernel. Updated includes - many fixes (duh) - support for new chipsets (661, 741, 760) - support for new video bridges (301C, 302ELV) - removal of all offending fp code (as discussed earlier this month) - a lot of code clean-up (which is the main reason for its size) [PATCH] Fix more gcc 3.4 warnings From: Andi Kleen Just many more warning fixes for a gcc 3.4 snapshot. It warns for a lot of things now, e.g. for ?: and ({ ... }) and casts as lvalues. And for functions marked inline in headers, but no body. Actually there are more warnings, i stopped fixing at some point. Some of the warnings seem to be dubious (e.g. the binfmt_elf.c one, which looks more like a compiler bug to me) I also fixed the _exit() prototype to be void because gcc was complaining about this. [PATCH] string fixes for gcc 3.4 From: Andi Kleen gcc 3.4 optimizes sprintf(foo,"%s",string) into strcpy. Unfortunately that isn't seen by the inliner and linux/i386 has no out-of-line strcpy so you end up with a linker error. This patch adds out of line copies for most string functions to avoid this. Actually it doesn't export them to modules yet, that would be the next step. BTW In my opinion we shouldn't use inline string functions at all. The __builtin_str* in modern gcc are better (I used them very successfully on x86-64) and for the bigger functions like strrchr,strtok et.al. it just doesn't make any sense to inline them or even code them in assembler. Also fix the bcopy prototype gcc was complaining about. [PATCH] gcc-3.5: fix extern inline decls include/linux/bio.h:234: sorry, unimplemented: inlining failed in call to 'bio_phys_segments': function body not available [PATCH] gcc-3.5: #ident fixes arch/i386/kernel/msr.c:1:10: warning: extra tokens at end of #ident directive arch/i386/kernel/cpuid.c:1:10: warning: extra tokens at end of #ident directive [PATCH] gcc-3.5: binfmt_elf warning fix fs/binfmt_elf.c:171: warning: use of cast expressions as lvalues is deprecated [PATCH] gcc-3.5: pcm_misc.c warnings sound/core/pcm_misc.c:557: warning: use of cast expressions as lvalues is deprecated sound/core/pcm_misc.c:568: warning: use of cast expressions as lvalues is deprecated sound/core/pcm_misc.c:569: warning: use of cast expressions as lvalues is deprecated sound/core/pcm_misc.c:570: warning: use of cast expressions as lvalues is deprecated sound/core/pcm_misc.c:586: warning: use of cast expressions as lvalues is deprecated sound/core/pcm_misc.c:596: warning: use of cast expressions as lvalues is deprecated [PATCH] gcc-3.5: fix pcm_plugin warnings [PATCH] gcc-3.5: reiserfs fixes include/linux/reiserfs_fs.h:1837: sorry, unimplemented: inlining failed in call to 'decrement_bcount': function body not available [PATCH] gcc-3.5: ide.h fixes include/linux/ide.h:1424: sorry, unimplemented: inlining failed in call to 'SELECT_MASK': function body not available [PATCH] gcc-3.5: elevator.h fixes include/linux/elevator.h:106: sorry, unimplemented: inlining failed in call to 'elv_try_last_merge': function body not available [PATCH] gcc-3.5: keyboard.c fixes drivers/char/keyboard.c:205: warning: use of conditional expressions as lvalues is deprecated [PATCH] gcc-3.5: _exit fix include/asm/unistd.h:397: warning: conflicting types for built-in function '_exit' Just remove the dang thing - nobody uses _exit(). Except for the vmware stub, which breaks. So I kindly exported do_exit() to kernel modules, just for vmware... [PATCH] Fix inlining failure (all GCCs) in parport From: Jan Hubicka GCC never inline extern inline function redefined by new body (because it is not clear what body one should choose) parport contains such duplicated functions for apparently no good reasons. Both copies differ slightly, not sure whether it is intentional or just garbage. [PATCH] More 3.4 compilation fixes From: Jan Hubicka GCC now converts sprintf (a,"%s",b) to strcpy. This lose on kernel as strcpy is not inlined and not present in library, so one gets linker failure. It seems to make sense to apply this optimization by hand. [PATCH] gcc-3.5: sound/core/seq/seq_clientmgr.c sound/core/seq/seq_clientmgr.c: In function `snd_seq_open': sound/core/seq/seq_clientmgr.c:331: warning: use of cast expressions as lvalues is deprecated [PATCH] gcc-3.5: parport warnings drivers/pnp/pnpbios/core.c: In function `pnpbios_probe_system': drivers/pnp/pnpbios/core.c:438: warning: use of cast expressions as lvalues is deprecated [PATCH] gcc-3.5: i810_accel fix drivers/video/i810/i810_accel.c: In function `i810fb_init_ringbuffer': drivers/video/i810/i810_accel.c:30: sorry, unimplemented: inlining failed in call to 'flush_cache': function body not available [PATCH] gcc-3.5: misc.c warning fix arch/i386/boot/compressed/misc.c:107: warning: conflicting types for built-in function 'puts' [PATCH] gcc-3.5: fsfilter.h, ntfs.h From: Tim Cambrant Fix inline decls in fsfilter.h, ntfs.h [PATCH] gcc-3.5: zatm.c fix drivers/atm/zatm.c: In function `zatm_close': drivers/atm/zatm.c:1371: error: invalid lvalue in assignment drivers/atm/zatm.c: In function `zatm_open': drivers/atm/zatm.c:1386: error: invalid lvalue in assignment drivers/atm/zatm.c:1398: error: invalid lvalue in assignment drivers/atm/zatm.c: In function `zatm_module_init': drivers/atm/zatm.c:1600: error: invalid lvalue in assignment [PATCH] gcc-3.5: vxfs fixes fs/freevxfs/vxfs.h:33:10: warning: extra tokens at end of #ident directive fs/freevxfs/vxfs_extern.h:75: sorry, unimplemented: inlining failed in call to 'vxfs_put_page': function body not available [PATCH] gcc-3.5: hfs fixes fs/hfs/file_hdr.c: In function `dup_layout': fs/hfs/file_hdr.c:246: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/atm/uPD98402.c drivers/atm/uPD98402.c: In function `uPD98402_start': drivers/atm/uPD98402.c:214: error: invalid lvalue in assignment [PATCH] gcc-3.5: intermezzo fs/intermezzo/dir.c: In function `presto_prep': fs/intermezzo/intermezzo_fs.h:414: sorry, unimplemented: inlining failed in call to 'presto_is_read_only': function body not available fs/intermezzo/presto.c: In function `izo_mark_cache': fs/intermezzo/presto.c:341: error: invalid lvalue in assignment fs/intermezzo/presto.c:342: error: invalid lvalue in assignment [PATCH] gcc-3.5: iphase.c drivers/atm/iphase.c: In function `open_tx': drivers/atm/iphase.c:1757: error: invalid lvalue in assignment drivers/atm/iphase.c: In function `ia_close': drivers/atm/iphase.c:2674: error: invalid lvalue in assignment drivers/atm/iphase.c: In function `ia_open': drivers/atm/iphase.c:2687: error: invalid lvalue in assignment drivers/atm/iphase.c:2703: error: invalid lvalue in assignment drivers/atm/iphase.c: In function `ia_init_one': drivers/atm/iphase.c:3199: error: invalid lvalue in assignment [PATCH] gcc-3.5: suni.c drivers/atm/suni.c: In function `suni_start': drivers/atm/suni.c:233: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/atm/fore200e.c drivers/atm/fore200e.c: In function `fore200e_open': drivers/atm/fore200e.c:1420: error: invalid lvalue in assignment drivers/atm/fore200e.c: In function `fore200e_register': drivers/atm/fore200e.c:2485: error: invalid lvalue in assignment [PATCH] gcc-3.5: ncpfs fs/ncpfs/ncplib_kernel.h:164: sorry, unimplemented: inlining failed in call to 'ncp_strnicmp': function body not available [PATCH] gcc-3.5: drivers/atm/eni.c drivers/atm/eni.c: In function `eni_close': drivers/atm/eni.c:1878: error: invalid lvalue in assignment drivers/atm/eni.c: In function `eni_open': drivers/atm/eni.c:1894: error: invalid lvalue in assignment drivers/atm/eni.c:1905: error: invalid lvalue in assignment drivers/atm/eni.c: In function `eni_init_one': drivers/atm/eni.c:2233: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/atm/idt77105.c drivers/atm/idt77105.c: In function `idt77105_start': drivers/atm/idt77105.c:268: error: invalid lvalue in assignment drivers/atm/idt77105.c: In function `idt77105_stop': drivers/atm/idt77105.c:346: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/atm/he.c drivers/atm/he.c: In function `he_init_one': drivers/atm/he.c:383: error: invalid lvalue in assignment drivers/atm/he.c: In function `he_open': drivers/atm/he.c:2364: error: invalid lvalue in assignment [PATCH] gcc-3.5: net/atm/common.c net/atm/common.c: In function `vcc_create': net/atm/common.c:151: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/i2c/chips/it87.c drivers/i2c/chips/it87.c:130: warning: conflicting types for built-in function 'log2' [PATCH] gcc-3.5: radeon drivers/char/drm/radeon_state.c: In function `radeon_cp_dispatch_texture': drivers/char/drm/radeon_state.c:1411: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/ide/pci/sc1200.c drivers/ide/pci/sc1200.c: In function `sc1200_suspend': drivers/ide/pci/sc1200.c:423: error: invalid lvalue in assignment [PATCH] gcc-3.5: raid6 drivers/md/raid6x86.h:1:10: warning: extra tokens at end of #ident directive [PATCH] gcc-3.5: mtd drivers/mtd/chips/cfi_cmdset_0020.c:545: error: invalid lvalue in increment drivers/mtd/chips/cfi_cmdset_0020.c:547: error: invalid lvalue in increment drivers/mtd/chips/cfi_cmdset_0020.c:549: error: invalid lvalue in increment [PATCH] gcc-3.5: DVB drivers/media/dvb/frontends/ves1820.c: In function `ves1820_setup_reg0': drivers/media/dvb/frontends/ves1820.c:244: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:244: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c: In function `ves1820_attach': drivers/media/dvb/frontends/ves1820.c:541: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:541: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:544: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:544: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:545: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:545: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:546: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:546: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:547: error: invalid lvalue in assignment drivers/media/dvb/frontends/ves1820.c:547: error: invalid lvalue in assignment [PATCH] gcc-3.5: PCMCIA include/pcmcia/mem_op.h: In function `copy_from_pc': include/pcmcia/mem_op.h:85: error: invalid lvalue in assignment include/pcmcia/mem_op.h:85: error: invalid lvalue in assignment include/pcmcia/mem_op.h: In function `copy_to_pc': include/pcmcia/mem_op.h:97: error: invalid lvalue in assignment include/pcmcia/mem_op.h:97: error: invalid lvalue in assignment include/pcmcia/mem_op.h: In function `copy_pc_to_user': include/pcmcia/mem_op.h:109: error: invalid lvalue in assignment include/pcmcia/mem_op.h:109: error: invalid lvalue in assignment include/pcmcia/mem_op.h: In function `copy_user_to_pc': include/pcmcia/mem_op.h:124: error: invalid lvalue in assignment include/pcmcia/mem_op.h:124: error: invalid lvalue in assignment [PATCH] gcc-3.5: video drivers/media/video/mxb.c: In function `mxb_probe': drivers/media/video/mxb.c:264: error: invalid lvalue in assignment [PATCH] gcc-3.5: pnpbios drivers/pnp/pnpbios/core.c:438: warning: use of cast expressions as lvalues is deprecated [PATCH] gcc-3.5: drivers/scsi/53c700 In file included from drivers/scsi/53c700.c:140: drivers/scsi/53c700.h: In function `NCR_700_set_SXFER': drivers/scsi/53c700.h:106: error: invalid lvalue in assignment drivers/scsi/53c700.h:107: error: invalid lvalue in assignment drivers/scsi/53c700.h: In function `NCR_700_set_depth': drivers/scsi/53c700.h:116: error: invalid lvalue in assignment drivers/scsi/53c700.h:117: error: invalid lvalue in assignment drivers/scsi/53c700.h: In function `NCR_700_set_flag': drivers/scsi/53c700.h:137: error: invalid lvalue in assignment drivers/scsi/53c700.h: In function `NCR_700_clear_flag': drivers/scsi/53c700.h:142: error: invalid lvalue in assignment [PATCH] gcc-3.5: advansys.c drivers/scsi/advansys.c: In function `advansys_reset': drivers/scsi/advansys.c:6022: error: invalid lvalue in assignment drivers/scsi/advansys.c:6045: error: invalid lvalue in assignment drivers/scsi/advansys.c: In function `advansys_interrupt': drivers/scsi/advansys.c:6314: error: invalid lvalue in assignment drivers/scsi/advansys.c: In function `asc_scsi_done_list': drivers/scsi/advansys.c:6386: error: invalid lvalue in assignment drivers/scsi/advansys.c: In function `asc_enqueue': drivers/scsi/advansys.c:7437: error: invalid lvalue in assignment drivers/scsi/advansys.c:7445: error: invalid lvalue in assignment drivers/scsi/advansys.c:7448: error: invalid lvalue in assignment drivers/scsi/advansys.c: In function `asc_dequeue_list': drivers/scsi/advansys.c:7569: error: invalid lvalue in assignment drivers/scsi/advansys.c: In function `asc_rmqueue': drivers/scsi/advansys.c:7647: error: invalid lvalue in assignment drivers/scsi/advansys.c:7648: error: invalid lvalue in assignment [PATCH] gcc-3.5: atp870u.c drivers/scsi/atp870u.c: In function `send_s870': drivers/scsi/atp870u.c:706: error: invalid lvalue in assignment drivers/scsi/atp870u.c:707: error: invalid lvalue in assignment drivers/scsi/atp870u.c:708: error: invalid lvalue in assignment drivers/scsi/atp870u.c:713: error: invalid lvalue in assignment drivers/scsi/atp870u.c:714: error: invalid lvalue in assignment drivers/scsi/atp870u.c:715: error: invalid lvalue in assignment drivers/scsi/atp870u.c:718: error: invalid lvalue in assignment drivers/scsi/atp870u.c:727: error: invalid lvalue in assignment drivers/scsi/atp870u.c:728: error: invalid lvalue in assignment drivers/scsi/atp870u.c:729: error: invalid lvalue in assignment drivers/scsi/atp870u.c:734: error: invalid lvalue in assignment drivers/scsi/atp870u.c:735: error: invalid lvalue in assignment drivers/scsi/atp870u.c:736: error: invalid lvalue in assignment [PATCH] gcc-3.5: gdth.c drivers/scsi/gdth.c:267:10: warning: extra tokens at end of #ident directive [PATCH] gcc-3.5: fbcon.c drivers/video/console/fbcon.c: In function `fbcon_set_font': drivers/video/console/fbcon.c:2000: error: invalid lvalue in decrement [PATCH] gcc-3.5: drivers/video/riva/fbdev.c drivers/video/riva/fbdev.c: In function `rivafb_load_cursor_image': drivers/video/riva/fbdev.c:498: error: invalid lvalue in increment drivers/video/riva/fbdev.c:499: error: invalid lvalue in increment drivers/video/riva/fbdev.c: In function `rivafb_imageblit': drivers/video/riva/fbdev.c:1440: error: invalid lvalue in increment drivers/video/riva/fbdev.c:1449: error: invalid lvalue in increment [PATCH] gcc-3.5: drivers/video/cfbimgblt.c drivers/video/cfbimgblt.c: In function `color_imageblit': drivers/video/cfbimgblt.c:140: error: invalid lvalue in assignment drivers/video/cfbimgblt.c: In function `slow_imageblit': drivers/video/cfbimgblt.c:206: error: invalid lvalue in assignment [PATCH] gcc-3.5: drivers/video/vgastate.c drivers/video/vgastate.c: In function `save_vga': drivers/video/vgastate.c:368: error: invalid lvalue in assignment [PATCH] gcc-3.5: arch/i386/kernel/traps.c ++nmi_count(cpu); arch/i386/kernel/traps.c: In function `do_nmi': arch/i386/kernel/traps.c:552: error: invalid lvalue in increment and include/linux/netdevice.h: In function `__netif_rx_schedule': include/linux/netdevice.h:818: error: invalid lvalue in assignment include/linux/netdevice.h: In function `netif_rx_reschedule': include/linux/netdevice.h:842: error: invalid lvalue in assignment This fix will probably reintroduce unused variable warnings... [PATCH] x86-64 fixes for gcc 3.5 From: Andi Kleen Fix all the x86-64 warnings with gcc 3.5 and make it compile again. [PATCH] bitmap parsing/printing routines, version 4 From: Joe Korty 1) the version in 2.6.1 is broken, doesn't work on 64bit big endian machines at all. This needed fixing. I thought it best to fix by rewriting the printer/parser with an algorithm that is naturally endian & sizeof(long) resistant. 2) I wanted all digits to print, eg, 0000ffff,00000004 not ffff,4. 3) I wanted exactly NR_CPUS bits to print (or whatever the bitmap size is in bits, and not have what is displayed rounded up to the nearest full byte, as the current version did. 4) The bitmap printer and parser should be part of bitmap.[ch] with syntax and semantics to match. The original lib/mask.c versions did not recognize this commonality. [PATCH] i387: handle copy_from_user() error From: "Randy.Dunlap" Eugene TEO [PATCH] printk_ratelimit() tweaks From: Anton Blanchard I made a few changes, basically the burst parameter is now in units of messages, makes much more sense than the old net ratelimit one. I also screwed up adding a sysctl_jiffies strategy for the burst parameter. [PATCH] add readX_relaxed() interface From: jbarnes@sgi.com (Jesse Barnes) Here's the patch to add the new _relaxed variants for PIO read accesses. It's been ack'd by gregkh and Grant Grundler, and I think it's ready to go. PCI ordering rules also guarantee that PIO read responses arrive after any outstanding DMA writes on that bus, since for some devices the result of a readb() call may signal to the driver that a DMA transaction is complete. In many cases, however, the driver may want to indicate that the next readb() call has no relation to any previous DMA writes performed by the device. The driver can use the readb_relaxed() for these cases, although only some platforms will honor the relaxed semantics. [PATCH] Kconfig: use select statements From: Sam Ravnborg - Use keyword select in relevant warning - Include more information in warnings related to select - Move part of error-checking to a sepearate function - Added helpers used when issuing warnings - makes code simpler - Wrapped most edited lines at column 80 [PATCH] kconfig/wireless: Replace enable with select From: Sam Ravnborg 'enable' is not documented in Documentation/kbuild/kconfig-language.txt So remove usage in the only Kconfig file in the kernel tree where it was used. [PATCH] use __attribute_const__ everywhere From: Nikita Danilov Replace all existing usages of __attribute__((const)) with __attribute_const__. [PATCH] EDD: read disk80 MBR signature, export through edd module From: Matt Domsch There are 4 bytes in the MSDOS master boot record, at offset 0x1b8, which may contain a per-system-unique signature. By first writing a unique signature to each disk in the system, then rebooting, and then reading the MBR to get the signature for the boot disk (int13 dev 80h), userspace may use it to compare against disks it knows as named /dev/[hs]d[a-z], and thus determine which disk is the BIOS boot disk, thus where the /boot, / and boot loaders should be placed. This is useful in the case where the BIOS is not EDD3.0 compliant, thus doesn't provide the PCI bus/dev/fn and IDE/SCSI location of the boot disk, yet you need to know which disk is the boot disk. It's most useful in OS installers. This patch retrieves the signature from the disk in setup.S, stores it in a space reserved in the empty_zero_page, copies it somewhere safe in setup.c, and exports it via /sys/firmware/edd/int13_disk80/mbr_signature in edd.c. Code is covered under CONFIG_EDD=[ym]. [PATCH] swsusp does not stop DMA properly during resume From: Pavel Machek To correctly stop all DMA activity, make the boot kernel put all devices into suspend state before entering the resume kernel image. [PATCH] Trivial cleanups for swsusp From: Pavel Machek This kills unused part of struct and fixes spelling. It also fixes codingstyle a bit, converts "can not happen" panic into BUG_ON (fill_suspend_header() allocates no memory so panic is meaningless) and adds check for sizeof (struct link) [if that is not PAGE_SIZE, we have *bad* problem, better check early]. [PATCH] Allow software_suspend to fail From: Pavel Machek software_suspend() can fail for quite a lot of reasons (for example not enough swapspace). However current interface returned void, so you could not propagate error back to userland. This fixes it. Plus __read_suspend_image() is only done during init time, so we might as well mark it __init. [PATCH] vmalloc address offset fix From: Anton Blanchard Paul wrote a patch to use some of the rmap infrastructure to flush TLB entries on ppc64. When testing it we found a problem in vmalloc where it sets up the pte -> address mapping incorrectly. We clear the top bits of the address but then forget to pass in the full address to pte_alloc_kernel. The end result is the address in page->index is truncated. I fixed it in a similar way to how zeromap_pmd_range etc does it. I'm guessing no one uses the rmap hooks on vmalloc pages yet, so havent seen this problem. [PATCH] hugetlbfs directory entry cleanup From: Anton Blanchard hugetlbfs is doing strange things with directory sizes. Al says there is no semantics for reported size of directories so we can remove this code. [PATCH] libfs mtime/ctime updates From: Anton Blanchard Update ctime/mtime in libfs where appropriate. [PATCH] hugetlbfs cleanup From: Anton Blanchard Remove some duplicated hugetlbfs code. [PATCH] check do_munmap() failure From: Andrea Arcangeli Return the proper error code [PATCH] missing `console_driver' with CONFIG_VT && !CONFIG_VT_CONSOLE From: Jun Sun 'console_driver' is defined only when CONFIG_VT_CONSOLE is set. However it is used by vty_init() which is outside the scope of CONFIG_VT_CONSOLE. [PATCH] Make naming of parititions in sysfs match /proc/partitions. From: Neil Brown In fs/partitions/check.c there are two pieces of code that add a partition number to a block-device name: - the 'disk_name' function - a snprintf in add_partitions. 'disk_name' inserts a 'p' before the partition number if the device name ends with a digit. The snprintf in add_partitions doesn't. This patch rectifies this anomoly so that names in sysfs can be parsed more reliably. This has been extensively discussed. It will probably break the external `iostat' tool. But only for disks whose name ends in a digit, which appears to be only DAC960. [PATCH] ppc32: Set HZ to 1000 on ppc32 From: Benjamin Herrenschmidt This patch has been in my tree for monthes and Paulus agrees that it should be made generic, so here we go, PPC32 is now proud to run at 1000HZ :) [PATCH] fix blockdev --getro for sr, sd, ide-floppy From: John McKell This 2.6.1 patch works by setting gendisk->policy to the correct value during initialization as the various drivers decide whether or not the disk is writeable. This patch persuades "blockdev --getro ..." to correctly report the read-only state of a newly inserted disk. This patch applies to sr.c, sd.c and ide-floppy.c. ide-cd.c already has this functionality built into it. Using an Iomega Zip drive as the test case... Without the patch, I always see: $ sudo blockdev --getro /dev/sda 0 $ That's only correct for writeable disks though. Only when the patch is applied do I see a write-protected disk described correctly: $ sudo blockdev --getro /dev/sda 1 $ [PATCH] console: support for > 127 chars From: Nigel Cunningham Change the console code to support up to 256 (maybe 255?) columns. [PATCH] remove valid_addr_bitmap From: William Lee Irwin III ->valid_addr_bitmap is initialized nowhere. Any kern_addr_valid() testing it returns 0 unconditionally. This patch converts kern_addr_valid() implementations using it to return 0 as per the above and removes it from structures and zone initialization. Untested (not even compiletested), though a similar patch also nuking d_validate() was in use in -wli for several months. [PATCH] osst.c: suppress page allocation failure warnings This driver is trying an order-9 allocation and if that fails, order 8, etc. Crufty, but we do expect failures, so suppress the warnings. [PATCH] initialise cpu_vm_mask in init_mm From: Anton Blanchard Some architectures use cpu_vm_mask to optimise TLB flushes. On ppc64 we are now using a common flush infrastructure that handles both userspace and kernelspace (vmalloc) pages. In order to avoid triggering this optimisation we need to mark the init mm as having scheduled on all cpus. Things currently work by luck (we check for the cpu only having run on the local cpu, and the field is initialised to 0), but it would be safer to initialise it CPU_MASK_ALL. [PATCH] deprecate the raw driver Fat chance, but we should try. [PATCH] Fix deep stack usage in ncpfs From: Petr Vandrovec Arjan van de Ven pointed out to me there are no checks on name component lengths in ncpfs, so potentially 4KB regions could be allocated on stack, leading to the user controlled stack overflow. It was using variable-sized arrays, so this snuck past the static stack-usage checking tools. As NCP is limited to 255 bytes on components, we can simple limit these local variables to 256 bytes, and after this stack usage looks more acceptable. Length checking occurs inside ncp_vol2io, during iocharset->codepage conversion. As a side effect support for multibyte codepages now works as it should, instead of returning -EINVAL whenever filename in 'codepage' encoding was longer than in 'iocharset'. Other part fixes typo where atime change updated ctime and not atime field. [PATCH] remove_suid() fix From: viro@parcelfarce.linux.theplanet.co.uk bernhard_heibler@gmx.de has discovered that NFS is very slow when writing to a file which has execute permissions. See http://bugme.osdl.org/show_bug.cgi?id=1936 This patch fixes remove_suid() to not try to modify the inode mode on every write to such a file. [PATCH] md: Move the test in preferred_minor to where it is used. From: NeilBrown A RAID superblock can indicate which minor number the array should be assembled under. As this is only meaningful when doing auto-start, we move the test for it being in the valid range to the place where auto-start happens. When an array is started any other way, it doesn't matter what value is here. [PATCH] md: Fixes to make debuging output nicer. From: NeilBrown This patch thanks to Paul Clements and only has effect if md is compiled with #define DEBUG 1 [PATCH] md: Collect device IO statistics for MD personalities. From: NeilBrown Update {read,write}{s,_sectors} on each request to an MD array. [PATCH] md: Change the way the name of an md device is printed in error messages. From: NeilBrown Instead of using ("md%d", mdidx(mddev)), we now use ("%s", mdname(mddev)) where mdname is the disk_name field in the associated gendisk structure. This allows future flexability in naming. [PATCH] /proc/paritions: omit removable media From: Neil Brown If programs like mount use /proc/partitions to find filesystems based on labels, then surely we want md devices in there as they often contain filesystems. If the problem is that mount-by-label takes forever with removable media then surely the "right" approch is the following patch, and then actually set this flag on the "floppy.c" device. (It is already set for ide-floppy and sd devices). [PATCH] remove SIIG combo cards PCI ids from parport_pc From: Andrey Panin support for SIIG made serial/parallel conbo cards was moved to parport_serial driver some months ago, but their PCI ids still remain in parport_pc PCI device table. Attached patch removes them. [PATCH] Remove memblks from the kernel From: "Martin J. Bligh" This patch removes memblks from the kernel ... we don't use them, and the NUMA API that was planning to use them when they were originally designed isn't going to use them anymore. They're just unnecessary added complexity now ... time for them to go. There's a slight complication in that ia64 uses something with a similar name for part of its memory layout, but Jes Sorensen kindly untangled them from each other for us. The patch with his modifications is below. Jes tested it on ia64, and I testbuilt it with every config in my arsenal. [PATCH] Clean up raid6 kbuild output From: Sam Ravnborg During raid6 compilation with KBUILD_VERBOSE unset we see invokations of perl commands which should not have been displayed. [PATCH] Better "Losing Ticks" Error Message From: timothy parkinson Seems like a lot of people see the below error message, but aren't quite sure why it happens or how to fix it. I sure didn't. Here's my attempt at remedying that. [PATCH] posix_timers fixes From: George Anzinger - Removes C++ comment in favor of C style. - Removes the special treatment for MIPS SIGEV values. We only require (and error if this fails) that the SIGEV_THREAD_ID value not share bits with the other SIGEV values. Note that mips has yet to define this value so when they do... - Corrects the check for the signal range to be from 1 to SIGRTMAX inclusive. - Adds a check to verify that kmem_cache_alloc() actually returned a timer, error if not. - Fixes a bug in timer_gettime() where the incorrect value was returned if a signal was pending on the timer OR the timer was a SIGEV_NONE timer. [PATCH] Zero last byte of mount option page. From: James Morris Here's a patch which zeroes the last byte of the mount option data copied from userspace during mount(2). For filesystems which parse mount options as strings (the majority), lack of a zero terminator could cause the page to be overrun. The source code comments specify that the maximum size of the mount data is PAGE_SIZE-1, so this patch will not affect any valid binary-formatted mount data. [PATCH] futex: remove redundant test From: Jamie Lokier One of the tests in unqueue_me() is redundant. If we acquire the spinlock, the futex must be queued. [PATCH] janitor: change a few SYSRQ to MAGIC_SYSRQ From: "Randy.Dunlap" , Domen Puncer Noone tested that code to see if it really works? [PATCH] janitor: dz: verify_area() removal From: "Randy.Dunlap" , Domen Puncer [PATCH] janitor: sound/oss: use C99 inits. From: "Randy.Dunlap" , "Maciej Soltysiak" C99 initializers for linux/sound. [PATCH] console cleanup From: Sam Ravnborg , Ben Collins Fix up the console makefiles and logo generation. 1) To make output look like the rest of the kernel build. 2) To avoid make utilising chained rules, and therefore issuing a 'rm drivers/video/logo/linux_logo.c ...' during the build. I have previously submitted a few patches for logo/Makefile, but this is the first one that actually address the problems I have seen in a proper way. And no, I did not like such a simple thing to look that complicated, the other option was to list too many files or to use other types of kbuild/make magic. [PATCH] oprofile per-cpu buffer overrun From: Philippe Elie In a ring buffer controlled by a read and write positions we can't use buffer_size but only buffer_size - 1 entry, the last free entry act as a guard to avoid write pos overrun. This bug was hidden because the writer, oprofile_add_sample(), request one more entry than really needed. [PATCH] oprofile, typo in alpha driver From: Philippe Elie Unless I miss something this look like a typo, one user reported to get error from the daemon: 'Unknown event for counter 1' (alpha ev6) and the behavior was better but not completly sane after trying this patch: he get spurious event for counter 1 when enabling only counter 0 but rarely now. No alpha box to test this. [PATCH] copy_namespace ENOMEM fix From: Marcus Alanen The copy_tree() function can return NULL, so this checks for it. [PATCH] janitor: vgastate: cleanup iounmap() usage From: "Randy.Dunlap" From: Leann Ogasawara Patch inserts missing iounmap's on error and also removes unnecessary iounmap's. [PATCH] [janitor] vga16fb: add missing iounmap() From: "Randy.Dunlap" Leann Ogasawara Patch inserts missing iounmap() on error. [PATCH] __d_path needs vfsmount_lock From: Mike Waychison - protect vfsmount->mnt_parent by taking vfsmount_lock in __d_path [PATCH] namei.c: take vfsmount_lock From: Mike Waychison The attached patch ensures that we grab vfsmount_lock when grabbing a reference to mnt_parent in follow_up and follow_dotdot. We also don't need to access ->mnt_parent in follow_mount and __follow_down to mntput because we already the parent pointer on the stack. [PATCH] try reiserfs before other filesystems reiserfs places its superblock in weird places which can result in false positives and various printks when other filesystems probe a resierfs filesystem. [PATCH] UFS: honour `silent' parameter. From: GOTO Masanori Teach ufs_fill_super() to honour the `silent' parameter. [PATCH] Fine tune the time conversion to eliminate conversion errors. From: George Anzinger The time conversion code is erroring on the side of a bit too small. The attached patch forces any error to be on the high side. The current code will convert 1 nanosecond to zero jiffies (standard says that should be 1). It also is around 1 nanosecond late on each roll to the next jiffie. I have done some error checks with this patch applied and get the following errors in PPB ( Parts Per Billion): HZ nano sec conversion microsecond conversion 1000 315 45 1024 227 40 100 28 317 In all cases the error is on the high side, which means that the final shift will, most likely, eliminate the error bits. [PATCH] /proc/stat:btime fix From: George Anzinger , Petri Kaukasoina btime in /proc/stat does not stay constant but decreases at a rate of 15 secs/day, because we're assuming that HZ is exactly 100. Use the correct adjustments to fix that up. [PATCH] fix menuconfig choice item help display From: Bjorn Helgaas Anders Gustafsson Roman Zippel This patch fixes menuconfig so it can display help text for individual choice group config entries. Previously it would only display the help text attached to the "choice" item. There was no way to display the help attached to individual config entries inside the choice group. Typically, the "choice" item has no help text, and all the useful help is attached to the individual entries, so this was a bit of a problem. [PATCH] u_int32_t causes cross-compile problems From: Pratik Solanki I came across this C standards issue while cross-compiling the Linux kernel with gcc on Solaris. The file gen_crc32table.c uses the non-standard type u_int32_t. It's possible that the host machine's sys/types.h does not define u_int32_t. The attached patch replaces u_int32_t with the POSIX standard uint32_t and includes POSIX inttypes.h instead of sys/types.h. [PATCH] ac97 OSS driver removal fix From: Andrew Zabolotny ac97_unregister_driver() is nulling out the ->driver field for all codecs. It should only null the codecs which are using this driver. [PATCH] is_subdir locking fix From: Maneesh Soni o The following patch fixes is_subdir() races with d_move. Due to concurrent d_move, in is_subdir() we can end up accessing freed d_parent pointer in case of pre-emptible kernel. To avoid this we can use rcu_read_lock() and rcu_read_unlock(). o This also fixes the seqlock uses in is_subdir() as we need to restart the the inner loop with the origianl new_dentry passed to the routine in case of any rename occured while we are traversing d_parent links. [PATCH] proc_check_root() locking fix From: Maneesh Soni The patch fixes locking in proc_check_root(). It brings is_subdir() call under vfsmount_lock. Holding vfsmount_lock will ensure mnt_mountpoint dentry is intact and the dentry does not go away while it is being checked in is_subdir(). [PATCH] ide-cd mo write protect From: Jens Axboe It's from Pascal Schmidt and adds write protect handling to ide-cd along with support for non-2kb block sizes. [PATCH] rate limit nr_free_pages From: Jes Sorensen nr_free_pages() is expensive, especially on large SMP machines. The patch changes the memory overcommit code so that it only calls nr_free_pages() is we're about to fail the allocation attempt. [PATCH] Use address hint in mmap for search From: Andi Kleen When the user gave an address hint in mmap use it as starting point for the search for !MAP_FIXED. Currently it is only checked directly and when already used the free area cache is used as starting point. With this change you can use mmap(4096, ....) to e.g. get the lowest free address in your address space, which is sometimes useful. For example on x86-64 glibc wants to preferably allocate thread local data in the first 4GB but use higher addresses when this is not possible. This can be a bit more costly in CPU time because it may have to skip over more VMAs, but gives better semantics for most cases. Most programs pass NULL as hint anyways so it won't make any difference for them. I did it for the generic mmap and for x86-64 for now. Also minor white space fixes for x86-64. [PATCH] shrink_list(): check PageSwapCache() after add_to_swap() From: Nikita Danilov shrink_list() checks PageSwapCache() before calling add_to_swap(), this means that anonymous page that is going to be added to the swap right now these checks return false and: (*) it will be unaccounted for in nr_mapped, and (*) it won't be written to the swap if gfp_flags include __GFP_IO but not __GFP_FS. (Both will happen only on the next round of scanning.) Patch below just moves may_enter_fs initialization down. I am not sure about (*nr_mapped) increase though. [PATCH] as-iosched.txt update From: Dave Olien acked by npiggin. [PATCH] enable fast symbol lookup via an inverted index in cscope From: Louis Zhuang enable fast symbol lookup via an inverted index. [PATCH] Lindent fixed to match reality From: Matt Mackall I've been fiddling with cleaning up some old code here and suggest the following to make Lindent match actual practice more closely. This does: a) (no -psl) void *foo(void) { instead of void * foo(void) { b) (no -bs) "sizeof(foo)" rather than "sizeof (foo)" c) (-ncs) "(void *)foo" rather than "(void *) foo" [PATCH] Move cpu_vm_mask to be closer to mmu_context_t in struct mm From: Jack Steiner The cpu_vm_mask use to be close to the mmu_context_t field in the mm struct. Recently some large members were added between "cpu_vm_mask" and "context". I suspect that was an oversight. Here is a patch that puts the fields close together. This makes it likely that both fields are in the same cache line. Since both fields are likely to be updated at the same time, this may improve performance. [PATCH] PCI Scan all functions From: Jake Moilanen On a ppc64 logically partitioned system, there can be a setup where function 0 of a PCI-PCI bridge is assigned to one partition and (for example) function 2 is assigned to a second partition. On the second partition, it would appear that function 0 does not exist, but function 2 does. If all the functions are not scanned, everything under function 2 would not be detected. This patch allows devices that don't respond to function 0, but do respond to other functions to be marked with a quirk and have all of their functions scanned. [PATCH] CDROMREADAUDIO frames From: Jens Axboe 2.6 imposes a 64 frame limit where 2.4 does not (just relies on kmalloc() failing and limiting frames from that). That breaks at least on guys app. With MSF adressing, it's much simpler to be able to ask for a full second at the time, so I think we should just allow that. So bump the limit from 64 to CD_FRAMES (which is 75). [PATCH] Remove uneeded dentry assignment From: James Morris It seems to me that this dentry assignment in open_namei is not needed per the patch below. On this path, dentry is not referenced. [PATCH] missing export of cpu_2_node From: Patrick Mansfield On NUMAQ, any module which calls __alloc_pages() needs cpu_2_node() (via cpu_to_node()). This patch exports cpu_2_node. [PATCH] Remove the unused kmalloc_percpu_init() From: Martin Hicks This patch removes kmalloc_percpu_init() from include/linux/percpu.h It is unused and doesn't seem to be required. [PATCH] ppp: try harder to allocate the deflate buffer We're using a 4-order allocation in there and it can fail. Change it to just keep reclaiming memory until something gives. [PATCH] fix compilation warnings in neofb.c From: Junio C Hamano Compiling neofb.c without MTRR results in two "unused variable" warnings. [PATCH] istallion compile fix From: Geert Uytterhoeven Fix compilation if CONFIG_PCI is not set [PATCH] Moxa serial compile fixes From: Geert Uytterhoeven Compile fixes for the Moxa serial drivers: - Add missing #include - Kill warning if CONFIG_PCI is not set [PATCH] Specialix compile fix From: Geert Uytterhoeven Compile fix: add missing #include [PATCH] Hisax compile fix From: Geert Uytterhoeven Never include directly [PATCH] DVB compile fix From: Geert Uytterhoeven Never include directly [PATCH] SElinux compile fix From: Geert Uytterhoeven Spinlock code needs [PATCH] fix memory leak while coredumping From: IWAMOTO Toshihiro This patch fixes a memory leak that happens when a core file hits the process's resource limit. [PATCH] Fix x86-64 boot problem From: Andi Kleen Fix a bug introduced with the last merge that prevented booting with CONFIG_DEBUG_INFO on on x86-64. It would corrupt registers in interrupts. This has hit a few people, so I would consider it as a critical fix. [PATCH] Altix update: various, mainly cleanups From: Pat Gefre arch/ia64/sn/io/machvec/pci_bus_cvlink.c Changes for new pcireg_ interfaces pcibr reorg Some code cleanup/reorg arch/ia64/sn/io/machvec/pci_dma.c IS_PCIA64() not needed arch/ia64/sn/io/sn2/ml_iograph.c new pcireg_ interface arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c code reorg/clean up arch/ia64/sn/io/sn2/pcibr/pcibr_config.c code reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_error.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_reg.c Fixed the interface to these functions - one call/data type arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c reorg/cleanup arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c reorg/cleanup arch/ia64/sn/io/sn2/pciio.c removed unused functions arch/ia64/sn/io/sn2/pic.c reorg/cleanup arch/ia64/sn/kernel/irq.c IS_PIC_SOFT not needed mod for new pcireg_ interfaces include/asm-ia64/sn/module.h nodes/geoid[] -> MAX_SLABS include/asm-ia64/sn/pci/bridge.h IS_[X]BRIDGE not needed include/asm-ia64/sn/pci/pci_bus_cvlink.h SET_PCIA64 and IS_PCIA64 not needed isa64, dma_buf_sync, xbow_buf_sync gone include/asm-ia64/sn/pci/pcibr.h mostly cleanup some reorg mods include/asm-ia64/sn/pci/pcibr_private.h some reorg code protos for new pcireg_ interfaces include/asm-ia64/sn/pci/pciio.h cleanup include/asm-ia64/sn/pci/pic.h cleanup include/asm-ia64/sn/sn2/intr.h changed IA64_SN2_FIRST_DEVICE_VECTOR and IA64_SN2_LAST_DEVICE_VECTOR [PATCH] Altix update: small cleanups From: Pat Gefre arch/ia64/sn/io/io.c@1.12 misc code cleanup no parens on returns remove __psunsigned_t arch/ia64/sn/io/sn2/ml_iograph.c@1.18 no parens on returns arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c@1.25 no parens on returns use -errno arch/ia64/sn/io/sn2/pcibr/pcibr_hints.c@1.8 no parens on returns arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c@1.15 no parens on returns unsigned to unsigned int arch/ia64/sn/io/sn2/pcibr/pcibr_rrb.c@1.13 no parens on returns use -errno arch/ia64/sn/io/sn2/pcibr/pcibr_slot.c@1.18 no parens on returns use -errno arch/ia64/sn/io/sn2/pciio.c@1.14 oom handling removed ASSERT and funcs not needed arch/ia64/sn/io/sn2/pic.c@1.13 use -errno arch/ia64/sn/io/sn2/shuberror.c@1.12 add delay.h arch/ia64/sn/io/sn2/xbow.c@1.10 include file clean up arch/ia64/sn/io/sn2/xtalk.c@1.9 misc code cleanup no parens on returns arch/ia64/sn/io/xswitch.c@1.11 misc code cleanup arch/ia64/sn/kernel/bte.c@1.5 include file clean up arch/ia64/sn/kernel/mca.c@1.8 include file clean up arch/ia64/sn/kernel/probe.c@1.5 include file clean up arch/ia64/sn/kernel/sn2/prominfo_proc.c@1.3 include file clean up arch/ia64/sn/kernel/sn2/sn2_smp.c@1.9 include file clean up arch/ia64/sn/kernel/sn2/sn_proc_fs.c@1.4 include file clean up drivers/char/sn_serial.c@1.3 include file clean up include/asm-ia64/sn/addrs.h@1.8 include file clean up remove __psunsigned_t include/asm-ia64/sn/alenlist.h@1.8 unsigned to unsigned int include/asm-ia64/sn/arch.h@1.7 include file clean up include/asm-ia64/sn/bte.h@1.6 include file clean up include/asm-ia64/sn/clksupport.h@1.8 include file clean up include/asm-ia64/sn/driver.h@1.5 remove __psunsigned_t include/asm-ia64/sn/hcl.h@1.13 include file clean up include/asm-ia64/sn/hcl_util.h@1.7 include file clean up include/asm-ia64/sn/hwgfs.h@1.5 include file clean up include/asm-ia64/sn/iograph.h@1.9 include file clean up include/asm-ia64/sn/klconfig.h@1.14 remove __psunsigned_t include/asm-ia64/sn/kldir.h@1.5 remove __psunsigned_t include file clean up include/asm-ia64/sn/module.h@1.12 include file clean up include/asm-ia64/sn/nodepda.h@1.14 include file clean up include/asm-ia64/sn/pci/bridge.h@1.13 uchar_t to unsigned char include/asm-ia64/sn/pci/pcibr_private.h@1.20 move PVnnnnnn's include/asm-ia64/sn/pci/pciio.h@1.14 unsigned to unsigned int include/asm-ia64/sn/pci/pciio_private.h@1.10 unsigned to unsigned int include/asm-ia64/sn/pda.h@1.9 include file clean up include/asm-ia64/sn/pio.h@1.7 include file clean up ulong to unsigned long include/asm-ia64/sn/sgi.h@1.11 include file clean up move PVnnnnnn's to here include/asm-ia64/sn/sn2/arch.h@1.6 include file clean up include/asm-ia64/sn/sn2/sn_private.h@1.12 include file clean up remove __psunsigned_t include/asm-ia64/sn/sn_cpuid.h@1.8 include file clean up include/asm-ia64/sn/sn_private.h@1.6 include file clean up include/asm-ia64/sn/types.h@1.6 include file clean up remove __psunsigned_t include/asm-ia64/sn/vector.h@1.6 include file clean up include/asm-ia64/sn/xtalk/xbow.h@1.9 include file clean up misc code cleanup include/asm-ia64/sn/xtalk/xtalk.h@1.12 unsigned to unsigned int include/asm-ia64/sn/xtalk/xwidget.h@1.8 unsigned to unsigned int [PATCH] Altix update: misc changes From: Pat Gefre arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c extern for pcibr_rrb_alloc_more() include/asm-ia64/sn/pci/pcibr_private.h more unsigned to unsigned int [PATCH] Altix update: add MINIMAL_ATE_FLAG From: Pat Gefre arch/ia64/sn/io/machvec/pci_dma.c Add MINIMAL_ATE_FLAGS() macro usage include/asm-ia64/sn/pci/pcibr.h Add MINIMAL_ATE_FLAG() macro [PATCH] Altix update: io changes From: Pat Gefre arch/ia64/sn/io/platform_init/sgi_io_init.c use numionodes instead of numnodes arch/ia64/sn/io/sn2/klconflib.c find_lboard changes - generalized a number of the interface funcs arch/ia64/sn/io/sn2/klgraph.c call the more general find_lboard funcs arch/ia64/sn/io/sn2/ml_iograph.c call the more general lboard funcs arch/ia64/sn/io/sn2/module.c lboard changes mod for headless/memless nodes arch/ia64/sn/io/sn2/pcibr/pcibr_dvr.c isIO9 mod arch/ia64/sn/kernel/setup.c headless/memless mod include/asm-ia64/sn/klconfig.h generalized find_lboard funs [PATCH] Altix update: pcibr_invalidate_ate check From: Pat Gefre arch/ia64/sn/io/sn2/pcibr/pcibr_ate.c check for pcibr_invalidate_ate 0 used for debugging [PATCH] Altix update: early_probe_for_widget() improvement From: Pat Gefre arch/ia64/sn/io/sn2/ml_iograph.c Better code for early_probe_for_widget() [PATCH] Altix update: VGA, keyboard, other changes From: Pat Gefre arch/ia64/sn/kernel/setup.c If generic enabled legacy VGA or kbd - disable them Slightly different check for work arounds and only do it once If there is no klconfig info and we are in the simulator - ignore it Update the pxm_to_nasid() routine. It failed for SP configurations and some SMP configurations where M-bricks used pxm numbers lower that the first c-brick. If we don't find the cpu for pxm, search the memblks for it. [PATCH] Altix update: remove pcibr_intr_func() From: Pat Gefre arch/ia64/sn/io/sn2/pcibr/pcibr_intr.c Kill pcibr_intr_func() [PATCH] Altix update: irq fixes From: Pat Gefre arch/ia64/sn/kernel/irq.c Need to get the cpu from the passed in pcibr struct Made the interrupt list static and gave it a better name - credit jes Some lindent'isms Took out some code that isn't used ..... yet [PATCH] Altix update: pci_bus_cvlink.c fixes From: Pat Gefre arch/ia64/sn/io/machvec/pci_bus_cvlink.c Couple of checks for kmalloc <= 0 were fixed Some __init and static fixes [PATCH] Altix update: pci_bus_cvlink.c fixes From: Pat Gefre rch/ia64/sn/io/machvec/pci_bus_cvlink.c Some pretty-print mods Use pin instead of slot for dma_flush init [PATCH] Fix ptrace in the vsyscall dso area From: Roland McGrath The #include is the part of this patch that matters, so the #ifdef below works. The rest of the patch removes gratuitous duplication due to some strange aversion to concision in the presence of #ifdef, the kind that is all too common, utterly pointless, and error prone. [PATCH] Fix block device inode list corruptions I've been chasing a weird SELinux bug which shows up mostly when doing installs of a dev-* rpm (ie. creating and overwriting lots of block device inodes), but which I've also seen when doing mkinitrd. It turned out not to be an SELinux problem at all, but a core VFS S_ISBLK bug. It seems that SELinux simply widens the race window. The code at fault is fs/fs-writeback.c:__mark_inode_dirty(): /* * Only add valid (hashed) inodes to the superblock's * dirty list. Add blockdev inodes as well. */ if (!S_ISBLK(inode->i_mode)) { if (hlist_unhashed(&inode->i_hash)) goto out; if (inode->i_state & (I_FREEING|I_CLEAR)) goto out; } The "I_FREEING|I_CLEAR" condition was added after the ISBLK/unhashed tests were already in the source, but I can't see any reason why we'd want the I_FREEING test not to apply to block devices. And indeed, this results in all sorts of inode list corruptions. Simply moving the I_FREEING|I_CLEAR test out of the protection of the S_ISBLK() condition fixes things entirely. The existing 2.6 kernel will reliably fail on me in about 2 seconds once "rpm -Uvh --force dev*.rpm" starts its actual installation of the new inodes. With the patch below I can't reproduce it at all. [PATCH] H8/300 support update (1/3): obsolete header o Deleted obsolute header include [PATCH] H8/300 support update (2/3): compiler warnings o gcc-3.4 warning fix. [PATCH] H8/300 support update (3/3): bitops o Cleanup reduced and faster code [SPARC64}: Fix ultra-III and later support of new-style SILO booting. [PATCH] Driver core: remove device_unregister_wait() as it's a very bad idea. [PATCH] use cramfs as an initrd Now that Al Viro fixed cramfs, it works beautifully as an initrd filesystem. So finally plumb it in. [PATCH] dmapool: Remove sentance in documentation that is now false on 2.6 [PATCH] USB: fix Casio digicam entry in unusual_devs.h [PATCH] USB: Update ohci-omap to compile Following is a trivial patch to update the ohci-omap.c in 2.6.2 to be in sync with the OMAP tree. Basically the IRQ name was changed, which keeps the driver from compiling. It also includes a cosmetic change to replace inl/outl with readl/writel. [PATCH] USB: remove USB_SCANNER from the build USB_SCANNER is obsolete, and it's now marked as BROKEN. I there a good reason to keep it in the kernel? [PATCH] USB: remove scanner driver files. [PATCH] PCI Hotplug: mark functions __init/__exit in acpiphp These functions are only called from places marked __init or __exit, so we can mark them also. ppc32: Update/cleanup low level POWER4 & G5 CPU support Save and restore HID2 on 750FX CPUs when sleeping/resuming Move pmac-specific PCI quirks to pmac_pci.c, update cardbus one for new TI controller, add some for fixing up ATA & SATA controllers (switch normal ATA to fully native mode and disable unused function on G5 K2 SATA) Fix processing of Open Firmware PCI host bridge "ranges" property. We no longer modify the device tree, we use an initdata static array instead. On G5 machines, we remap the AGP port to bus number 0xf0. XFree contains a hack that is unfixable at the moment for getting the IO base which is hard coded to bus number 0 (AGP on earlier machines). We work around this by passing the IO base of bus 0xf0 when asked for bus 0 in pciconfig_iobase on those machines. Bus 0 is the HT root and has no IOs, so that is safe. ppc32: export clear_user_page, some video-for-linux drivers need it Add Samuel Rydth improved software CPU timebase synchronisation used on machines that don't have a HW facility (or we don't drive it yet like G5s) ppc32: Cleanup PowerMac SMP support Add a fix fox machines that don't have HW timebase sync facility ppc32: Fix smp_message_pass macro, turn into an inline function ppc32: fix a possible race in pte_free() Another processor could be walking the page table in the middle of the PTE page to be freeded. Synchronize with hash_page using the lock. ppc32: Flush the Hash PTE in ptep_test_and_clear_young() Without this, page aging is broken on ppc32 ppc32: Fix release_OF_resource() function. It would fail to properly release the resource if taken over by the macio device resource hierarchy. This could still use some locking, but the io resource lock isn't exported ppc32: Fix initialisation of the POWER4 / G5 MMU Hash table especially related to the use of the btext early debug text engine ppc32: Fix parsing of Open Firmware interrupt tree on G5 ppc32: Update register definitions for Apple chipsets ppc32: Fix PCI<->OF linkage for G5s AGP bus ppc32: Rework nvram management move drivers/macintosh/nvram.c to drivers/char/generic_nvram.c, update platform hooks, fix powermac nvram driver for newer machines ppc32: Update PowerMac motherboard support add support for newer laptops and G5 desktops ppc32: Update PowerMac i2c management Create a low-level synchronous implementation suitable for use by the early boot platform code or other places where the asynchronous driver isn't useable. This also exports the locks used by the real driver to avoid collisions. Use this new implementation to properly setup the clock chip at boot on Apple latest laptops ppc32: Add support for PowerMac G5 HT/PCI & AGP busses ppc32: Fix PowerMac SMP to work with G5s ppc32: Fix time calibration on some G4 models ppc32: PowerMac G5 interrupt management The cascaded northbridge MPIC is currently dealt with a special modified version of open_pic.c (open_pic2.c). A better mecanism will have to be found for 2.7 ppc32: refcounting fix for of_device.c ppc32: Fix a warning with some usages of udelay ppc32: Add some PowerMac specific PCI IDs ppc32: Update macio_asic, add some resource management ppc32: Update the PowerMac 53c94 SCSI driver Adapt to the "macio" driver infrastructure, cleanup IO accessors, remove local list of command/directions, uses infos provided by the SCSI layer. This driver certainly could use some more work. ppc32: Update PowerMac "mesh" driver. Adapt to "macio" driver infrastructure, cleanup power management, make some functions static, fix IO accessors, remove local list of commands/directions, etc... This driver could use more work & study of the interesting ASIC bugs documented in Apple source code... Note that I'm removing support for the CHRP machines using the MESH as part of the "Hydra" ASIC. Nobody sane really uses that, but if one of the 3 remaining Longtrail users want to fix that, then move Hydra to use the "macio" model... ppc32: Update resource management of the PowerMac SCC driver ppc32: Update the PowerMac "macio" IDE driver Add support for recent chipsets (including G5 ATA/100), update resource management. ADB: Minor fix, autopoll list could be lost on a failed bus reset ppc32: Update the PowerMac adbhid driver (ADB & laptop mouse/trackpad/keyboard) Fix emulation of some special keys, fix a few problem with laptop keyboards. Finally, fn-backspace works as forward-delete like in Darwin :) ppc32: Update PowerMac mediabay driver Fix timings with HZ != 100, fix resource management ppc32: Update PowerMac via-pmu driver Add support for G5s, add an option for controlling the server mode setting on core99 machines and later. Most of the /proc stuff still need to be moved to sysfs ppc32: Update PowerMac laptop backlight control core ppc32: Use drivers/Kconfig and move some Mac stuffs to drivers/macintosh/Kconfig ppc32: Bring back PowerMac swim3 floppy driver into working state Forward port Paul's latest fixes from 2.4. This driver still need significant work to fit into the "macio" model properly, among others. ppc32: Update PowerMac cpufreq driver Add support for Apple latest laptops, add a warning when building an SMP kernel (the core cpufreq doesn't scale loops_per_jiffies properly on SMP kernels), cleanup some code. ppc32: Fix the mac mouse button emulation code Move the call to mac_hid_mouse_emulate_buttongs to the right function so it works again in console mode ppc32: Add thermal management drivers Adds thermal management drivers for desktop G5, Windtunnel G4s, and recent laptops (iBook G4, aluminium 15" and 17" powerbooks) [XFRM]: Do not schedule() when MSG_DONTWAIT. [IPV6]: Make note in headers about shared socket option numbers. [ATM]: [idt77252] fix dma_addr_t type error with CONFIG_HIGHMEM64G=y (by "Randy.Dunlap" ) [ATM]: [clip] check return code from kmem_cache_create (by "Randy.Dunlap" ) [PATCH] [2.6] Update forcedeth to 0.23 This is a multi-part message in MIME format. [PATCH] bmac network driver update Hi ! I didn't include that with the bitkeeper based PowerMac updates so Jeff can assume his role as maintainer/filter of network driver updates :) Here's my latest update to this pmac-only driver, please apply if you are ok with it. The driver now uses the macio infrastructure for detection & power management notifications, getting into sysfs at the same time. Ben. # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/01/23 09:38:35+11:00 benh@kernel.crashing.org # Update PowerMac "bmac" driver to the "macio" device so it fits in sysfs # and gets proper power management ordering # # drivers/net/bmac.c # 2004/01/23 09:38:22+11:00 benh@kernel.crashing.org +185 -203 # Update PowerMac "bmac" driver to the "macio" device so it fits in sysfs # and gets proper power management ordering # [PATCH] hamradio driver fixes I send these a while ago but didn't get a reply. Can you apply these patches for the hamradio drivers? details: + scc.c usage of rtnl lock and register_netdev. + scc.c properly initialize timers. + remove cli() call in 6pack.c + fix init of reused devices and remove cli() + scc.c statistics [wireless airo] Add support for mini-pci based cards [PATCH] Handle an old acenic card Hi Jes. I really do have a Rev. 5 card, and it works much better treated as a Tigon I than as a Tigon II. [wireless atmel] update Add PCI device support - there are atmel_pci.ko and atmel_cs.ko modules and a library module called atmel.ko Tweak the PCMCIA card -> firmware table for new cards. Fix workarounds for uniquely broken 3com cards, which were rendered unuable by the 0.9 changes. Bump version to 0.91 [Bluetooth] Support for tracking the voice setting This patch makes sure that the Bluetooth core layer always knows the current voice setting. It will be read on device initialization and then stored in the hci_dev structure. ALSA CVS update - Jaroslav Kysela VIA82xx driver Removed duplicated code ALSA CVS update - Jaroslav Kysela ALSA Core Cosmetic change [Bluetooth] Fix race for incoming connections This patch fixes a racing condition in accepting incoming RFCOMM connections. If a SABM command frame occurs in data packet right after L2CAP configuration request packet and there is no active session yet then the kernel RFCOMM thread wakes up only once and creates a new session. But it does not process SABM frame from second data packet waiting in the queue. Connection setup hangs and the other side is waiting for UA frame response, but the kernel thread keeps sleeping. A possible solution is to force additional thread wakeup right after successful creation of the new session. Patch from Dmitri Khokhlov ALSA CVS update - Jaroslav Kysela Serial BUS drivers,TEA575x tuner,PCI drivers,FM801 driver Added module for TEA575x radio tuners used in cheap FM801 based soundcards from Media Forte. ALSA CVS update - Jaroslav Kysela Documentation,PCI drivers,BT87x driver Moved bt87x driver from alsa-driver to alsa-kernel ALSA CVS update - Jaroslav Kysela TEA575x tuner TEA575x code is now 2.6 videodev compatible ALSA CVS update - Jaroslav Kysela PCI drivers Fixed condition for TEA575x && FM801 ALSA CVS update - Takashi Iwai FM801 driver - fixed the build without tea575x-tuner support. ALSA CVS update - Takashi Iwai VIA82xx driver - fixed the codec valid check at reading. - added MSI KT266 to the dxs whitelist. ALSA CVS update - Takashi Iwai ICE1712 driver - fixed the GPIO pins for CS8415 CS and CDTO. ALSA CVS update - Jaroslav Kysela ALSA Core Added CONFIG_SND_BT87X dependencies ALSA CVS update - Jaroslav Kysela AMD InterWave driver Ok, InterWave STB without TEA6330T without TEA6330T also exists ALSA CVS update - Jaroslav Kysela RawMidi Midlevel copy_*_user() function cannot be called from spinlock context ALSA CVS update - Takashi Iwai ICE1724 driver Davy Wentzler : - fixed the access in trigger callback to byte access. (may fix the problem on ppc.) ALSA CVS update - Takashi Iwai Intel8x0 driver - added the ac97 quirks for amd64 mobo and MSI P4 ATX 645. ALSA CVS update - Takashi Iwai VIA82xx driver - fixed the dxs support of ASUS K8V. - added a short delay in the codec read routine. ALSA CVS update - Takashi Iwai Intel8x0 driver - check the return value of snd_ac97_pcm_open() in playback open callback. ALSA CVS update - Takashi Iwai ALSA Core - added the missing magic number for bt87x. ALSA CVS update - Jaroslav Kysela ES1688 driver Fixed mpu401 port validation ALSA CVS update - Takashi Iwai ALSA<-OSS emulation - added more fallbacks of mixer elements for better emulation. ALSA CVS update - Takashi Iwai EMU10K1/EMU10K2 driver - improved the mixer names of Audigy2 without AC97 codec for better OSS emulation. ALSA CVS update - Jaroslav Kysela AC97 Codec Core,Intel8x0 driver,VIA82xx driver Add AC97 quick manual override module parameter. ALSA CVS update - Takashi Iwai Documentation,Intel8x0 driver,VIA82xx driver - added more descriptions for ac97_quirk module option. ALSA CVS update - Takashi Iwai Documentation,ICE1712 driver - added the support for Digigram VX442 board. ALSA CVS update - Jaroslav Kysela CS46xx driver added missing variables to debug messages ALSA 1.0.2c [PATCH] parport fixes (1/6) Current tree has all allocated ports on portlist. However, most of the portlist users assume that we only have announced ports there and break badly if they happen to see the list after port driver has created a port (parport_register_port()) but before it finishes the setup (and calls parport_announce_port()). The only place that wants to see all allocated port is parport_register_port() itself and only to pick the first unused port number. We add a new list (all_ports) and put ports there when allocated; that list is kept ordered by port->number. Ports are placed on portlist only by parport_announce_port(). Gobs of shite in parport_register_port() removed, pile of races closed... [PATCH] parport fixes (2/6) We use a new mutex to protect all additions/removals of drivers and ports. That cures a lot of insanity: * driver removals can't hit us in the middle of attach_driver_chain(). Old code simply dies on that. * port removals can't hit us in the middle of driver registration. Again, old code dies on that. * driver ->detach() is allowed to block now. * we are guaranteed that by the time when parport_unregister_driver() returns, all ->detach() calls are finished. Old code did _not_ guarantee that (read: was inherently racy since rmmod of driver could race with port removal and get driver->detach(port) called after the module was gone). * we are guaranteed that driver->attach(port) won't be called more than once. With the old code that was a matter of luck. * removed piles and piles of braindead code. [PATCH] parport fixes (3/6) A bunch of parport_enumerate() users was duplicating parport_find_...() without proper locking. Replaced with use of appropriate helpers, races closed. [PATCH] parport fixes (4/6) parport_gsc.c turned into proper parisc driver; instead of scanning the list of ports upon rmmod in search of ones that had been created by us, we do cleanup where it belongs - in parisc driver ->remove(). [PATCH] parport fixes (5/6) bw-qcam.c turned into proper parport driver. Instead of (racy) scanning the list of ports we use ->attach() and ->detach(). [PATCH] parport fixes (6/6) daisy.c used to access the topology list with no locking whatsoever. Protected by spinlock, fixed numerous bugs in handling of the single-linked list (I'm not kidding - just take a look at the old parport_daisy_fini() and weep; it is supposed to go through a simple list and remove all entries that satisfy a condition). [PATCH] paride cleanup and fixes (1/25) * new helper: pi_schedule_claimed() - pi_do_claimed() sans the call of continuation if we don't have to wait; returns 1 if we don't have to wait and 0 otherwise. [PATCH] paride cleanup and fixes (2/25) Preparation to crapectomy - expanded include of pseudo.h, split the part of pd_do_request() into pd_do_request1(), leaving in pd_do_request() only the check that FSM is not running and call of pd_do_request1(). Added locking analysis - it's in drivers/block/paride/Transition-notes and it will be used on the next step. Even though the subsequent steps are small, they rely on properties of the damn thing and proof of these properties is hairy. Amazing perversions people manage to produce when writing a trivial FSM - the code is very convoluted for no good reason... [PATCH] paride cleanup and fixes (3/25) Removed junk (see the analysis in the previous patch), removed ps_set_intr() arguments. [PATCH] paride cleanup and fixes (4/25) Logics around "if not ready, schedule the same step again" taken out of ps_tq_intr() and into the steps that need it. [PATCH] paride cleanup and fixes (5/25) pd_busy gone - we can check for pd_req != NULL instead. [PATCH] paride cleanup and fixes (6/25) Equivalent transformation: * new function: do_pd_io_start(). Checks pd_cmd and calls do_pd_read_start() or do_pd_write_start(). * do_pd_read() and do_pd_write() merged into do_pd_io(), which schedules execution of do_pd_io_start(). [PATCH] paride cleanup and fixes (7/25) Equivalent transformation: Handling of bogus requests taken into do_pd_io_start() - we call next_request(0) as we would for any other error. We need to call pi_unclaim() before that - on other paths that would happen as a side effect of pi_disconnect(). Setting variables moved into do_pd_io_start() - they don't need pd_lock being held, so we can shift that outside. [PATCH] paride cleanup and fixes (8/25) Equivalent transformation: instead of having do_pd_request1() calling do_pd_io() via pi_do_claimed() and do_pd_io() calling do_pd_io_start() via ps_set_intr(), do it the other way round. [PATCH] paride cleanup and fixes (9/25) Equivalent transformation: do_pd_reqeust1() calls lambda-expanded, function killed. resulting call of ps_set_intr() in next_request() has been moved past dropping pd_lock. [PATCH] paride cleanup and fixes (10/25) Equivalent transformation: * ps_continuation renamed - it's "phase" now. * run_fsm() does what ps_tq_int() used to do * calls of pi_do_claimed(..., func) replaced with phase = func; pi_do_claimed(..., run_fsm); Now all phase functions are called from run_fsm() and we can start pulling the common code into it. [PATCH] paride cleanup and fixes (11/25) Equivalent transformation: * new type - enum action. phase functions return it now. run_fsm() looks at the result of phase() and does the corresponding action - next_request(), pi_do_claimed() or ps_set_intr(). [PATCH] paride cleanup and fixes (12/25) Equivalent transformation: * calls of pi_disconnect() in phase functions expanded. * since both do_pd_read_start() and do_pd_write_start() are always called claimed (as the matter of fact, all phase functions except do_pd_io() are), we can replace call of pi_connect() with direct method call - pi_claim() is no-op there. [PATCH] paride cleanup and fixes (13/25) Equivalent transformation: pi_unclaim() moved from phase functions to run_fsm(). [PATCH] paride cleanup and fixes (14/25) Equivalent transformation: call of pi_do_claimed() in run_fsm() expanded; recursive call of run_fsm() replaced with loop. [PATCH] paride cleanup and fixes (15/25) Equivalent transformation: next_request() call expanded. [PATCH] paride cleanup and fixes (16/25) Equivalent transformation: * phase = do_pd_io replaced with phase = NULL, corresponding check + open-coded equivalent added in run_fsm loop. * do_pd_io() is gone. [PATCH] paride cleanup and fixes (17/25) Equivalent transformation: now that all phase functions are called claimed, we can simplify the logics around claiming - new variable (pd_claimed) keeps track of claim/unclaim we'd done. We check it in the beginning of the loop and do claiming if it's not set. [PATCH] paride cleanup and fixes (18/25) Moved calls of ->connect and ->disconnect into run_fsm(). The only change is that now do_pd_start_io() is ran when we are connected. [PATCH] paride cleanup and fixes (19/25) Reordered stuff made pd_ready() inlined renamed ps_timeout to pd_timeout renamed ps_tq to fsm_tq renamed ps_set_intr to fsm_schedule removed unused pd_wait_open. [PATCH] paride cleanup and fixes (20/25) Switched everything except pd_identify() to use of special requests. New helper: pd_special_command() - builds special request, feeds it into queue and waits for completion. Moved pi_connect()/pi_disconnect() to the beginning/end of pi_identify. [PATCH] paride cleanup and fixes (21/25) Moved allocation and setup (but not adding) of gendisk into pd_probe_drive(). [PATCH] paride cleanup and fixes (22/25) Now disk->present is not needed - we can always check for disk->gd. Field removed, pd_probe_drive() became void(struct pd_unit *), pd_detect() cleaned up, [PATCH] paride cleanup and fixes (23/25) pd_init_units() merged into pd_detect(), pd_drive_count made local to pd_detect(). [PATCH] paride cleanup and fixes (24/25) pd_identify() converted to pd_special_command(). [PATCH] paride cleanup and fixes (25/25) paride has a ->private field for use by low-level drivers. It's not 64bit-clean - it's int, but is used to store a pointer (bpck6). Fix: replace with unsigned long, update typecasts in users. [PATCH] scsi/imm.c cleanup and fixes (1/8) * imm.c fed through Lindent, functions unused elsewhere (by now - all of them) made static. [PATCH] scsi/imm.c cleanup and fixes (2/8) * switched imm to passing around references to imm_struct instead of host numbers. [PATCH] scsi/imm.c cleanup and fixes (3/8) * killed imm_pb_claim() call in imm_init() [PATCH] scsi/imm.c cleanup and fixes (4/8) * killed include of scsi_module.h and switched from scsi_register() to scsi_alloc_host(). We still keep the old detect logics at that point, it will be gone later. [PATCH] scsi/imm.c cleanup and fixes (5/8) * starting to kill imm_detect - we move the "probe a single port" logics into a separate function and shift scanning into imm_driver_init(). Later that will give us a parport_driver ->attach(). [PATCH] scsi/imm.c cleanup and fixes (6/8) * fixed missing wakeups in imm_pb_claim()/imm_wakeup() - if the former had been called just as current holder of port was giving it up, we could set "I'm waiting" flag too late. Cleaned up the timeout logics. [PATCH] scsi/imm.c cleanup and fixes (7/8) * switched to use ->hostdata to get imm_struct from Scsi_Host, end of messing with imm_hosts[] [PATCH] scsi/imm.c cleanup and fixes (8/8) * switched to proper parport_driver. [PATCH] scsi/ppa.c cleanup and fixes (1/9) * ppa.c fed through Lindent, functions unused elsewhere (by now - all of them) made static. [PATCH] scsi/ppa.c cleanup and fixes (2/9) * switched ppa to passing around references to ppa_struct instead of host numbers. [PATCH] scsi/ppa.c cleanup and fixes (3/9) * killed ppa_pb_claim() call in ppa_init() [PATCH] scsi/ppa.c cleanup and fixes (4/9) * killed include of scsi_module.h and switched from scsi_register() to scsi_alloc_host(). We still keep the old detect logics at that point, it will be gone later. [PATCH] scsi/ppa.c cleanup and fixes (5/9) * starting to kill ppa_detect - we move the "probe a single port" logics into a separate function and shift scanning into ppa_driver_init(). Later that will give us a parport_driver ->attach(). [PATCH] scsi/ppa.c cleanup and fixes (6/9) * fixed missing wakeups in ppa_pb_claim()/ppa_wakeup() - if the former had been called just as current holder of port was giving it up, we could set "I'm waiting" flag too late. Cleaned up the timeout logics. [PATCH] scsi/ppa.c cleanup and fixes (7/9) * switched to use ->hostdata to get ppa_struct from Scsi_Host, end of messing with ppa_hosts[] [PATCH] scsi/ppa.c cleanup and fixes (8/9) * switched to proper parport_driver. [PATCH] scsi/ppa.c cleanup and fixes (9/9) * don't take the unnecessary ->host_lock around ->scsi_done() call. [PATCH] fix 'cat /proc/ide//identify' hang (CONFIG_IDE_TASKFILE=y) Some devices need more time to become non-busy after command completion, so use the same timeout in wait_drive_not_busy() (called from task_in_intr() if CONFIG_IDE_TASKFILE_IO=y) as in drive_cmd_intr(). Thanks to Mark Haverkamp for help in fixing this. [PATCH] remove dead CONFIG_IDEDMA_NEW_DRIVE_LISTINGS Leftover after switch to IDE DMA Model-Firmware blacklist in kernel 2.5.63. [PATCH] remove CONFIG_IDEDMA_PCI_WIP Fix CONFIG_HPT34X_AUTODMA to depend directly on CONFIG_EXPERIMENTAL and finally remove CONFIG_IDEDMA_PCI_WIP. [PATCH] remove unused ide_devices_t from ide.c and ide.h Introduced in kernel 2.5.35 and never used. [PATCH] ide-io.c: remove unused unplugged iops Introduced in kernel 2.5.63 and never used. [PATCH] remove unused __ide_dma_retune() and ide_hwif_t->ide_dma_retune First introduced in kernel 2.3.99-pre3 (added to ide_dmaproc) and never used. [PATCH] remove ide_dma_queued_* ops from ide_hwif_t TCQ code is host independent so remove redundant ide_dma_queued_* ops from ide_hwif_t. If we ever decide to bring back TCQ support this will fix OOPS in ide-disk driver with CONFIG_BLK_DEV_IDE_TCQ_DEFAULT=y and icside/sgiioc4 host drivers (it will also enable TCQ support for these host drivers). Acked by Jens. [PATCH] atmel_pci build fix The usual linux/init.h missing include. [PATCH] ppc64: move hypervisor console code into its own file From: anton@samba.org From: Hollis Blanchard move hypervisor console code into its own file [PATCH] ppc64: fix up hvc console dev/devfs name, from Milton Miller From: anton@samba.org fix up hvc console dev/devfs name, from Milton Miller [PATCH] ppc64: Fix up iseries updatepp, from Ben Herrenschmidt From: anton@samba.org Fix up iseries updatepp, from Ben Herrenschmidt [PATCH] ppc64: change HSC -> HVSC From: anton@samba.org change HSC -> HVSC [PATCH] ppc64: Fix compiler warnings, from Olof Johansson From: anton@samba.org Fix compiler warnings, from Olof Johansson [PATCH] ppc64: Fixes for OF device tree update code, from Nathan Lynch From: anton@samba.org Fixes for OF device tree update code, from Nathan Lynch [PATCH] ppc64: integrate vio.c with 2.6 driver model From: anton@samba.org From: Hollis Blanchard integrate vio.c with 2.6 driver model [PATCH] ppc64: Added definition of viomajortype_scsi, from Dave Boutcher From: anton@samba.org Added definition of viomajortype_scsi so drivers/scsi/iSeries_vscsi will compile [PATCH] ppc64: Fix pcibios_scan_all_fns on iSeries, from Jake Moilanen From: anton@samba.org Fix pcibios_scan_all_fns on iSeries, from Jake Moilanen [PATCH] ppc64: use drivers/Kconfig From: anton@samba.org use drivers/Kconfig [PATCH] ppc64: Fix another numa bug From: anton@samba.org In some cases we can merge reserved regions with the next node. There was a bug in the way we calculated the overlapping region which caused us to fail during boot. [PATCH] ppc64: use smp_processor_id everywhere From: anton@samba.org use smp_processor_id everywhere [PATCH] ppc64: Remove pvr from the paca From: Anton Blanchard Slowly removing non essential things from the paca [PATCH] ppc64: cpus_in_xmon needs to be a cpumask_t, from Milton Miller From: Anton Blanchard Also add cpu_relax() to several spinloops in xmon which wait for other cpus. [PATCH] ppc64: sysrq helpers should have their active character capitalized From: Anton Blanchard sysrq helpers should have their active character capitalized [PATCH] put "kernel_thread_helper" in right linker segment This fixes the "kernel_thread_helper" function so that it is in the right segment (.text) regardless of any other code movement by the compiler (eg "-funit-at-a-time"). [SCTP] Removed the deprecated ADLER32 checksum support. [hamradio mkiss] correctly use spinlocks Somebody didn't build this on SMP [PATCH] USB: change uhci maintainer [PATCH] USB Gadget: ethernet gadget locking tweaks [USB] ethernet gadget, locking tweaks This problem showed pretty quickly on an SMP system. Basically, access to the freelist (tx more than rx) needs a spinlock. Stop repeating some alloc_etherdev() work. Disable DEBUG messages. [PATCH] USB Gadget: pxa2xx_udc updates [USB] pxa2xx_udc updates, mostly for non-Lubbock hardware - IXP 42x UDC support (Greg Weeks) - remove Lubbock-specific build assumption (Guennadi Liakhovetski) - handle D+ pullup right on iPaqs, e7xx, etc (HH.org) - don't unbind() with irqs blocked; matches other controller drivers, and network layer expectations - handle some deferred ep0 responses better - support iso transfers (needs fifo size tracking) [PATCH] USB: usbtest updates [USB] usbtest, add more tests; minor fixes More tests for host and gadget controller drivers: - test 13, bulk endpoint halts - test 14, control OUT transfers - test 15, iso OUT testing - test 16, iso IN testing Other improvements: - Many tests now support data pattern testing submodes. - Use the standard usb_set_interface() call, not its own version ... one more API call covered! - Converted to use driver model style diagnostics. And minor fixes. [PATCH] USB: usbnet updates (new devices) [USB] usbnet updates: new devices, cleanups New devices: Aten UC210T, Zaurus SL-6000 Cleanup, factoring out shared CDC glue for Ethernet, Zaurus, and eventually RNDIS. [PATCH] I2C: Update I2C maintainers entry I propose the following update of the "I2C AND SENSORS DRIVERS" entry in MAINTAINERS: * Remove Frodo Looijaard. He isn't active in the project anymore, and forwards everythings he receives to the mailing-list. More work for everyone, and increased latency. * Move your name to the top. This is more realistic since you are the real maintainer of the i2c subsystem in 2.6. * Reindent. Spaces were used instead of tabs. [ACPI] fix IA64 build warning from Martin Hicks [PATCH] toshiba_acpi 0.17 from John Belmonte Fix remote chance of invalid buffer access in write_video. Support alternate HCI method path (recent "Phoenix BIOS" Toshiba's). Signal more proc-write errors. On proc-reads, report errors via printk instead of proc output. Add log level and driver name prefix to all printk's. Add missing __init and __exit function attributes. Be explicit about vars for which code relies on zero-init of BSS. [PATCH] acpi4asus update from Karol 'sziwan' Kozimor The attached patch updates the acpi4asus driver to 0.27 through the following changes: - add support for M1300A, S5200N, L8400L, - remove WLED support for certain models, since it is not controlled by AML, - add LCD backlight switching for L2E / L3H, - C99 initializers, - generic LED handlers, - the output of ASYM method to provide battery state information (might be more accurate under certain conditions) in /proc/acpi/asus/info, - fix several oddities, various clean-ups and other minor changes. The patch itself is quite big, which is mostly due to the C99 initializers and the fact that diff doesn't like moving code around. This has been compile-tested in various configurations, the substantive changes were discussed on the acpi4asus mailing list. The code should apply to current bk (both for 2.4 and 2.6). The patch is also available here: http://hell.org.pl/~sziwan/asus/acpi4asus-0.26-0.27.diff Thanks to all the contributors (notably Pontus Fuchs) to this release. ALSA CVS update - Jaroslav Kysela Intel8x0 driver Fixed alsa_card_intel8x0_setup() ALSA CVS update - Jaroslav Kysela Intel8x0 driver Andrew Morton - Fix some unnecessary and odd handling of timeval usec overflow [ARM] Fix use of #if - should be #ifdef. [ARM] Remove extraneous return statement. [ARM] Add fusion, I2C and L3 directories to the ARM Kconfig [ARM] Add .data.nosave section into vmlinux.lds.S file. [ARM] Convert Integrator AP and Assabet to new machine init method This makes use of David Brownell's INIT_MACHINE support. [ARM] Update AMBA device/driver support - Add methods to request/release regions. - Add method to find AMBA devices. - Only register devices whose ID is known. - Devices may have two interrupt signals. - Add hotplug method. [ARM] Add cm_control() for Integrator AP and PP2 platforms. [PATCH] ppc32: Update PowerMac dmasound driver From: Benjamin Herrenschmidt This patch was missing from my big merge. It updates the PowerMac "dmasound" driver. Adds input support for some recent machines using the tas3004 coded/mixer chip. Code mostly written by Renzo Davoli. This driver isn't (unfortunately) fully obsoleted by the Alsa one. There are lots of reports of the Alsa one not working properly on various PowerMac machines, and some people are unhappy with Alsa in general, enough to have ported the messy PowerMac dmasound to 2.6 :) [PATCH] ppc64: vio fix From: Anton Blanchard It doesn't link. Add a chunk which got lost. [PATCH] ppc64: Add readq/writeq and __raw* IO functions From: Benjamin Herrenschmidt This patch adds those for ppc64, except for iSeries which cannot do readq/writeq easily, at least not as far as I know but I need to ask the iSeries specialists in Rochester to be sure. But anyway, iSeries shouldn't use anything in fb.h anyway ... It also add the proper tweaks & barriers to make sure reads are actually done right away and not delayed indefinitely (making the CPU think the read data is actually used) and add necessary write barriers on IO writes. For some reasons, ppc64 in 2.6 lacked some of these, opening potential races within some drivers. [PATCH] gcc-3.5: drivers/atm/atmtcp.c drivers/atm/atmtcp.c: In function `atmtcp_c_close': drivers/atm/atmtcp.c:258: error: invalid lvalue in assignment drivers/atm/atmtcp.c: In function `atmtcp_create': drivers/atm/atmtcp.c:383: error: invalid lvalue in assignment [PATCH] snprintf() commentary From: Paul Jackson Explain the snprintf() return value. [PATCH] With size > XATTR_SIZE_MAX, getxattr(2) always returns E2BIG From: Andreas Gruenbacher The getxattr (listxattr) syscall returns E2BIG if the buffer passed to them is bigger than XATTR_SIZE_MAX (XATTR_LIST_MAX), no matter what buffer size is actually required. Here is a fix. It also removes the xattr_alloc and xattr_free functions which are not of much use anymore. [PATCH] oss/ad1889: correct printk of dma_addr_t From: "Randy.Dunlap" fix dma_addr_t type error with CONFIG_HIGHMEM64G=y [PATCH] ext2/3: incorrect increment of i_blocks when keeping the same xattr block From: Andreas Gruenbacher Here is a fix for extended attributes on ext2 and ext3, reported by Stephen Tweedie . From: Stephen Tweedie : When you have an EA block that is shared between multiple inodes; AND you then change an attribute in that on one inode, AND the new attribute value is the same as the old, then xattr computes the new EA block, finds it still in the cache, bumps the reference count on it (and the i_blocks field on the inode, incidentally), and leaves it incremented because we haven't changed EA block so there's no need to drop the refcount on the old block. So *every* time you have more than one inode sharing an EA block and you perform an identical write to an EA, you get a leak on both i_blocks and the EA refcount. This is a big problem for symlinks, which rely on correct i_blocks accounting to determine the difference between fast and slow symlinks. With the leak, you end up thinking that a fast symlink (ie. one small enough to be stored in the inode direct blocks) is slow, so you dereference the ascii contents of the symlink as if they were a disk block address. That typically results in EIO all over the place. [PATCH] Set CCISS driver VM read-ahead to 1024K From: Torben Mathiasen After a lot of testing and measuring we decided to increase the read-ahead for the CISS driver in 2.6 to 1MB. [PATCH] janitor: video/fbcmap: kmalloc() audit From: "Randy.Dunlap" From: Leann Ogasawara Handle kmalloc() failures [PATCH] janitor: ide/pci/triflex: handle !CONFIG_PROC_FS From: "Randy.Dunlap" From: Luiz Fernando Capitulino this patch fixes this warning: drivers/ide/pci/triflex.c:49: warning: `triflex_get_info' defined but not used [PATCH] janitor: ps2esdi: fix '&' to '&&' From: "Randy.Dunlap" From: Timmy Yee This patch adds missing ampersands. [PATCH] janitor: vga16fb.c ioremap() and fb_alloc_cmap() audit From: Leann Ogasawara Audit fb_alloc_cmap() and incorporate an error path. [PATCH] Suppress page allocation failures from sg_page_malloc() It is performing higher-order atomic allocations then falling back, so failures are expected. Suppress the scary warnings. [PATCH] Altix: remove alenlist.h From: Martin Hicks This is a patch that removes the unused include/asm-ia64/sn/alenlist.h header file, along with the dead code that still referenced it. I ran the patch by Pat Gefre and Colin Ngam. [PATCH] Altix: cleanup HWGRAPH_DEBUG From: Martin Hicks A patch to clean up HWGRAPH_DEBUG. It also cleans up some compile warning by changing the prototype of hwgraph_debug(). I ran this patch by Pat & Colin and they asked me to send it to you. [PATCH] Moxa serial devfs fix From: Sergei Golod This patch put moxa devices (when DEVFS enabled) under /dev/tts/M* (as standard serial ports /dev/tts/0,1,...) instead /dev/. Patch ported from Stallion serial driver. [PATCH] Improper handling of %c in vsscanf From: The "%c" in sscanf actually reads and writes one extra character (i.e. 2 characters insted of just one), and may thus easily overflow caller's buffer. Also affects 2.4 tree, even if there "%c" seems not to be used at all. [PATCH] meye: Fix dma_addr_t usage From: Stelian Pop This driver had an array which contained both dma_addr_t's and kernel virtual addresses. Split those up, thus tidying things and avoiding a printk warning. [PATCH] v4l: i2c cleanups From: Gerd Knorr This patch brings a few cleanups/fixes for the v4l-related i2c modules: * fix "badness in interruptible_sleep_on" * use completions instead of semaphores to sync rmmod + kernel thread exit * drop some some obsolete code. * minor tweaks for some tv cards. [PATCH] v4l: saa7134 cleanups and new cards. From: Gerd Knorr This patch is a update for the saa7134 driver in the linux kernel. Changes: * kernel thread cleanups (exit/rmmod sync using completions, wait queue fixes). * add support for more cards. * improved infrared remote support. [PATCH] Fix x86-64 compilation on 2.6.2-bk1 From: Andi Kleen The new linux/elf.h include in linux/mm.h caused all kinds of problems for the x86-64 32bit emulation code. This patch avoids the dependency by moving the depending functions out of line. It makes x86-64 compile again. [PATCH] unexport do_exit() I exported this because vmware needs it. Petr has updated the vmware wrapper to open-code the sys_exit() trap so this export is no longer needed. The updated vmware wrapper is available at http://platan.vc.cvut.cz/ftp/pub/vmware/vmware-any-any-update50.tar.gz [PATCH] fb.h header fix From: James Simmons Fix this header so that it can again be used by userspace. It also makes struct fb_pixmap a internal kernel object. [PATCH] epoll struct epitem size reduction From: Davide Libenzi As suggested by Eric Dumazet the following patch achieve a more compact struct epitem on 64 bit archs. [PATCH] fix readX_relaxed machine vectors for ia64 From: jbarnes@sgi.com (Jesse Barnes) I left out some of the necessary machine vector magic in my readX_relaxed patch, which broke the ia64 generic build. [PATCH] memblks compile fixes From: jbarnes@sgi.com (Jesse Barnes) Looks like Jes forgot missed some conversions in his NR_MEMBLKS removal patch. Here's are the fixes to get ia64 going again. [PATCH] remove __exit from mptscsih_exit() From: Martin Hicks Get rid of __exit from mptscsih_exit() to get the kernel to link. [PATCH] Add P1/P2 programmable keys to the sonypi driver. From: Stelian Pop This patch enables sonypi to successfully report P1/P2 programmable keys events on Sony Vaio Z1 laptops. Note however that sonypi is unable to distinguish between the two events, both of them will be reported as SONYPI_EVENT_PKEY_P1, but one event is better than zero, so there it is. [PATCH] ext2: update inode ctime on rename() From: Marcelo Tosatti Chris Siebenmann posted a fix to update the old inode ctime on rename(). This fix went into 2.2.13, but did not make into 2.4 or 2.6 kernels (the 2.2.13 diff is at the end of this message). Here is updated 2.6 version without mark_inode_dirty(), which is not necessary anymore because its called by "ext2_dec_count()" few lines down. [ARM] Add Integrator/CP platform support. This cset adds platform support for the ARM Integrator/CP platform. [ARM] Add platform device and resources for SMC91C96 devices. [ARM] Add sys_pciconfig_* syscalls. [FBDEV] Add syfs support. [NETLINK]: Fix illegal lvalue with gcc-3.5 [AF_PACKET]: Fix illegal lvalue with gcc-3.5 [PPPOE]: Fix illegal lvalue with gcc-3.5 [NET]: Move dev_base and dev_base_lock into net/core/dev.c [NET]: Hash netdevices by name for faster lookup. [NET]: Hash netdevices by ifindex for faster lookup. [PATCH] Char drivers: cdev_unmap() To recap my argument: the current cdev implementation keeps an uncounted reference to every cdev in cdev_map. Creators of cdevs must know to call cdev_unmap() with the same arguments they passed to cdev_add() before releasing the device, or that reference will remain and will oops the kernel should user space attempt to open the (missing) device. It's an easy mistake to make, and, IMO, entirely unnecessary; the cdev code should be able to do its own bookkeeping. [PATCH] USB: uhci - unused urbp element The usb device member in the urb private structure is redundant, it is set but never used. [PATCH] USB: USB misc OHCI updates Here are three minor OHCI changes: * Turn off periodic dma transfers until they're needed. Extra DMAs consume power, and can trigger problems on marginal systems. * New module param "power_switching" (default false). Many boards will have no problems with this mode. It makes OHCI act more like most external hubs and like EHCI. * Minor SMP cleanup affecting display-only usbfs statistics. On one system, turning off the periodic DMAs made two of the four active OHCI controllers work in cases that previously triggered "Unrecoverable Error" IRQs. [PATCH] USB: DSBR-100 tiny patch Fix timy errors in comments and strings. [PATCH] PCI Hotplug: Convert error paths in ibmphp to use goto This patch converts the error paths in several functions in ibmphp to use goto to the end of the function to kill code duplication. It also kills some memsets of pointer members of a struct where the struct itself is freed directly after. This one has 2 modification from the first version: the if is back as discussed and one extra long line (>> 150 chars) is wrapped now. [NET]: Support for lots of netdevs -- faster dev_alloc_name Convert dev_alloc_name from O(n^2) lookup to O(n) by using a page as bitmap to figure out how many devices of that pattern have been allocated. This works for up to 32k devices (PAGE_SIZE*8) on i386, more on other platforms. Correctly handles the boundary cases where number of devices won't fit because name length is limited. Adds strnchr to the string libraries since we need to find the % format character, but only care if it is in the first 15 bytes. [PATCH] adjust_resource() I need this to cope with some devices on PA-RISC and Russell also needs something like it for PCMCIA. [PATCH] PA-RISC arch update for 2.6.2 - a500 & c3000 defconfigs (Grant Grundler) - Copyright and FSF address updates (Joel Soete, Grant Grundler) - Changes to fix dev->bridge conversion (James Bottomley) - Fix SuckyIO console (Grant Grundler) - Stop pasting __FILE__ - More compat work (Carlos O'Donell) - Redo vmlinux.lds.S for x86-similarity (James Bottomley) - Move __ex_table into the writable section (Randolph Chung) [PATCH] PA-RISC driver update for 2.6.2 PA-RISC specific driver updates: - Stop pasting __FILE__ - Improve card-mode Dino support (James Bottomley) - Fix dev->bridge rename (James Bottomley) - iosapic/SBA/LBA cleanups (Grant Grundler) - Improve LED support (Helge Deller) - Fix mux driver (Ryan Bradetich) - Make STI framebuffer work on RDI PrecisionBook (Helge Deller) [NET]: Simply net_ratelimit(). Reimplement net_ratelimit() in terms of the new printk_ratelimit(). As net_ratelimit() already has it own sysctls we generalise printk_ratelimit() a bit so that networking does not lose its existing sysctls and so that it can use different time constants from the more generic printk_ratelimit(). [Bluetooth] Fix error handling for not connected socket This patch adds the missing fput() call for the BNEP and CMTP protocol layers in case the user submits a not connected socket. Noticed by Andi Kleen [IPV6]: Clean-up NS (including DAD) vs tentative address. [IPV6]: Unify 3 similar code paths in ndisc_recv_ns(). [IPV6]: Use cheaper ipv6_addr_any() where appropriate. [IPV4]: Split arp_send into arp_create and arp_xmit, export them. [VLAN]: Export VLAN tag get/set functionality. Enable intermediate network drivers like bonding to get or set a VLAN tag in an skb without a need to know about how tagging is done according to a network adapter's capabilities. [VLAN]: Use VLAN tag set functionality in 8021q module. Make the regular/HW accelerated xmit functions in the 8021q module use the new set VLAN tag functionality to reduce code duplication. [NET]: Bunch of Kconfig and doc URL updates. [SPARC32]: Fix sparc32 module support. Linux 2.6.3-rc1 [SPARC]: Fix AIO syscall numbering. [PATCH] PA-RISC needs IPC64 structs PA-RISC also uses the 64-bit version of the IPC structs. [PATCH] PA-RISC Harmony driver update Update harmony driver to the latest in the PA-RISC tree (Helge Deller) [PATCH] New ptrace.h definitions ARM added a definition for PT_SINGLESTEP which conflicted with our definition. So define PT_SINGLESTEP_BIT, PT_BLOCKSTEP_BIT and PT_BLOCKSTEP to prevent similar problems in the future. (James Bottomley) [ACPI] nforce2 timer lockup from Maciej W. Rozycki NFSv4/RPCSEC_GSS: Ensure that RPC userland upcalls time out correctly if the corresponding userland daemon is not up and running. RPCSEC_GSS: More fixes to the upcall mechanism. RPCSEC_GSS: Make the upcalls detect if the userland daemon dies while processing a request. NFSv4: Fix an Oopsable condition if we fail to get the root directory under NFSv4. NFSv4: Bugfixes for the NFSv4 client name to uid mapper. Fixes a memory-scribble problem. NFSv4: Bugfixes and cleanups for the NFSv4 client name to uid mapper. Includes a fix by Tim Woods to deal with a caching bug in the case where a user and a group share the same numerical id and/or name. RPCSEC_GSS: Make it safe to share crypto tfms among multiple threads. RPCSEC_GSS: Oops. Major memory leak here. RPCSEC_GSS: Fix two more memory leaks found by the Stanford checker. RPCSEC_GSS: Fix yet more memory leaks. RPCSEC_GSS: Miscellaneous cleanups of the krb5 code required for the integrity checksumming mode. RPCSEC_GSS: Instead of having gss_get_mic allocate memory for the mic, require the caller to pass an output buffer whose data pointer already points to preallocated memory. RPCSEC_GSS: Client-side only support for rpcsec_gss integrity protection. Since this requires checksumming an entire request, instead of just the header, and since the request may include, for example, pages with write data, we modify the gss_api routines to pass xdr_bufs instead of xdr_netobjs where necessary. We add rpcauth_wrap_req and rpcauth_unwrap_resp to rpcauth.c, wrappers for the new rpc cred ops crwrap_req and crunwrap_req, which are called just before encoding, and just after decoding, respectively. RPCSEC_GSS: Move the gss sequence number history from the task structure to the request structure, where it makes more sense. In particular, when we start storing more sequence number history (necessary to process responses to resent requests correctly), this will make it easier to initialize the necessary data structure in the right place (in xprt_request_init). RPC: xdr_encode_pages either leaves the tail iovec pointing to null or, if padding onthe page data is needed, sets it to point to a little bit of static data. This is a problem if we're expecting to later append some data in gss_wrap_req. Modify xdr_encode_pages to make tail point to the end of the data in head, as xdr_inline_pages and xdr_write_pages do. RPC: Add support for sharing the same RPC transport and credential caches between different mountpoints by allowing cloning of the rpc_client struct. NFSv4/RPCSEC_GSS: Make Frank's server->client_sys feature use RPC cloning in order to avoid duplicating sockets etc. Make NFSv4 share a single socket for all communication to the same server. NFSv4: Convert the RENEW operation from using nfs4_compound, to being a standalone RPC call in preparation for the renew daemon overhaul. NFSv4: Convert the lease renewal daemon from being per-mountpoint to being per-server. Instead of running it on top of rpciod, convert it to use keventd. This mean we can use the struct nfs4_client semaphores for ordering purposes. NFSv4: Split out the code for retrieving static server information out of the GETATTR compound. NFSv4: Convert SETCLIENTID and SETCLIENTID_CONFIRM to be standalone operations. Ensure that SETCLIENTID_CONFIRM always returns the lease timeout length. NFSv4: Don't translate those NFSv4 errors that are needed by the kernel itself into EIO. Fix a signed/unsigned bug in nfs4_increment_seqid. NFSv4: Preparation for the server reboot recovery code. NFSv4: Basic code for recovering file OPEN state after a server reboot. RPC/NFSv4: Allow lease RENEW calls to be soft (i.e. to time out) despite the mount being hard. RPC: Ensure that we disconnect TCP sockets if there has been no NFS traffic for the last 5 minutes. This code also affects NFSv2/v3. NFSv4: Atomic open(). Fixes races w.r.t. opening files. NFSv4: Share open_owner structs between several different processes. Reduces the load on the server. NFSv4: Fix a bug which was causing Oopses if the client was mounting more than one partition from the same server. NFSv4: Add support for POSIX file locking. SCSI: undelete qlogicfc driver by user request [PATCH] qla2xxx Kconfig fix qla2xxx needs to be replumbed back into driver/scsi/Makefile. David Miller had already sent along a patch to me which achieves this by removing the _CONFIG suffix. [PATCH] Fix qla2xxx warnings On ppc64: drivers/scsi/qla2xxx/qla_dbg.c: In function `qla2300_fw_dump': drivers/scsi/qla2xxx/qla_dbg.c:64: warning: int format, different type arg (arg 5) drivers/scsi/qla2xxx/qla_dbg.c: In function `qla2100_fw_dump': drivers/scsi/qla2xxx/qla_dbg.c:600: warning: int format, different type arg (arg 5) drivers/scsi/qla2xxx/qla_os.c: In function `qla2x00_proc_info': drivers/scsi/qla2xxx/qla_os.c:2386: warning: cast to pointer from integer of different size drivers/scsi/qla2xxx/qla_os.c:2386: warning: cast to pointer from integer of different size The qla_dbg() warning occurs because on ppc64 size_t is a long. sizeof returns a size_t. I used %Z rather than the more modern %z, because gcc-2.95 warns about %z. printk supports both. For printing out dma_addr_t's, we really don't know what size they are here, so treating them as unsigned long long is best. [PATCH] remove MOD_INC_USE_COUNT from drivers/ide/ From: Christoph Hellwig Instead of using the old MOD_INC_USE_COUNT and getting warnings all the time preventing module unload can be much easier achived by just not implementing a module_exit handler. [PATCH] fix ns87415.c for PA-RISC Super I/O chip From: Matthew Wilcox [PATCH] fix too early probing of default IDE ports It was broken by IDE modular fixes in 2.6.2. [PATCH] Fix imm/ppa initializing bug in driver updates Let's play spot the bug here... Amazing that it survives in modular case... [PATCH] fix duplication of DMA {black,white}list in icside.c Always compile ide-dma.c if CONFIG_BLK_DEV_IDEDMA=y, mark PCI specific code with CONFIG_BLK_DEV_IDEDMA_PCI for now (it should migrate to ide_pcidma.c over a time). This fixes a small bug - in_drive_list() from icside.c used !strstr() instead of strstr() so it was missing two entries from a blacklist. [PNP]: Fix Serial PnP driver The serial driver currently fails to unregister its pnp driver upon module unload. This patch corrects the problem by calling pnp_unregister_driver and implementing a proper remove function. [PNP]: Resource flags update This patch reorganizes resource flags to ensure that manual resource settings are properly recognized. This fix is necessary for many ALSA drivers. It also prevents comparisons between unset resource structures. The bug was discovered by Rene Herman , who also wrote an initial version of this patch. I made further improvements to ensure that the pnp subsystem was compatible with this initial change. [PNP]: Disable resources fix Some PnPBIOSes do not follow the specifications with regard to disabling devices. This patch preserves the tag bits, while zeroing the resource settings. Previously we would zero the entire buffer. It has been tested and appears to correct the issue while remaining compatible with unbroken PnPBIOSes. [PNP]: Avoid static requests Recently many PnPBIOS bugs have been triggered by static resource information requests. This patch makes an effort to further avoid making them. [PNP] Move ID declarations This patch moves the PnP ID declarations to mod_devicetable.h like most of the other buses. It is from Takashi Iwai . [PNP]: file2alias support This patch updates file2alias.c to support pnp ids. It is from Takashi Iwai . [PNP]: Card matching code fix This patch updates the matching code to ensure that all requested devices are present on the card, even if they are in use. It is necessary for some ALSA drivers to work properly because early vendors would have different sets of devices on the same card ids. It is from Takashi Iwai . [PNP]: Add additonal sysfs entries This patch adds some aditional information to sysfs for pnp cards. It should be useful for userland tools. [PNP]: Cleanup Kconfig This patch cleans up the kconfig options for the pnp subsystem. It updates the comments and makes pnpbios proc support an optional feature. [ARM] Fix asm syntax for gcc3. [ARM] Use scsi_host_{alloc,put}() rather than scsi_{un,}register() [ARM] Add prefix to driver constants to prevent namespace clashes. [PATCH] v850: Add some #includes for the v850 to eliminate some compiler warnings From: (Miles Bader) Add some #includes for the v850 to eliminate some compiler warnings [PATCH] v850: Define ARCH_HAS_*_EXTABLE macros for v850 From: (Miles Bader) Define ARCH_HAS_*_EXTABLE macros for v850 [PATCH] v850: make __delay function handle a loop count of zero From: (Miles Bader) make __delay function handle a loop count of zero. In practice, this only seems to occur in odd debugging situations, but it's quite annoying then. [PATCH] add device id to radeonfb From: Andreas Steinmetz The attached patch adds the pci id 5961 to radeonfb. Without the patch my 9200 displays only a blank screen. lspci output below. 05:00.0 VGA compatible controller: ATI Technologies Inc Radeon RV280 [Radeon 9200] (rev 01) (prog-if 00 [VGA]) Subsystem: Giga-byte Technology: Unknown device 4018 Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 16 Memory at e0000000 (32-bit, prefetchable) [size=128M] I/O ports at b800 [size=256] Memory at feaf0000 (32-bit, non-prefetchable) [size=64K] Expansion ROM at feac0000 [disabled] [size=128K] Capabilities: [58] AGP version 3.0 Capabilities: [50] Power Management version 2 [PATCH] Fix ppa/imm warnings From: Simplify the code, eliminate an unused variable warning. [PATCH] Fix __filemap_fdatawrite() comment It was old. [PATCH] bitmap_snprintf() optimization From: Joe Korty Now that bitmap_parse is part of bitmap.[ch], it is allowed to manipulate bits directly as the other bitmap routines do. [PATCH] alpha: fix build error due to __attribute_const__ conversion Include the needed compiler.h. Also swizze the return type and the attribute around to match everyone else. [PATCH] vx222_ops.c warning fix Print a size_t correctly. [PATCH] cciss: PCI BAR sizing fix From: This patch eliminates the bad assumption that all of our PCI BARs will always be 32-bits. Tested against the 2.6.2 kernel. This is required to support the Pinnacles architecture. It is already in the 2.4 tree. (This needs to be converted to use pci_request_regions()) [PATCH] cciss: Fix freeing of incorrect IO memory address From: mikem@beardog.cca.cpqcorp.net This patch fixes a bug where under certain error conditions we bail and try to free our I/O memory. This patch is in the 2.4 tree. [PATCH] cciss: Add support for SA 6i embedded controller From: mikem@beardog.cca.cpqcorp.net This patch adds support for the next generation embedded cciss controller. It also bumps the version and changes the author to HP. This patch is in 2.4. [PATCH] cciss: IRQ sharing fix From: mikem@beardog.cca.cpqcorp.net This patch fixes a bug when sharing IRQs with another controller that receives a lot of interrupts. Without this check we will panic the system when unloading and reloading the driver. This is in 2.4. [PATCH] cciss: disble prefetching in ASIC From: mikem@beardog.cca.cpqcorp.net This patch addresses a bug in the ASIC on the 6400 series controllers. When prefetching from host memory we grab an extra 750 or so bytes of data. If this occurs on a memory boundary the machine will MCA. This bug affects IPF and Alpha based platforms. It is not known to be a problem on x86. Prefetch will be disabled via the f/w. We need to enable it on x86 to address a _big_ performance hit on RAID 1 operations. It is in the 2.4 tree. [PATCH] cciss: intialisation oops fix From: mikem@beardog.cca.cpqcorp.net This patch moves the check of the controller to before trying to enable it. If a controller is disabled the system will Oops without this fix. This in the 2.4 tree. [PATCH] cciss: avoid reading PCI config space From: mikem@beardog.cca.cpqcorp.net This patch replaces reading directly form PCI config space where possible. Most of what we need is in the pdev struct. This is in 2.4. [PATCH] cciss: printk format fix From: mikem@beardog.cca.cpqcorp.net This patch changes a format specifier to unsigned to prevent the number of blocks being displayed as a negative value on very large volumes. [PATCH] cciss: improve /proc presentation From: mikem@beardog.cca.cpqcorp.net This patch changes the way we fill out the /proc files we create. It now has human readable volume sizes, RAID levels, etc. Also removes some fields that were orginally for debug purposes. This is in the 2.4 tree. [PATCH] cciss: use pci_module_init() From: mikem@beardog.cca.cpqcorp.net This patch uses the pci_module_init wrapper for hot plug cases. It is in the 2.4. tree. [PATCH] cciss: rmmod oops fix From: mikem@beardog.cca.cpqcorp.net This patch fixes an Oops when unloading the driver. Bug fix. Please consider this for inclusion. All of the patches sent out are needed to get the driver in the 2.6 tree up to the level of the driver that is in the 2.4 tree, excluding this patch which is not required in 2.4. More patches will be coming. They include multi-path failover support, support for more than 8 controllers, and msi support. Presently working on a per logical volume queueing scheme. [PATCH] ide-cd invalidate toc cache on last close Make sure that TOC gets reloaded after every last close of the device. [SUNRPC]: Use completions instead of sleep_on for rpciod. The rpciod shutdown code gives ugly sleep_on without BKL warnings in -mm. And it looks indeed somewhat racy. The easy fix would be to simply use a completion as in the patch below, but that removes all the signal fuzzing semantics the current code has. I don't really understand why we want to cancel the operation by signals, but I think it'd be better to leave that to people familar with the code anyway.. [IPV6]: Kill broken and unused IPV6_AUTHHDR support. [ECONET]: Use LL_RESERVED_SPACE() where applicable. Noticed by yoshfuji. [SCTP]: Unify URL referencing in Kconfig documentation. [NET_SCHED]: Unify URL referencing in Kconfig documentation. [IPV6]: Unify URL referencing in Kconfig documentation. [IPVS]: Unify URL referencing in Kconfig documentation. [AF_UNIX]: Print out paths correctly in /proc/net/unix, matching 2.4.x [XFS] Fix buffer teardown on _pagebuf_lookup_pages failure SGI Modid: xfs-linux:xfs-kern:166032a [XFS] Remove the lockable/not lockable buffer distinction. All metadata buffers are lockable these days. SGI Modid: xfs-linux:xfs-kern:166042a Don't read i8042 data if no data exists [XFS] Use list_move for moving pagebufs between lists, not list_add/list_del SGI Modid: xfs-linux:xfs-kern:166046a Make SET_INPUT_KEYCODE return the old value, and clean up users of this that were very confused indeed. [XFS] Remove PBF_MAPPABLE SGI Modid: xfs-linux:xfs-kern:166087a [XFS] plug a pagebuf leak SGI Modid: xfs-linux:xfs-kern:166109a [XFS] Avoid NULL returns from pagebuf_get SGI Modid: xfs-linux:xfs-kern:166207a [XFS] Fix compile warning, ensure _pagebuf_lookup_pages return value is inited. SGI Modid: xfs-linux:xfs-kern:166301a [XFS] Fix gcc 3.5 compilation for real SGI Modid: xfs-linux:xfs-kern:165783a [XFS] Add back a missing pflags check in releasepage. SGI Modid: xfs-linux:xfs-kern:166323a [XFS] Fix data loss when writing into unwritten extents while memory is being reclaimed. SGI Modid: xfs-linux:xfs-kern:166324a [XFS] Fix a trivial compiler warning, remove some no-longer-used macros. SGI Modid: xfs-linux:xfs-kern:165155a [XFS] Make more xfs errors trappable with panic_mask SGI Modid: xfs-linux:xfs-kern:164051a [XFS] Update XFS config entries - add security entry, update ACL entry. [PATCH] ide-cd: incorrect use of sector_div The recent change to ide-cd using sector div is passing the wrong type to do_div(). [PATCH] fix OOPS for multiple IDE PCI modules and CONFIG_PROC_FS=y The problem is that when loading next IDE PCI module memory used by previously registered ide_pci_host_proc_list entry is already unmapped (because of __{dev}initdata). This doesn't happen in built-in case because this memory is freed after all drivers are initialized. Fix it by removing __{dev}initdata from all ide_pci_host_proc_t. Thanks to Andre Tomt for help in debugging this. JFS: rename should update mtime on source and target directories [PATCH] Fix pc300_tty.c -> implement tiocmset/tiocmget PC300 MLPPP support is currently marked broken in 2.6.x. To fix that, attached patch implements tiocmset/tiocmget methods on the pc300_tty.c driver, which is the new method tty drivers are supposed to use instead ioctl. This fixes two related issues in the ioctl handler: - ioctl requesting RTS signal would affect DTR signal - The RTS signal is now handled. Bonus: Throw out unused ioctl handler PCI: remove stupid MSI debugging code that was never used. PCI: move pci_msi.h out of include/linux to drivers/pci where it belongs. [WANROUTER]: Use LL_RESERVED_SPACE() where applicable. [PACKET]: Use LL_RESERVED_SPACE() where applicable. [IPVS]: Use LL_RESERVED_SPACE() where applicable. [IPV4/IGMP]: Use LL_RESERVED_SPACE() where applicable. [NETFILER/ipt_REJECT]: Use LL_RESERVED_SPACE() where applicable. [IPV6]: Use LL_RESERVED_SPACE() where applicable. [SCTP] Removed SCTP specific rmem/wmem sysctl's and use the global rmem_default/wmem_default values for SCTP socket buffer sizes. [PATCH] USB: re-factor enumeration/reset paths This patch starts dis-entangling some of the enumeration logic by moving initialization code into the usb_alloc_dev() constructor. Some call signatures changed; a usbcore-internal declaration was moved in to a more appropriate location. With the driver model init now more centralized, it's safer to use driver model calls (including dev_info) a lot earlier, so the "new device at address N" message now does that. It also reports the device speed, which may not be evident otherwise. [PATCH] USB: usb-storage Kconfig_URL_update Here is little URL update for Kconfig file. I hope webmaster remembers to put redirection in place next time URL changes. [PATCH] USB: drivers/usb/net config URI update and unify Here is a tiny Kconfig update and unify patch. [PATCH] USB: drivers/usb/misc/Kconfig URI update & unify: modules.txt Another little patch fixing modules.txt and fine tuning URLs. [PATCH] USB: drivers/usb/input/Kconfig URI unify Little URI unifing patch. [PATCH] USB: fix unneeded SubClass entry in unusual_devs.h On Sat, 7 Feb 2004, Brendan Arthurs wrote: > I'm getting the following message when I power on my USB external > enclosure (a MAP-K51U) with a Maxtor IDE hard drive in it. I'm running > kernel 2.6.2. Hope this is of some use to you. > > Feb 7 11:03:13 europa kernel: hub 4-0:1.0: new USB device on port 2, > assigned address 2 > Feb 7 11:03:13 europa kernel: usb 4-2: Product: USB Mass Storage > Device > Feb 7 11:03:13 europa kernel: usb 4-2: Manufacturer: Genesyslogic > Feb 7 11:03:13 europa kernel: usb-storage: This device > (05e3,0701,0002 S 06 P 50) has an unneeded SubClass entry in > unusual_devs.h > Feb 7 11:03:13 europa kernel: Please send a copy of this message > to Thank you for sending this in. Here's a patch to take care of it. Alexander, does this work for you? [PATCH] USB: fix bug number 1980 about keyspan devices not getting recognized. [PATCH] I2C: add new chip driver: fscher This is a new ported driver, fscher, which supports the FSC Hermes chip. The original driver was written by Reinhard Nissl, who also ported it to Linux 2.6, as discussed on the lm_sensors mailing list during the last two weeks. I reviewed the code and we made the necessary changes, so that what we have now looks good to me. Please apply on top of your i2c patches stack. Driver Core: fix up list_for_each() calls to list_for_each_entry() Now this should get that Rusty^Wmonkey off my back... dmapool: fix up list_for_each() calls to list_for_each_entry() Now this should get that Rusty^Wmonkey off my back... [PATCH] USB: drivers/usb/media/Kconfig URL fixups Here is patch for linux-2.6/drivers/usb/media/Kconfig. Add forward-declaration of "struct nfs4_client" to make nfs_idmap.h independent of CONFIG_NFS4 and other header files. Clean up dentry pointer validation by moving it into a function of its own. This also allows us to do a better job, since slab.c can now do more proper tests. [PATCH] NFS: fix for older gcc's From: Trond Myklebust Fix for proper C99 designated initializer, and avoid warning from missing (unreachable - but gcc doesn't know it) return. [IRDA]: Ultra sendto support. o [CORRECT] Always initialise Ultra packet/header size. o [CORRECT] Don't allow Ultra send on unbound sockets if no dest address is given. o [FEATURE] Properly support Ultra sendto on unbound sockets. [IRDA]: IrLAP disconnection pending race. o [FEATURE] Don't drop IrLAP connection is we *just* received an incomming IrLMP connection request. [IRDA]: Remove net notifier. o [FEATURE] remove unused code : device notifier handler. [IRDA]: nsc-ircc irq retval o [CORRECT] Better handling of shared IRQs in nsc-ircc driver. [IRDA]: ali-ircc irq retval o [CORRECT] Better handling of shared IRQs in ali-ircc driver. [IRDA]: smsc-ircc2 irq retval o [CORRECT] Better handling of shared IRQs in smsc-ircc2 driver. [IRDA]: via-ircc irq retval o [CORRECT] Better handling of shared IRQs in via-ircc driver. [IRDA]: w83977af_ir irq retval o [CORRECT] Better handling of shared IRQs in w83977af_ir driver. [PATCH] Remove duplicated HPPA bits in kernel/sysctl.c From: "Art Haas" The following patch removes the duplicated sysctl entries for 'soft-power' and 'unaligned-trap' for HPPA users. Immediately before these lines these two entries exist in a C99-style format. [PATCH] getxattr error checking fix From: Nathan Scott , Andreas Gruenbacher XFS regression tests tripped a couple of problems with the recent xattr fix. When a size of 0 is passed in, the getxattr and listxattr syscalls return the size that would be required for the value or list of names, without actually returning the value. The previous patch accidentally removed this test, and so querying the required size broke. Linux 2.6.3-rc2 [PATCH] Export OF device path for PCI devices Here's a new version of the patch according to our discussion. This allows the platform to add its own platform files to the sysfs PCI device node through a "pcibios_add_platform_entries()" call. I added an empty pcibios_add_platform_entries() inline to all archs that apparently have PCI and implemented the OF stuff for ppc and ppc64. The name is still "devspec" for now, I doubt it will conflict and that's consistent with our use of the "devspec" name in other places. [PATCH] DVD-R capability flag set incorrectly, /proc formatting fix From John McKell : This patch for scsi/sr.c and cdrom/cdrom.c persuades /proc/sys/dev/cdrom/info to report that connecting a drive via USB rather than ATAPI in fact does not make it able to write DVD-R. Without this patch, when sr0 and hdd are the same type of device connected via USB and ATAPI respectively, I see: $ cat /proc/sys/dev/cdrom/info: drive name: sr1 sr0 hdd ... Can write CD-R: 1 0 0 Can write CD-RW: 1 0 0 Can read DVD: 0 0 0 Can write DVD-R: 1 1 0 Can write DVD-RAM: 0 0 0 Can read MRW: 0 0 0 Can write MRW: 0 0 0 With this patch applied, instead I see: $ cat /proc/sys/dev/cdrom/info: drive name: sr1 sr0 hdd ... Can write CD-R: 1 0 0 Can write CD-RW: 1 0 0 Can read DVD: 0 0 0 Can write DVD-R: 0 0 0 Can write DVD-RAM: 0 0 0 Can read MRW: 0 0 0 Can write MRW: 0 0 0 The sr1 device in particular is an ordinary CD-RW that in fact cannot write DVD-R. While messing with this code, I also thought to tweak the /proc formatting to align the tabbed columns. [CPUFREQ] Geode register fixes. From: Hiroshi Miura I mistook a Geode chipset's register meanings. (-.-; ON is not 'CPU is ON' but 'cpu modulation is ON' that is stops cpu. this causes a bad freq setting. This patch fixes this and minor bug that is, if (new_khz == stock_freq) { /* if new khz == 100% of CPU speed, it is special case */ local_irq_save(flags); cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE); cpufreq_notify_transition() called after local_irq_save(); this makes not update cpu_khz. [PATCH] fix build for CONFIG_BLK_DEV_IDEDMA=n The "fix duplication of DMA {black,white}list in icside.c" patch broke it. Noticed by Geert Uytterhoeven . Make a bit more palatable to user program inclusion. It's still wrong to include kernel headers from user programs. Oh, well. [CPUFREQ] Fix an oops unloading p4-clockmod. Reverting frequency changes on unloading is uncommon for cpufreq drivers so let's remove this speciality. [PATCH] dm: block size bug with 64 bit devs With 32 bit sector_t the block device size _in bytes_ is also cut to 32 bit in __set_size when the block device is mount (a filesystem mounted). The argument should be cast to loff_t before expanding the sector count to a byte count and calling i_size_write. [Christophe Saout] [PATCH] framebuffer GPM corruption fix. This patch fixes the GPM cursor corruption people where seeing. [CPUFREQ] convert powernow-k8 to use frequency tables [1/5] Add a struct cpufreq_frequency_table, fill it with content, and use it for ->verify. [CPUFREQ] convert powernow-k8 to use frequency tables [2/5] Use the frequency_table for calculating the correct ->target state [CPUFREQ] convert powernow-k8 to use frequency tables [3/5] Keep *ppst local to the only function which needs it any longer. [CPUFREQ] convert powernow-k8 to use frequency tables [4/5] Remove the *ppst table, and remove an unneccessary forward-declaration [CPUFREQ] convert powernow-k8 to use frequency tables [5/5] Move the table verification to an extra function. [CPUFREQ] powernow-k8 printk cleanups from Pavel. [CPUFREQ] Pentium-4-M detection fix for speedstep-lib From Dominik.. The different P-4-M steppings have different "ebx" values. Analyze it correctly to sort out Pentium-4-based Celerons. [CPUFREQ] Fix deadlock in userspace governor. Another fix from Dominik. Fix bogus mode bit testing by smbfs. The S_IFxxxx macros aren't bits to be tested, they are values of the S_IFMT field. [PATCH] ia64: Enable cpu_vm_mask maintenance and improve SN2 TLB flushing [PATCH] ia64: fix ld.a emulation This patch fixes a corner-case of ld.a emulation. ld.a should be emulated such that it always loads a misaligned value and clears the corresponding ALAT entry. The old emulation was correct for the case where ld.a was followed by ld.c/chk.a (since ALAT entry was cleared), but wrong for the case where it _wasn't_ followed by ld.c/chk.a. In that case, the misaligned value wasn't read from memory, as it should have been. JFS: Threads should exit with complete_and_exit [PATCH] ia64: sba_iommu perf tunning and new functionality I've been doing some performance tuning and adding some functionality to sba_iommu for zx1/sx1000 chipsets. This adds: * Long overdue consistent_dma_mask support * Long overdue ability to do large mappings in the iommu * Tightened spinlock usage for better performance/scalability * Added branch prediction hints for some of the performance paths * Added explicit data prefetching to some performance paths - perfmon shows roughly a 20% decrease in L3 misses in the bitmap search code * Increased delayed resource freeing depth and added a separate lock per ioc to avoid contention * Added code to free up queued pdir entries should we be unable to find space for new ones (not that I've ever seen the pdir anywhere close to full) * Finished cleaning out the hint support code, Grant is maintaining this separately for now * Added option to control bypass of sg mappings separately from single/coherent mappings Much like the swiotlb, sba_iommu allows devices capable of 64bit addressing to bypass the iommu and DMA directly to/from memory. Using a worst case scenario test (64bit bypass disabled, all DMA mapped through the iommu), I saw a 60% increase in sequential block input throughput using bonnie++ on a large RAID0 MD array. In fact, this patch provides the best bonnie++ performance with bypass disabled. This is likely due to benefits seen from coalescing the scatterlist, allowing better disk streaming. I assume that network performance will likely be limited by mapping latency, so I added the last bullet item to allow sg mappings to get the benefit of coalescing while keeping a low latency path for single and coherent mappings. If anyone is setup for network benchmarks, I'd be interested in a before and after with this patch. [PATCH] ia64: Avoid deadlock when using printk() for MCA and INIT records Port the ia64 mca.c clean up patches from 2.4.25-pre8 to 2.6.2-rc2. The following 6 patches do :- 1 Avoid deadlock when using printk() for MCA and INIT records. 2 Delete all record printing code, moved to salinfo_decode in user space. 3 Mark variables and functions static where possible. 4 Delete dead variables and functions. 5 Reorder to remove the need for forward declarations and to consolidate related code. 6 Bjorn's printk cleanup. Altogether they shrink mca.c from 2432 to 1339 lines and make it much more readable. The only functional change is the removal of any attempt to print the CMC/CPE/MCA/INIT record contents in the kernel plus the addition of an info printk to ia64_mca_check_errors(), to match 2.4. Now we just get one line to say that a record has been detected, except for MCA which prints nothing at all. [PATCH] ia64: mca.c cleanup - Delete all record printing code, moved to salinfo_decode in user space [PATCH] ia64: mca.c cleanup - Mark variables and functions static where possible [PATCH] ia64: mca.c cleanup - Delete dead variables and functions [PATCH] ia64: mca.c cleanup - Reorder to remove the need for forward declarations and to consolidate related code [PATCH] ia64: mca.c cleanup - Bjorn's printk cleanup [PATCH] ia64: mca.c - pass irq_safe around Patches from Ben Woodward to calculate irq_safe once and pass it around. [PATCH] Remove the assumption that the number of the sibling is 2 Thanks to Nick's domain patch, the kernel worked fine with smp_num_siblings = 4 (in simulation). [PATCH] ia64: remove unused cpucount variable [PATCH] ia64: mca.c - Fix the "did we recover from MCA test" and move it up Correct the "did we recover from MCA test" and move it up a level to simplify interaction with debuggers. [PATCH] ia64: Periodically forward MCA or INIT records to user-level Periodically check for outstanding MCA or INIT records and pass them to user space salinfo. [XFS] make sure i_size_write is called under i_sem SGI Modid: xfs-linux:xfs-kern:166504a [PATCH] NUMA build fix drivers/acpi/numa.c is IA64 only for now -- enforce it. (and arch/i386/kernel/srat.c is i386 only for now) [ACPI] NUMA build fix -- NR_MEMBLKS is now NR_NODE_MEMBLKS [ACPI] delete mention of stale config option ACPI_HT_ONLY [ACPI] don't register disabled processors -- it just confuses people ia64: Based on patch by Stephane Eranian: Make fpswa version info available via /proc/efi/fpswa, rather than printing it at boot time. ia64: Fix some more warnings caused by casts used as l-values. ia64: Update defconfig ia64: Correct init_task.rbs_bot value (not that it matters). [SPARC64]: Fix exception remaining length calcs in VIS copy routines. [CPUFREQ] Fix off-by-1000 error in longhaul. Cpufreq core expects units in khz not mhz. Oops. [CPUFREQ] Remove bogus scaling from longhaul driver freqency tables. This is nonsense. We only use the lower 8 bits, so putting the useful info in the upper 8 makes no sense at all. [PATCH] open writecount scalability cleanup This is an obvious scalability improvement for write()s. We used a global lock to protect the inode writecount (updated on every open for writing) - this just makes it use the existing inode->i_lock instead. Compiles & boots fine on x86 SMP. This reverts the mmap address hint usage for now. It broke some existing setups, so let's drop it until we have a better notion of how to do this. [ACPI] clarify error message in processor.c [PATCH] acpi cpu_has_cpufreq() fix Call that function rather than evaluating its runtime address... [WATCHDOG] v2.6.2 watchdog-architecture-cleanup In order to make the watchdog menu useful for some architectures, we need to only be able to select the watchdogs that can compile. This patch also moves the SuperH watchdog from its own Kconfig file to the normal one. [WATCHDOG] v2.6.2 shwdt-cleanup Make heartbeat a module parameter and some general clean-up. [WATCHDOG] v2.6.2 watchdog-module_*-update Update MODULE_* information [WATCHDOG] v2.6.2 acquirewdt-cleanup small cleanup [WATCHDOG] v2.6.2 indydog-v0.3_update Added notifier support Moved start and stop code to their own subroutines Extended ioctl support Add MODULE_* info [WATCHDOG] v2.6.2 i8xx_tco-v0.06_update Version 0.06 of the intel i8xx TCO driver: * change i810_margin to heartbeat (in seconds) * use module_param * added notify system support * renamed module to i8xx_tco [WATCHDOG] v2.6.2 watchdog-Kconfig-patch Cleanup/Restructuring of drivers/char/watchdog/Kconfig [WATCHDOG] v2.6.2 indydog-Kconfig+Makefile-patch Apparently we ported the indydog code to the 2.5/2.6 kernel series, but we forgot to put it in the kernel configuration file + the Makefile [WATCHDOG] v2.6.2 pcwd_pci-watchdog Add the Berkshire Products PCI-PC Watchdog driver [Bluetooth] Fix several copy_to_user() and reference counting glitches This patch corrects the error handling of copy_to_user() and adds more error checks. It also fixes two reference counting bugs. Noticed by Andi Kleen [Bluetooth] Fix non-blocking socket race conditions A poll on a non-blocking listen socket signals readable too early. The first time the socket should be readable is if a child is in connected state. And don't signal writeable if the socket is in config state. Noticed by Jean Tourrilhes [WATCHDOG] v2.6.2 arch-[m68k/sparc/sparc64]-Kconfig-patch Source WATCHDOG config info from drivers/char/watchdog/Kconfig for m68k, sparc and sparc64 architectures [PATCH] ia64: Add EXPORT_SYMBOL for SN2 physical_node_map [PATCH] ia64: don't call note_interrupt() for per-CPU irqs The note_interrupt() code is racy for per-CPU irqs and causes severe performance problems due to cache-line bouncing on large SMPs. Just don't call it for that case. [PATCH] Shut up about the damn modules already... In almost all distributions, the kernel asks for modules which don't exist, such as "net-pf-10" or whatever. Changing "modprobe -q" to "succeed" in this case is hacky and breaks some setups, and also we want to know if it failed for the fallback code for old aliases in fs/char_dev.c, for example. Just remove the debugging message which fill people's logs: the correct way of debugging module problems is something like this: echo '#! /bin/sh' > /tmp/modprobe echo 'echo "$@" >> /tmp/modprobe.log' >> /tmp/modprobe echo 'exec /sbin/modprobe "$@"' >> /tmp/modprobe chmod a+x /tmp/modprobe echo /tmp/modprobe > /proc/sys/kernel/modprobe ppc32: Add CONFIG_PPC_PMAC64 when building for G5 ppc64: Start of PowerMac G5 merge, add all arch and include files ppc64: Add the Kconfig & Makefile changes related to the PowerMac G5 merge ppc64: Add some definitions relative to the G5 CPU and POWERMAC platform ppc64: Add the head.S changes to boot a PowerMac G5. Apple's OF boots us with translation enabled. Also move the copy_and_flush of the CPU holding loop to prom.c as it mustn't be called on platforms that don't boot in real mode (that space isn't always mapped) ppc64: Add support for PowerMacs in the OF client interface code (prom.c) Also move some of the init cruft into separate function to make things slightly more readable. We sill need to significantly cleanup that file, but that will come later... Properly export the OF device-tree accessors to modules ppc32: Separate definitions for known vs unknown PowerMac G5 models ppc64: Update the nvram driver to deal with PowerMac G5 This involves making the actual read/write routines be indirect through ppc_md, and adding the various nvram partition types used on a PowerMac. ppc64: Add the PowerMac PCI support This involves moving the final fixup to a function pointer in machdep, turning all the PCI DMA routines into function pointers in a separate structure and a bit of renaming work. The PowerMac currently use "direct" PCI DMA bypassing the iommu. The driver for the IOMMU will come later, allowing us to lift the limitation to 2Gb of RAM ppc64: Add the G5 (IBM 970) CPU to the cputable ppc64: Add support for PowerMac G5 interrupts ppc64: Add the feature_call function pointer to machdep ppc64: Remove duplicate (& incorrect) definition of kern_add_valid() ppc64: Add a missing isync in __hash_page, alloc hash table on PowerMac G5 ppc64: xmon breakpoints are support on PowerMac G5 too ppc64: Add support for z85c30 SCCs for low level console (PowerMac G5) This is only used with the "sccdbg" kernel command line option, as you need a special adapter (www.geethree.com) to get access to the serial port on those machines. ppc64: Call the PowerMac G5 init routines ppc64: Add CPU NAP mode in idle loop on PowerMac G5 ppc64: Add pciconfig_iobase syscall for 32 bits apps only This syscall is used by XFree to retreive the IO base of the bus where the video card is plugged. This is only implemented for compatibility with existing XFree86, I don't plan to do a 64 bits version, XFree shall be fixed to use proper PCI access methods ppc64: Add SMP support for PowerMac G5 ppc64: Switch off use of polled mode in i2c driver The secondary MPIC is now supported on ppc64, so the driver can use interrupts all the time now ppc64: fix build of pmac "mac-io" IDE driver on 64 bits kernel ppc64: fix build of ADB driver ppc64: Fix a refounting issue in macio_asic ppc64: Fix build of via-pmu driver on 64 bits kernel. ppc64: Fix break handling in pmac_zilog driver, fixes for 64 bits kernel ppc64: Add missing #include, warned on ppc32 and broke build on ppc64 ppc64: Don't build offb's code that relies on the BootX bootloader on ppc64 ppc64: Add defconfigs for pSeries and PowerMac G5 [PATCH] fix rivafb build on ppc64 rivafb is part of the g5 defconfig, but will cause a build error on ppc64 due to a missing #include, here is the fix. [ATM]: prevent userspace compilation errors with glibc-kernheaders [ATM]: [he] unconditionalize extra pci reads to flush posted writes [ATM]: [clip] delay /proc/net/atm/arp creation [PATCH] New radeonfb Here is the new radeonfb. It doesn't remove the old one, just in case, though CONFIG_FB_RADEON now builds the new one. The new driver supports recent cards, has better monitor detection, including DDC2, fixes a couple of constants in the old driver, and a lot more. I had to add an empty fb_set_suspend() function to fbmem.c (the real implementation is in James tree and will be here soon). That means that Power Management on Apple laptops isn't completely right yet until the core fbdev fixes get in, but it's good enough for now. [PATCH] Fix typo in ppc32 build The patch adding the OF platform entries had a typo ;) ppc32 needs this. ppc64: remove autogenerated file, and incorrect header inclusion Fix "bus_for_each_dev()" and "bus_for_each_drv()", which did not correctly handle the "restart from this device/driver" case, and caused oopses with ieee1394. This just uses "list_for_each_entry_continue()" instead. Add helper macro to make usage of "list_for_each_entry_continue()" a bit more readable. [PATCH] Fix a link conflict between radeonfb and the radeon DRI They both define radeon_engine_reset. Here's a fix (from Panagiotis Papadakos). [PATCH] ia64: kill misc. warnings Fix up some misc warnings: include module.h in cache.c since it uses EXPORT_SYMBOL(), fix printk format arg in sn_serial.c. [PATCH] ia64: Delete redundant ia64_mca_check_errors() salinfo automatically processes all record types on all cpus at boot time, ia64_mca_check_errors is now redundant. This also removes the need for a called_from_init flag on ia64_mca_log_sal_error_record. ia64: Drop some unneeded __KERNEL_SYSCALL__ defines (found by Dave Jones) and an unnecessary include of . [SCTP] Use __get_free_pages() to allocate ssnmap. This is needed to avoid kmalloc()'s 128K limit when an association is initialized with a large no. of streams(more than 65000 inbound + outbound streams). [SCTP] Fix SCTP_INITMSG set socket option so that a parameter with 0 value will not change its current value. ia64: Update toolchain-flags with a check for working .align inside a now that there is a fixed GAS. Bump libata, ata_piix to version 1.0. Also update copyrights for 2004. [PATCH] ia64: Correct ifdef for srat_num_cpus The definition of srat_num_cpus is wrapped in #ifdef CONFIG_ACPI_NUMA, make its usage match. [SCTP] Fix sctp_getladdrs()/sctp_getpaddrs() API so that the port value in the returned addresses is in network byte order. [ARM] Use __attribute_used__ rather than __attribute__((used)) [ARM] Allow sub-architectures to provide their own sched_clock() [PATCH] acpi numa build fix From: jbarnes@sgi.com (Jesse Barnes) Fix a missing conversion from the memblks removal. [PATCH] Fix buslogic for older gccs From: carbonated beverage Remove an anonymous struct [PATCH] selinux: Fix bugs in policy loading code From: Stephen Smalley This patch fixes a couple of bugs in the SELinux policy loading code. The first bug was reported by Magosanyi Arpad; kernel panic upon feeding the kernel a policy with an empty avtab due to cleanup code trying to free the avtab twice. The other bugs were reported by Frank Mayer; failure to properly validate certain values read from the policy. [PATCH] sh: Update defconfig From: Paul Mundt This updates the sh defconfig.. nothing horribly exciting. [PATCH] sh: Wrap fb_read/writeX() to __raw_read/writeX() From: Paul Mundt This adds sh to the list of platforms that wrap fb_readX/fb_writeX() to __raw_readX/__raw_writeX(). This is needed so that the generic fb read/write routines will wrap properly through the sh machvec and use the appropriate board-specific I/O routines. [PATCH] sh: RTC fixes From: Paul Mundt Re-read RTC registers if MSB of R64CNT was changed while reading them on SH-4 which has unreliable CF bit. Patch from SUGIOKA Toshinobu and Masaki Saitoh. [PATCH] sh: preempt safe lazy fpu handling From: Paul Mundt This updates the lazy fpu handling to be preempt safe. Patches from SUGIOKA Toshinobu and Kaz Kojima. [PATCH] sh: preempt fixes From: Paul Mundt This fixes up a number of other outstanding preemption issues in the sh backend (in addition to the ones already fixed in previous patches). Patch from Kaz Kojima. [PATCH] sh: Fix hp680 board support From: Paul Mundt This adds the missing setup code for the hp680 board. Patch from Andriy Skulysh. [PATCH] sh: hd64461 updates From: Paul Mundt This updates a number of the hd64461 cchip definitions (needed by hitfb), and also adds some additional I/O routines. [PATCH] sh: Add H8/300 support to sh-sci From: Paul Mundt This adds support for the H8/300 series to the sh-sci driver. Patch from Yoshinori Sato. [PATCH] sh: Misc build fixes From: Paul Mundt Misc build fixes.. also not horribly exciting. [PATCH] sh: hitfb updates (and accel) From: Paul Mundt This updates hitfb, and also adds basic accel support. Also as we don't need the generic cfb_copyarea anymore, we no longer link cfbcopyarea.o in at build time. [PATCH] sh: pvr2fb updates From: Paul Mundt Sanity fixes in pvr2fb_check_var() so we don't constantly report an invalid pixclock.. also fixup FB_SYNC_BROADCAST setting so this doesn't get improperly assigned in the VO_VGA case. [PATCH] Alpha: fix "extern inline" logic for core IO functions From: Ivan Kokshaysky Again... This time due to pci.h->dmapool.h->io.h included in core logic files before __EXTERN_INLINE definition. To prevent such troubles in the future, make io.h/core_xx.h included before anything else. Also, this allows to get rid of some duplicated #include's. [PATCH] swap extent merging fix From: Hugh Dickins Fix a screwup in the merging of swap extents: not only do they have to be contiguous on-disk, they have to be logically contiguous in file offset too. [PATCH] Fix fadvise() parameter checking From: Ulrich Drepper The len parameter for fadvise has a signed type and negative values passed must be rejected. The attached patch does the job. [PATCH] Suppress reiserfs page allocation wanring From: Nikita Danilov Some stage in reiserfs balancing (fix_nodes() function) has to be performed without ever scheduling. If it schedules, it has to be restarted. As we don't want to restart often, we first try to do atomic allocation, and if it fails, GFP_NOFS allocation is done, and fix_nodes() restarted. [PATCH] ppc32: boot and platform fixes From: Tom Rini From: Randy Vinson - Fixup IBM Spruce support (GEN550, general fixes and cleanups). - Forward-port the INTERACTIVE_CONSOLE bits from 2.4. - Forward-port the bootinfo code. - Add a weak get_mem_size() function. [PATCH] ppc32: Fix compilation of IBM Spruce & !CONFIG_SERIAL_TEXT_DEBUG From: Tom Rini From: Randy Vinson - Fix compilation of IBM Spruce when CONFIG_SERIAL_TEXT_DEBUG=n [PATCH] ppc32: use todc time functions for PPC_PREP From: Tom Rini - Convert PPC_PREP to using the todc_time.c functions instead of its own copy of them. [PATCH] ppc32: IBM 40x and 4xx fixes From: Tom Rini On IBM 40x and IBM 4xx (or more specifically, all Book E processors), the Save/Restor Registers 2 and 3 Critical Save and Restore Registers 0 and 1 are logically and functionally equivalent. And since the 40x is the early variant on the Book E model, make generic 4xx/BookE code refer to CSRR0/CSRR1, and map these to SRR2/SRR3 on 40x. [PATCH] ppc32: PPC4xx cleanup From: Matt Porter The following patch removes some obsolete PPC4xx platforms that Paul and I have discussed and some minor cleanup. [PATCH] ppc32: PPC44x MMU update/fixes From: Matt Porter The following patch enhances and fixes a number of bugs in PPC44x MMU handling. [PATCH] ppc32: Update IBM Spruce defconfig From: Tom Rini From: Randy Vinson - Update the IBM Spruce defconfig [PATCH] ppc64: CONFIG_PPC_PMAC implies CONFIG_ADB_PMU This avoids a link error if PPC_PMAC is set and the user forgets to set ADB_PMU. (The PMU driver is mandatory for pmac) [PATCH] ppc64: export clear_user_page Some drivers need clear_user_page, is should be exported [PATCH] Fix incorrect kfree in radeonfb I missed a kfree -> framebuffer_release() in the new radeonfb. Thanks to Luca for noticing it. [ACPI] interrupt over-ride fix from i386 (Maciej W. Rozycki) Fix broken ppc64 kernel debugger call. This turned what _should_ have been a nice easy oops into a nightmare of debugging. Kernel debuggers suck. Make G5 defconfig a bit saner. In particular, we want firewire and we do _not_ want the broken MACZILOG serial driver. [SPARC32]: Take parisc atomic_t implementation so they are full 32-bits. [SPARC32]: Stub DMA routines to fix the build. [SPARC32]: Mask PIL in local_irq operations. Also, un-inline large local_irq functions. [AX25]: Fix locking in ax25_rt_free(). Cset exclude: davem@nuts.davemloft.net|ChangeSet|20040212080313|45938 [PATCH] Fix ppc64 build problem From: Paul Mackerras Recent changes in include/linux/*.h meant that likely() isn't defined here (since we don't set __KERNEL__), and thus we don't get some prototypes and we can't use do_div. This fixes the resulting compile errors and warnings. Remove %L handling from sprintf - we don't need it, and it meant we needed do_div from asm/div64.h, which gives problems when __KERNEL__ isn't defined. Also add a prototype for strlen to kill a warning. [PATCH] add thread_info to oops output - Add thread_info to pointer, its a useful piece of information. - Do the kallsyms lookup on the link register - Remove extra newline on one call to die() [PATCH] various xmon cleanups Heres a patch I've had for a while, it removes a bunch of debugger code which is good :) The next patch will sanitise it (and the rest of the debugger hooks). Various xmon cleanups - recover from bad SPR read/write (we get a program check) - remove some old code (bat and segment register stuff) - update the help text to match reality - add a "press ? for help" when xmon first appears to make rusty happy - protect against flushing bad parts of memory from Milton - dont print iseries specific stuff on pseries in SPR dump (S) - add code to dump the segment table or SLB - remove a number of functions that wouldnt work on LPAR [PATCH] cleanup debugger hooks Theres still more to do here, but at least the ifdef mess is gone. No more checking for NULL before calling functions, that was playing with fire. Oh yeah and lots more deletions :) Clean up the debugger hooks, it was way too easy to screw up. And we did. And Linus hit it. - create CONFIG_DEBUGGER so we can enable kernel debugging options but not have any trace of debugger gunk. - remove a bunch of xmon prototypes so no one gets the urge to call them - Use die() instead of panic in a number of places, it gives us much better debug information. - Get rid of the ifdef madness [PATCH] back out fbdev sysfs support This backs out James' sysfs support for fbdev again. It introduces a big, race for every driver not converted to framebuffer_{alloc,release} (that is every driver but Ben's new radeonfb). I've left in framebuffer_{alloc,release} as stubs so drivers can be converted to it gradually and once all drivers are done it can be enabled again. Remove stale "xmon.h" include. [ARM] Fix couple of compiler warnings: arch/arm/kernel/time.c: Fix time_before type warning. arch/arm/common/amba.c: Fix snprintf compiler warning. Cset exclude: jgarzik@redhat.com|ChangeSet|20040213172720|60184 [ARM] Add DMA mask for SA11x0 MCP device [ARM] Improve help for CONFIG_ARM_THUMB [PATCH] fix FB_RADEON_I2C dependency Thus fixes the weird kconfig message "optimize || ?", it's an old debug check and is triggered by the unusual dependency. It's not incorrect, but the solution below is better and it's the same FB_MATROX_I2C already uses. I'll send a fix for the kconfig message later. Linux 2.6.3-rc3 [Bluetooth] Revert reference counting fixes The RFCOMM TTY code don't leak reference counting, because the TTY layer will call the ->close() method even if open fails and the reference count is decreased there. Patch from David Woodhouse [PATCH] Sparc no longer F*cked Up From: Keith M Wesolowski As of 2.6.3, restore_flags will no longer modify cwp on sparc. Therefore you can apply this patch to the locking guide. [ Indeed. I'll also remove the atomic comments from Hacking Guide as part of my revision there when I get back to it. --RR ] [PATCH] Remove debug cruft from via-pmu.c driver [PATCH] Fix Oops & warning on PPC in rivafb Independently from the other fbdev updates I'm cooking (some of them will be in your mailbox rsn), this fixes an error in parameter passing to a function in rivafb (only used on ppc) that could cause an oops and definitely causes a warning at compile time. [PATCH] shield fbdev operations with console semaphore This fixes the fbdev ioctl's and fbcon cursor management with the console semaphore, which is the best we can do at this point in 2.6, thus fixing a bunch of races where we could have, for example, tried to blit while changing mode, etc.. [PATCH] Fix fbdev pixmap locking This removes the broken locking code in the pixmaps, and rewrite the buffer access function to properly call fb_sync when needed. The old broken loocking is useless as we are covered by the console semaphore in all cases hopefully (except if I missed one :) [PATCH] Update aty128fb video driver This updates the aty128fb driver. It adds more PCI IDs, uses the new framebuffer alloc/release functions, make BIOS PLL data access more reliable (using ROM whenever possible, with a fallback to RAM BIOS image), cleanup the Power Management stuff (get rid of PowerMac specific stuffs, use real PCI ones instead), along with some style cleanups [PATCH] fbdev state management This adds some "state" information for power management to fbdev's, along with a notifier mecanism to inform clients of state changes. It also "uses" this mecanism in the function fb_set_suspend() which was an empty placeholder previously, and "shields" various places that access the HW when state isn't running. (It's best to not call them in the first place, but the current state of fbcon makes that _very_ difficult) [PATCH] fbcon notified of suspend/resume This makes fbcon ask for notification of events from fbdev to deal with suspend/resume (stop cursor on suspend, refresh screen on resume). Could probably do more (like dealing better with the cursor timer), but this simple implementation works fine enough for now. [PATCH] Missing initialization code for old radeon driver You can still build the old driver, but it doesn't work unless you also enable it like this.. Fix new radeon clock calculation. From Peter Osterlund This code only ends up being used when all else fails, so probably very few people actually ever saw this. Fix user-visible typo in printk. Somebody has been watching lord of the rings a bit too much.. "My precioussssss.." [PATCH] fix radeonfb "noaccel" command line Fix proper detection of the "noaccel" command line argument for new radeonfb so we can boot without acceleration. Useful when diagnosing an accel-related problem. Fix radeonfb to use the proper BIOS reference divider for flat-panel displays. From: Benjamin Herrenschmidt [PATCH] Update mac network drivers This should merge up the final piece of the ppc32/64 saga: the mac PowerMac MACE and Airport network drivers. Both of them are ported to the mac-io infrastructure, all probe code rewritting & cleaned up, better error handling & resource management. [PATCH] radeonfb: limit ioremap size & debug output This adds a limit on how much of the framebuffer is ioremap'ed by radeonfb, thus enabling it to work with 128Mb VRAM or more on an x86 with 900Mb of lowmem in the linear mapping. It also adds a significant amount of debug messages and adds a CONFIG option to enable the debugging output, that should help with diagnosing new problems. Among others, it dumps the connector info as I understand them (so far, they give "strange" informations on laptops, I need more data on more various laptops to see if there's a pattern I can really use to figure out on which connector the LVDS is) Regarding the "lid closed at boot", ultimately, we may want to default to the VGA output in those cases, though I'm not sure what logic to use here. Maybe we could standardize some way for the platform to provide this "environment" information to the driver, but i wouldn't rely on it. More reliably, if we can find out that there is an LVDS output, and LVDS is disabled, just ignore the flat panel... We could assume any mobility chip has LVDS, which is true, but that would still cause a problem for laptops with an additional DVI output (only Macs so far afaik). [PATCH] Update platinumfb driver This updates the PowerMac-only platinumfb driver to use the new mac-io device infrastructure. It also switch allocation to the new framebuffer_alloc/release and fix a couple of bugs. [PATCH] fix ppc64 LPAR This fixes pSeries LPAR (logical partitioned) machines. We weren't initialising the pci_dma_ops stuff. [PATCH] SELinux: context mount support - LSM/FS From: James Morris This series of patches adds support for SELinux 'context mounts', which allows filesystems to be assigned security context information at mount time. For example, some filesystems do not support extended attributes (e.g. NFS, vfat), and this feature allows security contexts to be assigned to them on a per-mountpoint basis. It is also useful when the existing labeling on a filesystem is untrusted or unwanted for some reason (e.g. removable media), and needs to be overridden with a safe default. The first patch below consists of infrastructure changes to the kernel: - A new LSM hook has been added, sb_copy_data, which allows the security module to copy security-specific mount data once the superblock has been setup by the filesystem. - The sb_kern_mount hook has been modified to take this security data as a parameter, and would typically be used at that point to configure the security parameters of the filesystem being mounted. - Allocation and freeing of the security data has been implemented in the core fs code as it is cleaner than trying to do it purely via LSM hooks, and should make maintenance easier. This code will be compiled away if LSM is not enabled. [PATCH] SELinux: context mount support - NFS From: James Morris This patch modifies the kernel's NFS mount data structure to include SELinux context mount data. It allows NFS fileystems to be labeled on a per-mountpoint basis, and should not affect existing versions of userspace mount. (A patch to the userspace mount code is available at http://people.redhat.com/jmorris/selinux/context_mounts/) [PATCH] SELinux: context mount support - SELinux changes. From: James Morris This patch implements context mount support within SELinux. Three new mount options are provided: context=%s Label the entire filesystem with the specified security context during mount and change the labeling behavior to 'mountpoint labeling'. The /proc/self/attr/fscreate attribute will be ignored for file creation on the filesystem, although policy-specified transitions will still work normally. This also sets the aggregate filesystem security context. fscontext=%s Set the label of the aggregate filesystem to the specified security context, so that SELinux policy controls over the filesystem itself may be reinstated. Only works for filesystems without EA labeling support, and is not valid if 'context' has been specified. defcontext=%s Set the default security context for files created in this filesystem to the specified security context (as opposed to the current global default). Only works for filesystems without EA labeling support, and is not valid if 'context' has been specified. To set the context or fscontext options, the security policy must specify appropriate permissions for the filesystem relabelfrom and filesystem relabelto controls. For the defcontext option, the filesystem relablefrom and filesystem assoicate controls are invoked. The security mount options are parsed out and stripped from the normal mount option data so that no normal filesystems need to be aware of them. Filesystems with binary mount option data (e.g. NFS, SMBFS, AFS, Coda) need to be handled as special cases: only NFS is supprted at this stage per the previous patch. [PATCH] devfs do_mount fix From: James Morris devfs is passing an empty string to do_mount when it expects a page. [PATCH] selinux: Allow non-root processes to read selinuxfs enforce node From: Stephen Smalley This patch changes the mode bits on the selinuxfs enforce node so that non-root processes can read it. This is necessary to allow non-root userspace policy enforcers to check the enforcing flag upon a permission failure as well. A process must still have the appropriate SELinux permission in order to read the node. [PATCH] selinux: mark avc_init with __init From: James Morris The avc_init function is only called during kernel init, so it can be marked with __init. [PATCH] SELinux: Fix error handling bug. From: James Morris The patch below fixes an error handling flaw, where we need to return a Netfilter verdict from the function rather than a standard error code. [PATCH] Small typo in aty128fb This fixes a small merge error in aty128fb resulting in a compile failure. Fix link error with RADEON_DEBUG and !RADEON_I2C. [PATCH] fix OOPS on non-DMA IDE hosts with CONFIG_BLK_DEV_IDEDMA=y From: Glenn Wurster [PATCH] ide-tape: fix "sleeping function called from invalid context" From: Willem Riede [PATCH] ide-tape: warn about soon to be removed OnStream support I see only pros of removing OnStream support: - SCSI osst.c driver is actively maintained by Willem Riede - there is no functionality loss (OnStream IDE drives don't support DSC) - ide-tape.c driver is too ugly & complicated even without OnStream support - long term benefits (2.7.x plans on unifying storage drivers) [PATCH] remove ide_dma_{good,bad}_drive from ide_hwif_t Use __ide_dma_{good,bad}_drive() directly and remove these wrappers. [PATCH] remove __ide_dma_count() and ide_hwif_t->ide_dma_count ->ide_dma_count() was introduced in kernel 2.5.35 and was meant to add support for host FIFO counters (for VDMA), but is only a wrapper for ->ide_dma_begin() (even for siimage.c b/c SIIMAGE_VIRTUAL_DMAPIO is undefined). Moreover it should be possible to add VDMA code directly to ->ide_dma_begin(). [PATCH] make __ide_dma_off() generic and remove ide_hwif_t->ide_dma_off Move ide-dma.c:__ide_dma_off() outside of #ifdef CONFIG_BLK_DEV_IDEDMA_PCI, so it can be used for all DMA capable hosts. Remove ide_hwif_t->ide_dma_off. [PATCH] Fix rtasd zombie on PowerMac G5 The rtasd kernel thread would exit before daemoniz'ing itself if RTAS wasn't present (or if allocation of the buffer failed), thus leaving a zombie. This patch fixes it (and remove #if 0'ed code) Revert the dodgy ia64 serial console changeset by Bjorn Helgaas. It results in serial console getting initialised really late and the suggested workaround is broken according to Keith. Cset exclude: akpm@osdl.org|ChangeSet|20040213234712|28554 [PATCH] Fix building both old & new radeonfb's This fixes the build of "allyesconfig", old and new radeonfb's would collide on some symbols. [PATCH] ppc32: Fix MPC82xx thinko From: Tom Rini Replace MSR_, which is gone now, with the value it used to be. Required to get the MPC82xx platforms compiling again. [PATCH] ppc32: Fix MPC82xx UARTs From: Tom Rini Hello. The following patch is all that is required to get current 2.6 to compile and work on MPC82xx platforms. [PATCH] Fix ppc compile problem with gcc 3.4 There's an incorrect redefinition extern/static in prep_pci. Just remove it. Linux 2.6.3-rc4 [SPARC64]: Add symbols to show_stack, and make oops stack output work [PATCH] small fbmem.c fix The platinum framebuffer is repeated twice. Removed one of them. [SPARC64]: Fix non-PCI build, reported by David Dillow. [SPARC64]: Fix warnings on non-PCI build. [SPARC64]: Fix build with sysctl disabled. [NETFILTER]: Fix signedness overflow in ip{,6}_tables.c Bug discovered by Olaf Kirch. [PATCH] fix build with CONFIG_BLK_DEV_IDEDMA=n (once again) My "__ide_dma_off()" cleanup uncovered some code that shouldn't be compiled when CONFIG_BLK_DEV_IDEDMA=n. Fix it and kill a warning in setup-pci.c. Noticed by Martin Diehl . [PATCH] mremap NULL pointer dereference fix This is a cleaned-up version of a mremap() fix for "move_one_page()" by Rajesh Venkatasubramanian . We could use a NULL "src" pointer. Because while we do hold the MM semaphore over the whole sequence, the destination page table allocation will possibly drop the page table spinlock. That in turn can cause a clean source page to be stolen by page reclaim, causing the source-side "get_one_pte_map_nested()" to return NULL the second time around even if it didn't on the first case. So we just check "src" again, and get rid of the bogus TLB invalidate while we're at it. [PATCH] fix ia64 build failure The attached trivial patch should fix the "i1-dig" build failure reported on this page: http://www.gelato.unsw.edu.au/kerncomp/ and should make it easier to build a properly configured ia64 kernel. [PATCH] Fix fencepost error in x86_64 IOMMU There's a fencepost error in the GART IOMMU handling on x86_64 in the unmap path. When testing to see if the bus address is within the IOMMU window and needs to be unmapped, the start of the first page *beyond* the window also passes the test. This can cause the first doubleword of the next page beyond the gatt table to be smashed to zero, with unpredictable results depending on what that page is used for. [PATCH] cifs: kunmap_atomic() takes a kernel address kunmap_atomic() takes a kernel-virtual address, not a pageframe address. (Very common problem. We really should make the atomic kmap functions type-safe). [PATCH] blkdev_put() data corruption We used to have sync_blockdev() on each normal (== non-raw) blkdev_put() + kill_bdev() on the final blkdev_put(). That worked fine until we'd moved sync_blockdev() to the final blkdev_put(). Now we have a nasty scenario: open block device open raw device write on block device # data ends up in cache close block device # no sync here, we still have the sucker opened close raw device # no sync here either # ... and cache is killed by kill_bdev() IOW, if we postpone sync to final close, we must do it regardless of kind of close. Otherwise we are in for data corruption and yes, it is easy to trigger. Fix is obvious... [PATCH] Avoid bogus warning about recursive dependencies This allows us to do something like config FB_RADEON select I2C_ALGOBIT if FB_RADEON_I2C where FB_RADEON_I2C itself depends on FB_RADEON without getting a bogus warning about recursive dependencies. This matters because the select takes the default minimum dependancy from the parent menu, so we want to do this under FB_RADEON rather than under FB_RADEON_I2C (so that the I2C_ALGOBIT config depends properly on the state of FB_RADEON) Fix the dependency chain for I2C_ALGOBIT from the FB drivers that need it. This allows us to have I2C as a module iff the FB driver that needs it is a module. [PATCH] Fix radeon warning on 64-bit platforms Disable the RADEON_PARAM_SAREA_HANDLE ioctl on 64-bit architectures, since it is only used on some embedded platforms, and it isn't 64-bit safe. [PATCH] Tuner bugfix From: Neal Stephenson In 2.6.2, I noticed that my modprobe.conf line for tuner "options tuner type=2" no longer worked. It even failed with insmod "insmod tuner.ko type=2". dmesg reported vmunix: tuner: chip found @ 0xc0 vmunix: tuner: type set to 19 (Temic PAL* auto (4006 FN5)) vmunix: tuner: type forced to 19 (Temic PAL* auto (4006 FN5)) [insmod] I noticed that the a line had been removed from 2.6.1 and when it is added everything works again. Linux 2.6.3