2.6.12 long-format changelog
Summary of changes from v2.6.11 to v2.6.12-rc1 ============================================== <rene.herman@keyaccess.nl> [PATCH] 8139too Interframe Gap Time <shemminger@osdl.org> [PATCH] 8139too: use netdev_priv Use netdev_priv where appropriate, and get rid of "can't happen anymore" assert's. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> <viro@www.linux.org.uk> [PATCH] wireless iomem annotations and fixes, switch to io{read,write} hermes.c switched to ioread/iowrite from homegrown analogs, its users updated. Fixed direct dereferencing of ioremapped memory in orinoco_plx. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> <viro@www.linux.org.uk> [PATCH] fealnx iomem annotations, switch to io{read,write} Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> <akpm@osdl.org> [PATCH] rtl8139too.c: Fix missing pci_disable_dev From: Thomas Gleixner <tglx@linutronix.de> Simple fix to make pci_enable/disable symetric and avoid the warning on module unload. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <tglx@linutronix.de> [PATCH] rtl8139too.c: Fix missing pci_disable_dev Simple fix to make pci_enable/disable symetric and avoid the warning on module unload. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <sfrench@sambaltcdom.austin.ibm.com> check rc of copy_to_user (pointed out by John Cherry) fix wsize mount parm so it works to control writes allow reads bigger than 64K (although Samba does not handle them yet). Signed-off-by: Steve French (sfrench@us.ibm.com) <sfrench@sambaltcdom.austin.ibm.com> [CIFS] Fix set of mount option rsize so it can be set above negotiated buffer size. Signed-off-by: Steve French (sfrench@us.ibm.com) <sfrench@sambaltcdom.austin.ibm.com> [CIFS] Enable reads over 64K by setting large read and write capability at SMB session negotiation Signed-off-by: Steve French (sfrench@us.ibm.com) <stevef@smfhome.smfdom> [CIFS] Fix whitespace Signed-off-by: Steve French (sfrench@us.ibm.com) <stevef@stevef95.austin.ibm.com> [CIFS] Fix default mode on cifs module parms in sysfs Pointed out by Domen Puncer Signed-off-by: Steve French (sfrench@us.ibm.com) <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] smc-mca iomem annotations and isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] smc-ultra iomem annotations + isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] smc-ultra32 iomem annotations + isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] wd iomem annotations + isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] ewrk3 iomem annotations + isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] es3210 iomem annotions and isa-ectomy switched to ioremap + normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <domen@coderock.org> [PATCH] arcnet: remove casts Remove casts of (void *) pointers. drivers/net/arcnet/arc-rawmode.c | 4 ++-- drivers/net/arcnet/arc-rimi.c | 14 +++++++------- drivers/net/arcnet/arcnet.c | 30 +++++++++++++++--------------- drivers/net/arcnet/com20020.c | 6 +++--- drivers/net/arcnet/com90io.c | 4 ++-- drivers/net/arcnet/com90xx.c | 8 ++++---- drivers/net/arcnet/rfc1051.c | 8 ++++---- drivers/net/arcnet/rfc1201.c | 12 ++++++------ 8 files changed, 43 insertions(+), 43 deletions(-) Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <dave@thedillows.org> Enable bus mastering before saving our state, or we'll only be able to load the modules one time. Signed-off-by: David Dillow <dave@thedillows.org> <dave@thedillows.org> Teach typhoon to use port IO on machines that need it. It will attempt to use MMIO, but if that fails (or the user asks), it will fallback to port IO. Signed-off-by: David Dillow <dave@thedillows.org> <dave@thedillows.org> Use module_param() and add descriptions. Signed-off-by: David Dillow <dave@thedillows.org> <dave@thedillows.org> Fixup the version reporting to match 3Com. Signed-off-by: David Dillow <dave@thedillows.org> <dave@thedillows.org> Version 03.001.008 of the Typhoon firmware, courtesy of 3Com. Fixes various crypto bugs on the 3CR990B family, among other issues. Signed-off-by: David Dillow <dave@thedillows.org> <dave@thedillows.org> Bump version and release date. Signed-off-by: David Dillow <dave@thedillows.org> <kaos@ocs.com.au> kallsyms: gate page patch breaks module lookups >Your recent patch looks to break module kallsyms lookups.... >It looks like if CONFIG_KALLSYMS_ALL is set then we never look up module >addresses. Separate lookups for kernel and modules when CONFIG_KALLSYMS_ALL=y. Signed-off-by: Keith Owens <kaos@ocs.com.au> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <domen@coderock.org> [PATCH] net/act2001-sir: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/irtty-sir: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/ma600-sir: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/xirc2ps_cs: replace Wait() with msleep() Any comments would be appreciated. Description: Use msleep() instead of Wait() to guarantee the task delays as expected. Remove definition of Wait(). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/sir_dev: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/ni65: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/ns83820: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/tekram-sir: replace schedule_timeout() with msleep() Any comments would be appreciated. Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> <domen@coderock.org> [PATCH] net/ewrk3: replace schedule_timeout() with msleep_interruptible() Any comments would be, as always, appreciated. -Nish Description: Uses msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> <shaggy@austin.ibm.com> JFS: base static allocations on physical memory size On larger systems, performance is improved with a larger allocation of tlocks & tblocks. Base the default size of these allocations on the physical memory size. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <dale@farnsworth.org> [netdrvr mv643xx] This patch removes code that is redundant or useless. The biggest area is in pre-initializing the RX and TX descriptor rings, which only obfuscates the driver since the ring data is overwritten without being used. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch removes spin delays (count to 1000000, ugh) and instead waits with udelay or msleep for hardware flags to change. It also adds a spinlock to protect access to the MV64340_ETH_SMI_REG, which is shared across ports. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch fixes the code that enables hardware checksum generation. The previous code has so many problems that it appears to never have worked 2.6. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch replaces the use of the pci_map_* functions with the corresponding dma_map_* functions. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch adds device driver model support to the mv643xx_eth driver. This is a change to the driver's programming interface. Platform code must now pass in the address of the MV643xx ethernet registers and IRQ. If firmware doesn't set the MAC address, platform code must also pass in the MAC address. Also, note that local MV_READ/MV_WRITE macros are used rather than using global macros. Keeping the macro names minimizes the patch size. The names will be changed to mv_read/mv_write in a later cosmetic cleanup patch. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch adds support for passing additional parameters via the platform_device interface. These additional parameters are: size of RX and TX descriptor rings port_config value port_config_extend value port_sdma_config value port_serial_control value PHY address Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch makes the use of the MV64340_RX_QUEUE_FILL_ON_TASK config macro more consistent, though the macro remains undefined, since the feature still does not work properly. Signed-off-by: Steven J. Hill <sjhill1@rockwellcollins.com> Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] This patch simplifies the mv64340_eth_set_rx_mode function without changing its behavior. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <sfrench@sambaltcdom.austin.ibm.com> [CIFS] remove old cifs_readdir routine Signed-off-by: Steve French (sfrench@us.ibm.com) <sfrench@sambaltcdom.austin.ibm.com> [CIFS] get rid of tcp peek usage on cifs socket. Makes more sense to read normally first four bytes off the socket (then read the rest of the frame) rather than peek first few bytes then read because we were having to retry the peek multiple times when peek would return less than four bytes and four bytes is the minimum we ever get. Signed-off-by: Steve French (sfrench@us.ibm.com) <sfrench@sambaltcdom.austin.ibm.com> [CIFS] Fix length check for short smbs in cifs demultiplexing and remove unneeded debug messages Signed-off-by: Steve French (sfrench@us.ibm.com) <perex@suse.cz> ALSA CVS update PCM Midlevel Sumary: Fix comment of snd_pcm_lib_malloc_pages() Fixed comment of snd_pcm_lib_malloc_pages() by Kirill Smelkov <kirr@mns.spb.ru>. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix typos in doc Documentation Fixed typos in the document by Kirill Smelkov <kirr@mns.spb.ru> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] fix typo Documentation Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix struct alignment on PPC64 IOCTL32 emulation Fixed the struct size mismatch (due to alignment) of snd_ctl_elem_value_t for PPC64. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add missing FORWARD ioctl IOCTL32 emulation Added the missing FORWARD ioctl. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix struct size mismatch IOCTL32 emulation Fixed the struct size mismatch - should work on SPARC64 now, too. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Show firmware loading state in proc file Digigram VX core Show the firmware loading state in proc file. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix compilation on big-endian arch RME HDSP driver Fixed typo in the code for big-endian architectures. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] AC'97 Audio support for Intel ICH7 Intel8x0 driver This patch adds the ICH7 AC'97 DID the the intel8x0.c AC'97 audio driver. This patch was build against 2.6.11-rc1. Signed-off-by: Jason Gaston <Jason.d.gaston@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix silent output on some machines with AD1981x codecs AC97 Codec Fixed the default state of 'Headphone Jack Sense' switch on AD1981x codecs. Setting this on affects the output of some machines (e.g. Thindpads). The default value is set on only hardwares which are known to work. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] don't use broken legacy interfaces on M-Audio Quattro/Omnistudio USB generic driver Interfaces 0-2 of M-Audio Quattro/Omnistudio devices duplicate functionality of interfaces 3-5 and cause errors when used with those. Add a quirk to tell the driver not to use them. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] AK4117 code - fixed cosmetic typos AK4117 receiver Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Add support for Chaintech 9CJS ICE1712 driver Added the support for Chaintech 9CJS by Delmaire Maxime. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add workaround for buggy ATI IXP hardwares ATIIXP-modem driver Added a workaround for buggy ATI IXP hardwares which returns bogus DMA pointer register value. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add missing inclusion of linux/device.h Digigram VX core,Digigram VX222 driver,Digigram VX Pocket driver Added the missing inclusion of <linux/device.h> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Simplify the general ac97 volume/switch callback AC97 Codec Simplified the control callbacks of general AC97 volumes/switches. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add quirk for HP pavilion ZV5030US ATIIXP driver Added ac97 quirk for HP Pavilion ZV5030US to bind the control with mute-LED. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add quirk for HP nc8000 Intel8x0 driver Added ac97 quirk for HP nc8000. The list is sorted again. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Enable HP jack sense for FSC Scenic-W AC97 Codec Enable 'Headphone Jack Sense' control on FSC Scenic-W as default, too. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add Intel HDA driver Documentation,PCI drivers,HDA generic driver,HDA Codec driver HDA Intel driver Added a new Intel High-Definition audio driver. The driver consists of two separate modules: the generic support module for HD codecs (snd-hda-codec), and the driver for Intel ICH6/7 chipset (snd-hda-intel). The snd-hda-intel was called formerly snd-azx in the ALSA 1.0.8 rlease. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] unlocked/compat_ioctl rewrite for control API Control Midlevel ioctl handler for control API is rewritten using unlocked/compat_ioctl. The 32bit wrapper is merged to the core module. Added a new register/unregister function for compat control ioctls. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] unlocked/compat_ioctl rewrite for PCM API PCM Midlevel The ioctl handler for PCM API is rewritten using unlocked/compat_ioctl. The 32bit wrapper is merged to the core module. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] unlocked/compat_ioctl rewrite for hwdep, rawmidi, timer and sequencer API HWDEP Midlevel,RawMidi Midlevel,Timer Midlevel,ALSA sequencer The ioctl handler for hwdep, rawmidi, timer and sequencer API are rewritten using unlocked/compat_ioctl. The 32bit wrapper is merged to the core module. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] unlocked/compat_ioctl rewrite for OSS compatible drivers ALSA<-OSS emulation,ALSA<-OSS sequencer The ioctl handlers for OSS compatible drivers are rewritten using unlocked/compat_ioctl. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Export new register/unregister functions ALSA Core Export new register/unregister functions for compat control-ioctls. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Remove snd-ioctl32 entry ALSA Core Remove the entry for snd-ioctl32. The 32bit wrapper is built in the core module. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Use DEFINE_SPINLOCK(), DEFINE_RWLOCK() macros ALSA Core,PCM Midlevel,Timer Midlevel,ALSA sequencer ALSA<-OSS sequencer Replace spin/rwlock definitions with DEFINE_SPINLOCK() and DEFINE_RWLOCK() macros. Signed-off-by: Takashi Iwai <tiwai@suse.de> <shaggy@austin.ibm.com> JFS: fix livelock waiting for stale metapage Several waitors were keeping mp->count from going to zero, so we would never release the page. Simplify the logic by doing a busy wait without locking the metapage. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <shaggy@austin.ibm.com> JFS: add missing include This is why it's a good idea to compile & test before checking in the code. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <shaggy@austin.ibm.com> JFS: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE; however, it does not check for signals, so I do not think the change to msleep() is necessarily bad. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <perex@suse.cz> [ALSA] remove obsolete sound/core/ioctl32 directory The compatibility layer is integrated to ALSA midlevel code now. <acme@toy.ghostprotocols.net> [SOCK] make sk_alloc use kmalloc for non performance critical families With this we can have aggregate protocol specific struct proto_sock allocated for non performance critical protocols. We still check for slab == NULL && zero_it == 1 to allocate from the generic "sock" slab cache, but this will be removed when all the network families stop using sk_protinfo, when the generic "sock" slab cache will be removed. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [APPLETALK] stop using sk_protinfo Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [DECNET] Don't use sk_protinfo + private sock slab cache DecNET already uses a private sock slab cache, but initializes sk->sk_protinfo, pointing to (sk + 1), this is wrong because at sk_free time we call sk->sk_destruct, that by default points to sock_def_destruct, that does a kfree on sk->sk_protinfo, since it was initialized at net_proto_family->create() time (dn_create), but in decnet sk_protinfo was not kmalloced, it was allocated piggybacked to struct sock. This doesn't causes problems because decnet sets sk->sk_destruct to a custom function that doesn't calls kfree(sk->sk_protinfo), but to reach a long time goal of killing sk_protinfo lets just make DN_SK return sk + 1. I left merging dn_scp with dn_sock for later, as the current state suits my needs to introduce connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [AF_PACKET] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [ECONET] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [NETLINK] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [X25] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [PF_KEY] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [LLC] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [IRDA] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [PPPOX] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <acme@toy.ghostprotocols.net> [ATM] stop using sk_protinfo Required to introduce struct connection_sock. Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br> Signed-off-by: David S. Miller <davem@davemloft.net> <sfrench@sambaltcdom.austin.ibm.com> [CIFS] misc cleanup - compare pointers to NULL not zero Signed-off-by: Steve French (sfrench@us.ibm.com) <perex@suse.cz> [ALSA] add more Yamaha USB MIDI quirks USB generic driver add support for Yamaha UC-MX, UC-KX, CLP-175, SPX2000 Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix usage of preprocessor directive inside macro HDA Intel driver gcc-2 complains about preprocessor directives inside a macro argument list Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Warning doc about VIA82xx recording Documentation Add warning about the consequences of adjusting the 'Input Source Select' of VIA82xx. Signed-off-by: Ross Kendall Axe <ross.axe@blueyonder.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Special AC97 patch for ASUS W1000/CMI9739 laptop AC97 Codec This patch fixes sound output on the ASUS W1000 laptop with the CMI9739 chip. It wrongly reports that it has a SPDIF in, when in fact we wish to use the EAPD pin. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace schedule_timeout() with msleep() RawMidi Midlevel Use msleep instead of schedule_timeout() to guarantee the task delays as expected. This also removes a dependence on the value of HZ. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace schedule_timeout() with msleep() Digigram VX core Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] insert set_current_state() before schedule_timeout() GUS Library Insert set_current_state() before schedule_timeout(). Without the insertion, schedule_timeout() returns immediately. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace schedule_timeout() with msleep_interruptible() GUS Library Use msleep_interruptible() instead of custom wait code involving schedule_timeout() to guarantee the task delays as expected. This also removes a dependence on the value of HZ. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] insert set_current_state() before schedule_timeout() Wavefront drivers Insert set_current_state() before schedule_timeout(). Without the insertion, schedule_timeout() returns immediately, resulting in an effective busy-wait. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace schedule_timeout() with msleep() EMU8000 driver Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Takashi Iwai <tiwai@suse.de> <stevef@stevef95.austin.ibm.com> [CIFS] Add support for updating Windows NT times/dates (part 1) Signed-off-by: Steve French (sfrench@us.ibm.com) <perex@suse.cz> [ALSA] Removed file added by mistake Removed include/sound/version.h~ <dfarnsworth@mvista.com> [netdrvr mv643xx] This patch cleans up the handling of receive skb sizing. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] With this patch, the driver now calls netif_carrier_off/netif_carrier_on on a link down/up condition. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] Add support for PHYs/boards that don't support autonegotiation. Signed-off-by: Brian Waite <brian@waitefamily.us> Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] This one liner removes a spurious left paren fixing an obvious syntax error in the #ifndef MV64340_NAPI case <dfarnsworth@mvista.com> [netdrvr mv643xx] Add a function to detect at runtime whether a PHY is attached to the specified port, and use it to cause the probe routine to fail when there is no PHY. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] Run mv643xx_eth.[ch] through scripts/Lindent Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] Additional whitespace cleanups, mostly changing spaces to tabs in comments <dfarnsworth@mvista.com> [netdrvr mv643xx] Rename MV_READ => mv_read and MV_WRITE => mv_write Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dfarnsworth@mvista.com> [netdrvr mv643xx] Big rename. Change MV64340 => MV643XX and mv64340 => mv643xx Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <nacc@us.ibm.com> [PATCH] net/cs89x0: replace schedule_timeout() with msleep() Hi, Description: The existing wait is in TASK_INTERRUPTIBLE, but does not check for signals (especially problemtic for a 30 msec wait!) as being a cause for schedule_timeout()s return. Use msleep() instead, to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <nacc@us.ibm.com> [PATCH] net/airo: replace schedule_timeout() with msleep()/ssleep() Hi, Description: Use msleep()/ssleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <nacc@us.ibm.com> [PATCH] net/cosa: replace schedule_timeout() with msleep() Hi, Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Also uses the set_current_state() macro instead of direct assignment in a pair of spots. I am still concerned about those sleeps, as TASK_INTERRUPTIBLE() is used without any checking for signals. Hence I used msleep() for the longer delay. Perhaps the 30 jiffy delay has not been updated for the larger HZ values and thus could be changed to msleep(300). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <brazilnut@us.ibm.com> [PATCH] pcnet32: 79c976 with fiber optic fix After testing this patch I agree that it should be applied. The one change I made was to print the device name (ethN) instead of 'pcnet32'. Tested ia32. From: Guido Guenther <agx@sigxcpu.org>, Lars Munch <lars@segv.dk> Skip PHY selection on Allied Telesyn 2701FX, it looses the link otherwise. Fix up the AT 2700FX as well. Signed-Off-By: Guido Guenther <agx@sigxcpu.org> Signed-off-by: Andrew Morton <akpm@osdl.org> signed-off-by: Don Fry <brazilnut@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] ibmtr 1/2: iomem annotations - trivial part Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] ibmtr 2/2: ibmtr annotations - the rest The rest of annotations and cleanup: ->sram_virt abuse removed, we have separate ->sram_phys now (not remapped) and keep ->sram_virt an iomem pointer. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <webvenza@libero.it> [PATCH] sis900: add infrastructure needed for standard netif messages Infrastructure needed for standard netif messages - add msg_level to sis900_private - define default msg level - set default value for sis900_debug Update module parameter description Ethtool support for debugging output level Signed-off-by: Daniele Venzano <webvenza@libero.it> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <webvenza@libero.it> [PATCH] sis900: version bump; remove broken URL Version bump Remove broken link to documentation Signed-off-by: Daniele Venzano <webvenza@libero.it> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <webvenza@libero.it> [PATCH] sis900 printk audit Change priority of printk where appropriate Remove two cryptic and useless printk Signed-off-by: Daniele Venzano <webvenza@libero.it> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <webvenza@libero.it> [PATCH] sis900: debugging output update Add some init debugging printk Use netif_msg macros before printing debug messages Signed-off-by: Daniele Venzano <webvenza@libero.it> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <webvenza@libero.it> [PATCH] sis900: chiprev i/o cleanups Chip revision is now a member of sis_priv structure Kill all calls to pci_read_config_byte but one Change the code to use sis_priv->chipset_rev Signed-off-by: Daniele Venzano <webvenza@libero.it> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <klassert@mathematik.tu-chemnitz.de> [PATCH] Use netdev_priv in the 3c515 driver Use netdev_priv in the 3c515 driver. Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <klassert@mathematik.tu-chemnitz.de> [PATCH] Add MODULE_VERSION to the 3c515 driver Add MODULE_VERSION to the 3c515 driver. Signed-off-by: Steffen Klassert <klassert@mathematik.tu-chemnitz.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] sk_mca - netdev_priv() Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] sk_mca - iomem and isa-ectomy usual isa-ectomy and iomem annotations Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] ibmlana part 1 (netdev_priv()) switched to netdev_priv() Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] ibmlana part 2 (iomem annotations and isa-ectomy) the usual switch to ioremap and normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] 3c503 (iomem + isa-ectomy) switch to ioremap() and normal iomem access primitives Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] prism54: use NULL for pointer Use NULL instead of 0 for pointer: drivers/net/wireless/prism54/isl_ioctl.c:1753:16: warning: Using plain integer as NULL pointer drivers/net/wireless/prism54/isl_ioctl.c:1753:26: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <dhollis@davehollis.com> Move MII-related constants from b44/tg3 drivers to linux/mii.h. <ralf@linux-mips.org> [PATCH] Au1000 driver updates o mii-tool support o MAC address memcpy fix o VLAN support Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Remove Baget network driver Remove the support for Baget, a Russian embedded system suffering from bitrot for way too long. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] IOC3 driver updates o Fix build if CONFIG_SERIAL_8250 is disabled. o Add support for setting the MAC address via ifconfig o Generally try to pretend we're a better PCI citizen than the broken piece of silicon that the IOC3 is actually is. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Jazzsonic driver updates o Resurrect the Jazz SONIC driver after years of it not having been tested o Convert from Space.c initialization to module_init / platform device. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Marvell MV-64340 driver upda o Momentum Ocelot 3 also features a MV-64340 o Momentum Jaguar ATX does not need the special casing in the driver. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Meth driver updates General driver updates, now approaching reliability of some definition. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] S2IO syntax fixes Syntactic nitpicking - C wants a space between the "include" and "<" just gcc happens to be tollerant. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] SB1250 driver updates o Fix initialization of internal sbmac eth1 o Clean up comments o Add in new module parameter handling o Fix printing of device name before register_netdevice Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] SGI Seeq updates o Support for setting the MAC address o Make some sort of attempt at dealing with multicast in order to support IPv6 etc. The Seeq 8003 was built in the assumption nobody was ever going to need multicast, it seems. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <scjody@modernduck.com> Fix bugs generating and parsing ConfigROMs with Extended ROM entries. Signed-off-by: Steve Kinneberg <kberg@linux1394.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fix bug where 4 times Extended ROM Leaf size would be read when parsing in csr1212. Added NULL check for csr1212_rom_cache_malloc return value. Signed-off-by: Steve Kinneberg <kberg@linux1394.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fix buffer overflow in csr1212.c. Signed-off-by: Steve Kinneberg <kberg@linux13294.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Use wmb() to make sure things get flushed before setting the wakup bit. Signed-off-by: Ben Collins <bcollins@debian.org> Submitted-by: Keith Bengston <Keith.Bengston@csiro.au> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fix GCC 3.4 compile error with inline keyword in function prototype. Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Steve Kinneberg <kberg@linux1394.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <sam@mars.ravnborg.org> kbuild: Makefile.lib - small cleanup Combine duplicate code in two smaller 'functions' Signed-off-by: Sam Ravnborg <scjody@modernduck.com> fix nodemgr parsing subdirectories in unit directory and tiny bugfix in sbp2 unit directory parsing (for PowerFile) Signed-off-by: Jody McIntyre <scjody@modernduck.com> <sam@mars.ravnborg.org> kbuild: Introdude KBUILD_NOCMDDEP When tossing around with different gcc compilers there is no way to tell kbuild to ignore the new name of the compiler. The new option KBUILD_NOCMDDEP tell kbuild not to check the commandline for changes. This should be used with care because the resulting kernel may become inconsistent if one part is build with 2.96, and another part build with 3.3.4. So use only when you know what you are doing. Syntax: make KBUILD_NOCMDDEP=1 Original request for this feature came from hpa. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kbuild arch/i386: make install no longer check vmlinux make install is often executed as root or on a different mechine via NFS To avoid updating vmlinux due to directory changes or similar the install target for i386 no longer has vmlinux as a prerequisite. Now modules_install and install are aligned in this respect. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kbuild: default value for INSTALL_PATH set to /boot Most architectures uses /boot for there kernel image, so let this be reflected by the kernel. If INSTALL_PATH shell variable is set then this will have effect. If INSTALL_PATH is set one the commanline to make like this: make INSTALL_PATH=/nfs/boot install then this will override both kbuild and shell variable. If an arch prefer another default this must be set in the arch Makefile Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <jkacur@rogers.com> kbuild: (trivial) spelling fix in comment in Makefile From: John Kacur <jkacur@rogers.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kbuild: add '--extra=+f' to ctags in Makefile in order to search for file names From: John Kacur <jkacur@rogers.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <agruen@suse.de> kbuild: Warn when building external modules without modversions This adds a warning when building external modules (M= or SUBDIRS= syntax) and there is no Module.symvers in the object tree. A missing Module.symvers is a clear sign that the kernel tree itself was never compiled. The resulting modules will work, but no symbol version information will be attached to kernel symbols the module uses (because that information comes from Module.symvers), and so the module will be more unsafe. Futhermore the external module will not record what other modules it is depended on. The test works with CONFIG_MODVERSIONS enabled or disabled. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kbuild: Nicer printout when Module.symvers is missing Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <agruen@suse.de> kbuild: Dont include absolute filenames in binaries The kbuild utilities are compiled with absolute patch names, so paths starting with $RPM_BUILD_ROOT would end up in the binaries. To avoid this, remove all references to __FILE__ (directly and indirectly via assert()). Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <bunk@stusta.de> kernel/configs.c: make a variable static This patch makes a needlessly global variable static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <bunk@stusta.de> kallsyms: kallsyms.c - make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <bunk@stusta.de> kbuild: update scripts/namespace.pl The patch below removes some false positives I've observed. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <juhl-lkml@dif.dk> kbuild: make 'make help' show all *config targets and update descriptions slightly. "make help" doesn't show "make randconfig" nor "make config" as options and the description of oldconfig could be better (IMHO). Patch below adds the missing targets to the help and updates the description of oldconfig. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <agruen@suse.de> The wrong version of the parmtype patch was merged, incompletely, and the part that got merged got broken on the way. Here are the fixes: Move __MODULE_INFO to modparam.h: This macro is used in modparam.h; there are users who include this header but not module.h. The latter includes modparam.h already. __MODULE_INFO(parmtype, name##type, #name ":" #type) does not evaluate to __MODULE_INFO(parmtype, footype, "foo:int") as was the idea, but to __MODULE_INFO(parmtype, fooint, "foo:int") when type is bound to int. In more complicated cases, we get syntax erros. Re-introduce the __MODULE_PARM_TYPE macro; this is cleaner than renaming the type parameter. Add the parmtype definition which was dropped during the merge to to the obsolete but still heavily used MODULE_PARM macro. Signed-off-by: Andreas Gruenbacher <agruen@suse.de> Signed-off-by: Sam Ravnborf <sam@ravnbrg.org> <scjody@modernduck.com> Christoph Hellwig: avoid obsolete scsi APIs in sbp2 Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Olaf Hering: Fix sw-suspend issue sw-suspend does not work with our kernel. khpsbpkt will die because down_interruptible returns -EINTR on suspend. As a result, hpsb packet delivery will not work anymore after resume. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> This patch makes sure we check the return value of copy_to_user() in drivers/ieee1394/raw1394.c::raw1394_read() with the added bonus of silencing this warning: include/asm/uaccess.h: In function `raw1394_read': drivers/ieee1394/raw1394.c:446: warning: ignoring return value of `__copy_to_user', declared with attribute warn_unused_result I've submitted this before, but never got an ACK or NACK, and the patch is still relevant against latest Linus bk (2.6.10-rc2-bk11 atm). Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> From Stefan Richter: In trunk/ohci1394.c, duplicate code has slipped in which sets max_packet_size to 512 and prints a log notice. See "Serial EEPROM Sanity check" further down in ohci_initialize(). Since the latter code is more appropriate, the former is deleted by the attached patch. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Damien Douxchamps: I have tested and updated a patch from Randy Dunlap that fixes missing entries in the modules.ieee1394map file. The patch is against latest SVN (1234). The patch adds the following entries for IIDC cameras that would not be detected otherwise: video1394 0x0000000c 0x000000 0x000000 0x00a02d 0x000101 video1394 0x0000000c 0x000000 0x000000 0x00a02d 0x000102 raw1394 0x0000000c 0x000000 0x000000 0x00a02d 0x000101 raw1394 0x0000000c 0x000000 0x000000 0x00a02d 0x000102 This is necessary because the IIDC consortium interpreted the 1394 specifications differently. They have been summoned by the 1394TA to change their numbering policy so that these entries are final and will not grow forever in number. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fixes a bug in the channel reservation : If dma resources allocation fails, the channel was not freed. I fixed that by marking the channel allocated after the dma resources allocation succeeded. Also changed the error return value from ioctl. Signed-off-by: Philippe De Muyter <phdm at macqel dot be> Signed-off-by: Dan Dennedy <dan@dennedy.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Change some variables and functions that were needlessly global static. Removes several functions that weren't used anywhere in the kernel. Removes many unnecessary EXPORT_SYMBOL's. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Some Lindent cleanup (most removed to its own patch by scjody) Adds basic sysfs support for udev etc. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Cleanup with Lindent. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Move simple class to ieee1394 core and register as /sys/class/ieee1394_protocol. Add sysfs/udev support to video1394 and dv1394 using simple class ieee1394_protocol. Signed-off-by: Dan Dennedy <dan@dennedy.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Dan Dennedy: Ignore any return value from devfs since it is non-critical, and a EEXIST return prevents the module from loading! Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> This closes a small vmalloc leak on insmod/rmmod. Signed-off-by: Jim Radford <radford@indigita.com> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> We need to update the old csr1212 cache's bus generation after a bus reset once we decide it is still valid. Closes a vmalloc leak on *every* bus reset. Signed-off-by: Jim Radford <radford@indigita.com> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Sets the sendtime of a packet _before_ adding it to pending_packet_queue, to prevent premature expiry (which leads to "unsolicited response packet" errors, among other things). Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> dma.c vfree() checking cleanups. Signed-off by: James Lamanna <jlamanna@gmail.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fixed removal of old partial datagrams. Since max_partial_datagrams can be changed at runtime, there may be _more_ than max_partial_datagrams in the list. Also removed obsolote comment. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Bugfix for Logical Unit Number in unit directory -- popular with multi-bay enclosures -- while not breaking Logical Unit Directory. Signed-off-by: Dan Dennedy <dan@dennedy.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Dan Dennedy: bugfix for logical unit directory lun number Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Adds a disable_irm option to ieee1394.ko which disables all Isochronous Resource Manager functionality, useful to work around certain problems, e.g. iPod detection. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Dan Dennedy: reorganise LUN handling to resolve oops Signed-off-by: Jody McIntyre <scjody@modernduck.com> <ak@muc.de> [PATCH] kbuild: Use -Wno-pointer-sign for gcc 4.0 Compiling an allyesconfig kernel straight with a gcc 4.0 snapshot gives nearly 10k new warnings like: warning: pointer targets in passing argument 5 of `cpuid' differ in signedness Since the sheer number of these warnings was too much even for the most determined kernel janitors (I actually asked ;-) and I don't think it's a very serious issue to have these mismatches I submitted an new option to gcc to disable it. It was incorporated in gcc mainline now. This patch makes the kernel compilation use it. There are still quite a lot of new warnings with 4.0 (mostly about uninitialized variables), but the compile log looks much nicer nnow. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <blaisorblade@yahoo.it> [PATCH] kbuild: no redundant srctree in tags file Avoid cluttering the tags/TAGS generated file with $(srctree) in the paths if this is not needed. This has two advantages: - Saving about 20M on the size of the resulting tags file (which are used currently to store the absolute path of the file names rather than the relative one) when KBUILD_OUTPUT is not set. - Keeping the tags file valid when the directory is renamed. No change is done for who does make tags O=..., if this is wanted (I would find that incommodous and non-typical for a developer, but anyway I've not ruined functionality in that case). Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <tony@atomide.com> [PATCH] kbuild: fix for i386 cross compile I used to be be able to cross compile for i386 on my x86_64 machine, but recently something (gcc/binutils?) changed, and it stopped working. Following patch makes cross compile work with: make ARCH=i386 CFLAGS_KERNEL="-m32" AFLAGS_KERNEL="-m32" bzImage Without the patch I'm getting the following error: SYSCALL arch/i386/kernel/vsyscall-syms.o /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../../x86_64-pc-linux-gnu/bin/ld: Relocatable linking with relocations from format elf32-i386 (arch/i386/kernel/vsyscall-sysenter.o) to format elf64-x86-64 (arch/i386/kernel/vsyscall-syms.o) is not supported collect2: ld returned 1 exit status Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <tero_niemela@yahoo.com> [PATCH] kbuild: skip depmod if not executable I've cross-compiled Linux on i386-netbsdelf2.0 for arm-linux for quite some time now and everything seems to be working perfectly except for one minor glitch in the build process that halts module installation (needlessly, IMHO). Specifically, if System.map exists $(DEPMOD) is run ("for convenience" as the comment says in the Makefile). However, on NetBSD I don't have $(DEPMOD) available so the command fails and make exits with non-zero exit status. Please consider the attached patch to add a check for $(DEPMOD) so that missing $(DEPMOD) won't halt the whole build process. From: Tero Niemela <tero_niemela@yahoo.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <scjody@modernduck.com> Fix revisions to match svn Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fix whitespace/indenting to match SVN. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Dan Dennedy: change allocation to GPF_ATOMIC to fix timing issue when this is called from raw1394.c:arm_register(). Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Fix PCILynx bus resets. Signed-off-by: Ben Collins <bcollins@debian.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> Update ieee1394 maintainers. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <scjody@modernduck.com> pcilynx.c: pcilynx: reduce stack usage in add_card(), from 800 to 308 bytes (on i386), by dynamically allocating struct i2c_adapter i2c_adapter; /* 492 bytes */ Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jody McIntyre <scjody@modernduck.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in YAM driver o Convert the YAM driver to use netdev_priv(). o If dev is valid there is no point in checking netdev_priv()'s return value for being NULL. o Fix build warning. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in mkiss driver Convert the mkiss driver to use netdev_priv(). Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in bpqether driver Convert the bpqether driver to use netdev_priv(). Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in baycom_par driver Eleminate the last remaining instance of a direct reference to the priv member of struct net_device. This was debug code only, so use BUG_ON() instead of printk. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in baycom_ser_hdx driver Eleminate the last remaining instance of a direct reference to the priv member of struct net_device. This was debug code only, so use BUG_ON() instead of printk. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in hdlcdrv driver Eleminate the last remaining instance of a direct reference to the priv member of struct net_device. The paranoia check code of the same type that has been eleminated from many other drivers, so do this here also. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in baycom_ser_fdx driver Eleminate the last remaining instance of a direct reference to the priv member of struct net_device. This was debug code only, so use BUG_ON() instead of printk. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Use netdev_priv in baycom_epp driver Eleminate the last remaining instance of a direct reference to the priv member of struct net_device. The paranoia check code of the same type that has been eleminated from many other drivers, so do this here also. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Reformat DMASCC driver Feed dmascc through indent, remove the RCS $Id string. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] remove dp83840.h dp83840.h is included once but none of the definitions it contains is actually used. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <akpm@osdl.org> [PATCH] remove bogus exports in ppp From: Paul Mackerras <paulus@samba.org> Remove unnecessary exports from ppp_generic.c. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] ray_cs: reduce stack usage (sockaddr) Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <pavel@ucw.cz> [PATCH] eepro100 kill obsolete ifdefs pci layer should provide enough dummy functions for such ugly hacks to be unneccessary these days. Please apply, Signed-off-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <nico@cam.org> [PATCH] smc91x: allow RX of VLAN packets This patch allows for VLAN packets to be received. The initial patch was from Andrew de Quincey. While there, it also adds a test against an impossible hardware state in theory but that happened in practice where the chip returns a packet length of 0 which, once the status words have been substracted, causes the transfer of data with a negative length. Flaky hardware is probably to blame here but better guard ourselves against that than crashing the kernel. David Brownell was the happy victim of such hw. Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <akpm@osdl.org> [PATCH] use datacs in smc91x driver From: Ian Campbell <icampbell@arcom.com> Below is a patch to support the second 32-bit DATACS chipselect in the smc91x driver to transfer data. Support is enabled by adding a resource to the platform device named 'smc91x-data32'. My platform has a 16-bit chip select for the primary IO region and no DMA. I found that throughput went from roughly 50mbit/s to 80mbit/s. I tested by throwing UDP packets at it using mgen (9000 packets/second with UDP payload of 1472 bytes is roughly 100mbit/s, I think) and counting the packets received in 60s, I then did the same for transmitting. The measurements are very rough but the improvement seems fairly significant to me. Patch was compiled for lubbock and neponset and compiled and tested on my PXA platform. Signed-off-by: Ian Campbell <icampbell@arcom.com> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <scjody@modernduck.com> 1394 uses skbs, so select NET. <sam@mars.ravnborg.org> kbuild: Fix debugging leftover So now check for commandline options actually works again. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> prismtech: Avoid recompile when changing compile dir -I$(PWD) is superflous - and caused absolute path to be stored in build command - this casuses recompile when using symlink to kernel. Also deleted commented out -DCONFIG_PRISM_WDS. CONFIG_PRISM_WDS are not present in any of the source files. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <lkml@einar-lueck.de> [IPV4]: Splitting of ip_route_{in,out}put_slow(). From: Einar Lueck <lkml@einar-lueck.de> This patch splits up ip_route_[in|out]put_slow in inlined functions. Basic idea: * improve overall comprehensibility * allow for an easier application of patch for improved multipath support Signed-off-by: David S. Miller <davem@davemloft.net> <scjody@modernduck.com> Re-added Ben Collins to 1394. Signed-off-by: Jody McIntyre <scjody@modernduck.com> <ak@muc.de> [PATCH] Add compat_ioctl to SD Add compat_ioctl entry point to SD Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Add compat_ioctl to st Call new compat_ioctl host vector from tape driver Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Add comment for compat_ioctl to SR Add comment that SR doesn't support compat_ioctl (because it doesn't pass down any driver ioctls right now) Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Add compat_ioctl to osst Add compat_ioctl to osst Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Convert aacraid to compat_ioctl Convert aacraid driver to the compat_ioctl entry points. I don't have hardware, so this is only compile tested, but I just did some transformations on the existing code. Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Add compat_ioctl to SG Add compat_ioctl to SG driver Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Convert megaraid2 to compat_ioctl Convert megaraid2 driver to new compat_ioctl entry points. Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ak@muc.de> [PATCH] Add compat_ioctl to mptctl Convert mptctl to compat_ioctl. I also changed it to unlocked_ioctl while I was on it. Signed-off-by: Andi Kleen <ak@muc.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> mptfusion: delete watchdogs timers from mptctl and mptscsih From: Moore, Eric Dean <Eric.Moore@lsil.com> 1) mptscsih.c: I have changed task management requests so they complete in same thread before returning to os. I removed the TMtimer code. (2) mptctl.c: I have deleted both TMtimer and timer code. Replaced with wait_event_interruptible_timeout. So commands are now completed in same thread. (3) mptctl_do_fw_download - nasty polling of global parameters that are set in contents of interrupt handler(mptctl_reply), now using wait_event_interruptible_timeout. (4) I have cleaned up mptctl_reply. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> SCSI: fix compat_ioctl compile warnings Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] drop some attibutes from the FC transport class I think the hardware_version, firmware_version, rom_version and driver_version don't belong to the FC transport class, there's nothing specific to FC or even SCSI specific in them. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> SCSI: Add device io statistics From: James.Smart@Emulex.Com Adds io statistics (requests, completions, error count) as generic attributes for scsi devices. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> SCSI: fix io statistics compile warnings Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <dtor@mail.ru> Input: i8042 - move panicblink with the rest of module parameters, add proper entry to kernel-parameters.txt Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: add serio->start() and serio->stop() callback methods that are called whenever serio port is finishes being registered or unregistered. The callbacks are useful for drivers that share interrupt between several ports and there is a danger that interrupt handler will reference port that was just unregistered. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: i8042 - make use of new serio start() and stop() callbacks to ensure that i8042 interrupt handler that is shared among several ports does not reference deleted ports. Also rename i8042_valies structure to i8042_port, consolidate handling of KBD, AUX and MUX ports, rearrange interrupt handler code. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: rearrange serio event processing to get rid of duplicate events - do not sumbit event into the event queue if similar event has not been processed yet; also once event has been processed check the queue and delete events of the same type that have been accumulated in the mean time. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: evdev - return -EINVAL from evdev_read if read buffer is too small. Based on a patch by James Lamanna. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: synaptics - use DMI to detect Toshiba Satellite notebooks and automatically reduce touchpad reporting rate to 40 pps as they have trouble handling high rate (80 pps). Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: twidjoy - apparently Kconfig and Makefile disagreed on the name for config option so the module was never built. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: use msecs_to_jiffies instead of homegrown ms_to_jiffies when setting timer for autorepeat handling. This will make sure that autorepeat is scheduled correctly when HZ != 1000. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: use msecs_to_jiffies instead of manually calculating delay for Toshiba bouncing keys workaround to the code works with HZ != 1000. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: remove serio->private in favor of using driver-specific data in device structure, add serio_get_drvdata/serio_put_drvdata to access it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: replace serio's type field with serio_id structure and add id_table to serio drivers to split initial matching and probing routines for better sysfs integration and to assist hotplug scripts in loading proper drivers. Add serio_hotplug to notify userspace about new ports. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: make serio implementation more in line with standard driver model implementations. serio_register_port is always asynchronous to allow freely registering child ports. When deregistering serio core still takes care of destroying children ports first. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: make serio's connect routines return error code instead of void. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: i8042 - fix 'noloop' module parameter description Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor@mail.ru> Input: serio - export id.type, id.proto, id.id and id.extra as sysfs attributes to assist hotplug scripts in recovering lost boot-time serio hotplug events. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <bunk@stusta.de> Input: Make some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <prarit@sgi.com> Input: i8042 - call i8042_platform_exit to release resources acquired by i8042_platform_init when controller initialization fails. Signed-off-by: Prarit Bhargava <prarit@sgi.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Don't even try to reset the i8042 controller when it's not willing to talk to us at all - it's probably not there. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <micah@navi.cx> input: This patch adds support to uinput for Linux's force feedback interface. With these changes, it's possible to write drivers for force feedback joysticks and similar devices in userspace. It also adds a way to set the physical path of devices created via uinput, and it has a couple trivial bugfixes. Signed-off-by: Micah Dowty <micah@navi.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <rddunlap@osdl.org> input: joydump_connect: reduce stack usage from 2048 to 44 bytes (on i386) by allocating 'buf' dynamically; struct joydump buf[BUF_SIZE]; // 2048 bytes Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <petero2@telia.com> input: mousedev_packet() incorrectly clears list->ready when called with "tail == head - 1". The effect is that the last mouse event from the hardware isn't reported to user space until another hardware mouse event arrives. This can make the left mouse button get stuck when tapping on a touchpad. When this happens, the button doesn't unstick until the next time you interact with the touchpad. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <petero2@telia.com> input: Some Synaptics touchpads have a middle mouse button that also works as a scroll wheel. Scroll data is reported as packets with w == 2 and the scroll amount in byte 1, treated as a signed character. For some reason, the smallest possible wheel movement is reported as a scroll amount of 4 units. This amount is typically spread out over more than one packet, so the driver has to accumulate scroll delta values to correctly deal with this. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <petero2@telia.com> input: Here it is, with the suggestions from Pete and Dmitry included. The patch does the following: * Compensates for the lack of floating point arithmetic by keeping track of remainders from the integer divisions. * Removes the xres/yres scaling so that you get the same speed in the X and Y directions even if your screen does not the same aspect ratio as your touchpad. * Sets scale factors to make the speed for synaptics and alps equal to each other and equal to the synaptics speed from 2.6.10. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <petero2@telia.com> input: Correct Y axis range for ALPS touchpads. From: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <gijoe@poczta.onet.pl> input: Add support for Logitech MX300 mouse in PS/2 mode. From: Daniel Johnson <gijoe@poczta.onet.pl> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Add support for the Logitech MX1000 mouse in PS/2 mode. <zippel@linux-m68k.org> input: Cleanup the Kconfig menus for the input subsystem. From: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <bunk@stusta.de> [PATCH] SCSI sim710.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <petero2@telia.com> input: When hardware tapping is disabled on an ALPS touchpad, the touchpad generates exactly the same data for a single tap and a fast double tap. The effect is that the second tap in the double tap sequence is lost. To fix this problem, this patch enables hardware tapping and converts the resulting tap and gesture bits to standard finger pressure values (z), which is what mousedev.c and the userspace X driver expects. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <petero2@telia.com> input: Only parse a "z == 127" packet as a relative Dualpoint stick packet if the touchpad actually is a Dualpoint device. The Glidepoint modelsdon't have a stick, and can report z == 127 for a very wide finger. If such a packet is parsed as a stick packet, the mouse pointer will typically jump to one corner of the screen. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <bunk@stusta.de> input: This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: make serio drivers register asynchronously. This should speed up boot process as some drivers take a long time probing for supported devices. Also change __inline__ to inline in serio.h Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <rpurdie@rpsys.net> input: Add support for Sharp Zaurus SL-C7cc Corgi keyboards. From: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <rpurdie@rpsys.net> input: Add support for Sharp SL-C7xx touchscreen (Corgi). From: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <adam@yggdrasil.com> [PATCH] ata_pci_remove_one used freed memory Attempting to unload a serial ATA driver module gave me a kernel memory fault. I think this problem occurs in all configurations, but I should mention that my configuration may be slightly unusual in that I configured my BIOS not to do IDE emulation with SATA disks, and I don't actually have any disks plugged in. The problem was that ata_pci_remove_one would call scsi_host_put(ap->host), which would free the memory used to hold host_set->ports, but host_set->ports was used later in ata_pci_remove_one. So, the following patch reorders some of the steps in ata_pci_remove_one and seems to eliminate the problem, at least to the extent that I can unload and reload the module, although I do not have a SATA disk handy for testing (I'm expecting one to arrive later today). The patch actually makes the code four lines shorter, although two of those lines come from putting an assignement and variable declaration in the same line. Since the patch is a little hard to read, here is a description of the edit steps. 1. Moved pci_release_regions() to toward the end of the routine to facilitate merging the loops before and after it. Also, I think that calls that are good candidates for consolidating into the bus-level code in the future (instead of individual drivers) are best put at the beginning or end of the driver routines so that it is clearer if there would be problems doing such consolidation. 2. Moved the cacluation of ioaddr into the only if-branch that uses it. 3. Moved the call to scsi_host_put to after the code that checks ATA_FLAG_NO_LEGACY. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <vojtech@silver.ucw.cz> input: New driver for ICS MicroClock MK712 TouchScreens. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: add resume method to serio bus so ports are properly set up at resume time. Remove calls to serio_reconnect from i8042 as they should now be reconnected in course of regular resume process. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Add MCC devices to HID blacklist, cleanup whitespace along the way. From: Mark Glines <mark-pmd@glines.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Fix poll() behavior of input handlers on disconnect. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <deller@gmx.de> input: HP HIL support (from PARISC Linux tree). From: Helge Deller <deller@gmx.de> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <cl81@gmx.net> input: Typo fix in atkbd.c comment From: Christian Ludwig <cl81@gmx.net> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <akropel1@rochester.rr.com> I have a buggy USB HID device (APC SmartUPS) in which the designers forgot that ReportCount is a global item. Consequently, according to the report descriptor, several reports have multiple copies of the same usage in each field. When you actually query the device, however, only a single copy of the usage is returned. hid-core catches the expected vs. actual length mismatch and fails the transfer. This effectively makes the buggy reports inaccessible even though enough data is present to populate one usage (which is all userspace wants anyway). This patch changes hid-core to only warn (if debug is enabled) on such reports rather than failing the transfer. Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Document the adapter schematic needed for parkbd.c, right in the source. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Typo fix in parkbd.c comment Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Fix ExplorerPS/2 wheel emulation for wheel events > 8 ticks. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <pingc@wacom.com> input: This patch adds support for a Wacom new tablet, Intuos3, and its associated tools. From: Ping Cheng <pingc@wacom.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <juhl-lkml@dif.dk> input: ere's a patch that removes a few pointless comparisons; "scancode" is unsigned so it can never be <0 which makes the test pointless. Also, there are a few instances where signed and unsigned variables are comared, and as far as I can tell they really should just all be unsigned. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <bunk@stusta.de> input: This patch removes the bouncing email address of Victor Krapivin from MODULE_AUTHOR. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: This patch fixes an oops in ns558 when no ports are found and at the same time the driver gets registered with the PnP subsystem. Since there is no need for port->type struct member, it removes it. Patch based on a patch from Matthieu Castet <castet.matthieu@free.fr> and Adam Belay <ambx1@neo.rr.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: fix compie error in twidjoy.c Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Do a kill_fasync() in input handlers on device disconnect to notify a client using poll() that the device is gone. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <duraid@octopus.com.au> input: Properly set input.phys in Griffin Powermate driver. From: Duraid Madina <duraid@octopus.com.au> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <castet.matthieu@free.fr> input: Now that ACPIPnP is available, replace ACPI probing in i8042 with PnP probing. From: Matthieu Castet <castet.matthieu@free.fr> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@silver.ucw.cz> input: Fix i8042 PnP printk()'s and pnp_driver name. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <krautz@gmail.com> input: Make the polling interval for mice a configurable parameter of the HID driver. This is useful when a faster response from a mouse is beneficial, ie games. Signed-off-by: Mikkel Krautz <krautz@gmail.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <davej@redhat.com> [PATCH] convert pci_dev->slot_name usage to pci_name() Prepare for removal of pci_dev->slot_name Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <davej@redhat.com> [PATCH] Remove pci_dev->slot_name This is a pointer to dev.bus_id, which is properly accessed through the pci_name() function. Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <eike-hotplug@sf-tec.de> [PATCH] PCI Hotplug: Remove unneeded instructions from ibmphp_pci.c this patch removes some unneeded code from ibmphp_pci.c. First I thought it is a bug and the second line should have been "sec_no = (int) sec_number". But than I found exactly the same read only 9 lines higher and after it the line I expected the second one to be. Between the 2 pci_bus_read_config_byte's are only some checks so I don't expect them to return different results. And sec_no is and int so removing this wont change anything at all. Signed-off-by: Rolf Eike Beer <eike-hotplug@sf-tec.de> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <matthew@wil.cx> [PATCH] PCI: pci_proc_domain There's no need for the architectures to know how to name busses, so replace pci_name_bus with pci_proc_domain -- a predicate to allow architectures to choose whether domains are included in /proc/bus/pci or not. I've converted all architectures but only tested ia64 and a CONFIG_PCI_DOMAINS=n build. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <matthew@wil.cx> [PATCH] PCI: Make pci_claim_resource __devinit ia64 calls pci_claim_resource() from pcibios_fixup_bus(), which is __devinit, so pci_claim_resource() needs to be __devinit too. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <muneda.takahiro@jp.fujitsu.com> [PATCH] PCI: fix pci_remove_legacy_files() crash The legacy_io which is the member of pci_bus struct might be NULL. It should be checked. This patch checks 'b->legacy_io', NULL or not. Signed-off-by: MUNEDA Takahiro <muneda.takahiro@jp.fujitsu.com> Acked-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <bjorn.helgaas@hp.com> [PATCH] PCI: NUMA-Q PCI config access arg validation Fix NUMA-Q PCI config access bus validation. "bus" indexes into BUS2QUAD, which is mp_bus_id_to_node[MAX_MP_BUSSES]. This depends on the "pci_raw_ops should use unsigned args" patch I posted earlier today (no functional dependency; it just happens to be very close textually). Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Martin J. Bligh <mbligh@aracnet.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <bjorn.helgaas@hp.com> [PATCH] PCI: pci_raw_ops should use unsigned args Convert pci_raw_ops to use unsigned segment (aka domain), bus, and devfn. With the previous code, various ia64 config accesses fail due to segment sign-extension problems. ia64: - With a signed seg >= 0x8, unwanted sign-extension occurs when "seg << 28" is cast to u64 in PCI_SAL_EXT_ADDRESS() - PCI_SAL_EXT_ADDRESS(): cast to u64 *before* shifting; otherwise "seg << 28" is evaluated as unsigned int (32 bits) and gets truncated when seg > 0xf - pci_sal_read(): validate "value" ptr as other arches do - pci_sal_{read,write}(): return -EINVAL rather than SAL error status arch/i386/pci/direct.c | 12 ++++++---- arch/i386/pci/mmconfig.c | 6 +++-- arch/i386/pci/numa.c | 6 +++-- arch/i386/pci/pcbios.c | 6 +++-- arch/ia64/pci/pci.c | 53 ++++++++++++++++++--------------------------- arch/x86_64/pci/mmconfig.c | 8 ++++-- include/linux/pci.h | 6 +++-- 7 files changed, 51 insertions(+), 46 deletions(-) Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Acked-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <rufus-kernel@hackish.org> input: For now, a bug in the PSX controllers support in gamecon prevents hot-swapping of such controllers. If a controllers is removed then all the controllers stop working and cpu usage gets high. The attached patch (against 2.6.11-rc3) corrects this bug by checking the information read from the controller. If the message length is bigger than the maximum possible, then it means the controller is not there and therefore this value should be discarded. Note that this is a re-send of a previous patch now that the patch of Peter (which had to be applied before this one) has been intregrated in the vanilla kernel. It's Peter's version modified to apply cleanly against 2.6.11-rc3 plus a fix in the comment. Signed-off-by: Peter Nelson <rufus-kernel@hackish.org> Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> <dtor_core@ameritech.net> Input: make sure that all instances of ns558 are released upon module unload. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <akpm@osdl.org> input: On some architectures the atomic ops return `long'. Fix a printk() in serio.c to take that into account. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <stuart_hayes@dell.com> input: A Chicony keyboard doesn't like get_report on its non-exisiting PS/2 mouse interface. Add to HID blacklist. From: Stuart Hayes <stuart_hayes@dell.com> Seen-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Change touchscreen drivers NOT to rescale their values to a 4:3 shape. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Move #include <linux/interrupt.h> inside #ifdef __KERNEL__ in serio.h, to make it userspace-compilable. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <hal@realmsys.com> input: Fix range checks for the HIDIOC[GS]USAGES ioctl() to allow reading full number of bytes. From: Hal Tolley <hal@realmsys.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <svrmgrl@gmx.net> input: Add a new ID to the Logitech ForceFeedback joystick driver. From: Rainer Kümmerle <svrmgrl@gmx.net> Acked-by: Johann Deneux <johann.deneux@it.uu.se> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <castet.matthieu@free.fr> input: this patch turns off the pc speaker when pcspkr.ko is unloaded, else it would never stop Signed-off-by: Matthieu Castet <castet.matthieu@free.fr> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <Mark.Haigh@spirentcom.com> [PATCH] arch/i386/kernel/pci/irq.c: Wrong message output The following has been reported in the wild for kernel 2.6.8-24: PCI: Enabling device 0000:00:05.0 (0000 -> 0002) PCI: No IRQ known for interrupt pin @ of device 0000:00:05.0. Probably buggy MP table. It should read "No IRQ known for interrupt pin A", but the 'pin' variable has already been decremented (from 1 to 0), so the line: printk(KERN_WARNING "PCI: No IRQ known for interrupt pin %c of device %s.%s\n", 'A' + pin - 1, dev->slot_name, msg); causes "pin @" to be output, because 'A' + 0 - 1 == '@'. The supplied patch should fix it. It also removes a redundant check for a nonzero pin. Signed-off-by: Mark F. Haigh <Mark.Haigh@spirentcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <brking@us.ibm.com> [PATCH] PCI: Dynids - passing driver data Currently, code exists in the pci layer to allow userspace to specify driver data when adding a pci dynamic id from sysfs. However, this data is never used and there exists no way in the existing code to use it. This patch allows device drivers to indicate that they want driver data passed to them on dynamic id adds by initializing use_driver_data in their pci_driver->pci_dynids struct. The documentation has also been updated to reflect this. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kaber@trash.net> [NET]: Remove protocol specific hacks in skb_ip_make_writable() These cause more trouble than anything else. In fact these silly checks keep the ipt action from working with targets that mangle the data area. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [IPV6]: match TCP port selection behavior with ipv4 This patch makes TCP over IPV6 select ports the same way the current TCPv4 code does. It uses a hash function to provide a starting offset and a free running counter to provide seed. This changes the port selection semantics to match TCPv4 as well. If the port is in use but to a different remote address, it will get reused. It looks like the TCPv6 code was not updated when the TCPv4 code changed. Now the code in ipv4/tcp_ipv4.c and ipv6/tcp_ipv6.c are almost identical for tcp_hash_connect. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> Resolve ATM conflicts. <herbert@gondor.apana.org.au> [IPSEC]: Stop using dst->xfrm Here is a precursor to the xfrm dst consolidation that I talked about. In order to be able to store multiple SAs in one dst, we need to stop using dst->xfrm directly. The following patch does that for the ->output() functions. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <dtor_core@ameritech.net> Input: alps - fix protocol validation rules causing touchpad to lose sync if an absolute packet is received after a relative packet with negative Y displacement. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Add support for serial ELO touchscreens, including Elo IntelliTouch, AccuTouch and SecureTouch. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <jbj1@ultraemail.net> input: Fix a code example in a comment in hiddev.c From: Jens B. Jorgensen <jbj1@ultraemail.net> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Fix Elo touchscreen touch detection. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: rename gameport->driver to gameport->port_data in preparation to sysfs integration. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: more renames in gameport in preparations to sysfs integration - gameport_dev -> gameport_driver - gameport_[un]register_device -> gameport_[un]register_driver Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: make connect and disconnect methods mandatory for gameport drivers since that's where gameport_{open|close} are called from to actually bind driver to a port. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: prepare for dynamic gameport allocation: - provide functions to allocate and free gameports; - provide functions to properly set name and phys; - dynamically allocated gameports are automatically announced in kernel logs and freed when unregistered. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: convert input/gameport to dynamic gameport allocation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: convert sound/oss to dynamic gameport allocation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: convert sound/pci to dynamic gameport allocation. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: integrate gameport drivers info dribver model/sysfs, create "gameport" bus. drivers' connect() routines now return error code instead of void. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: complete gameport sysfs integration, ports are now devices in driver model. Implemented similarly to serio. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <dtor_core@ameritech.net> Input: remove gameport->private in favor of using driver-specific data in device structure, add gameport_get/set_drvdata to access it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> <n1gp@hotmail.com> input: Fix keybit initialization in MK712 touchscreen driver. With this, the driver is tested to work properly. From: Richard Koch <n1gp@hotmail.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <fubar@us.ibm.com> [PATCH] : net/core: move set MAC into separate function This moves the SIOCSIFHWADDR code from dev_ifsioc() into a separate new function, dev_set_mac_address(). This provides a single entry point for all callers performing MAC address changes. Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <fubar@us.ibm.com> [PATCH] : bonding: use wrappers to change mtu and MAC This updates the bonding driver to use the dev_set_mtu() and dev_set_mac_address() wrapper functions. Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <fubar@us.ibm.com> [PATCH] bonding: change misleading warning This updates a warning message that the bonding driver issues when some modes are unable to determine the link speed of a slave device. The old message led users to believe that bonding was slowing their gigabit devices to 100 Mb/sec. Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <fubar@us.ibm.com> [PATCH] bonding: Update kconfig description This patch updates the very-outdated Kconfig description for bonding. Users reading the help text in menuconfig or xconfig would see text that implied that bonding only supports static link aggregation, and required a specific switch to make it work. The new description mentions multiple bonding modes and points the user to the bonding.txt documentation. Signed-off-by: Mitch Williams <mitch.a.williams@intel.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <fubar@us.ibm.com> [PATCH] bonding: Update/rewrite bonding.txt This is a complete overhaul of the bonding.txt documentation. Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <andi@cosy.sbg.ac.at> [PATCH] sundance: attempt to address high irqs due to TX overflow In at least some versions of Kernel 2.6 (2.6.8.1, 2.6.11-rc2) the driver drivers/net/sundance.c creates high interrupt load (~ 100 interrupts per second) even in case of no network traffic at all. It seems that some sort of TX overflow handling is misplaced and triggers interrupts very often even in case of no data to send. The TX overflow handling has been moved to a more appropriate place. While there, an off by one error of reading the TX status has also been corrected by moving the read after the break. Thanks to Jeroen who tested the patch (also with high workload). Interrupts are down to normal and there are no obvious side effects. <davej@redhat.com> input: Looks like someone forgot the ARCH_ Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Add pin numbers to parkbd.c documentation. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: HID list handling cleanup, fix two bugs in pid.c and one in hid-core.c that the cleanup uncovered. Remove a workaround for BTC keyboard 46e:5303, because it's breaking other devices. Instead enable QUIRK_NOGET for this keyboard. Change set_idle handling to use a '0' report ID, meaning all reports instead of iterating over each individual report ID. This shouldn't change much, since most normal devices have only one report with id '0'. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <nacc@us.ibm.com> [PATCH] net/s2io: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. This makes the code independent of HZ values (particularly important when HZ changes or is dynamic). Compile- and boot-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Acked-by: Ravinandan Arakali <ravinandan.arakali@neterion.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <petero2@telia.com> input: Store alps hardware version info in the input_dev structure, so that it shows up in /proc/bus/input/devices. Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: psmouse should probe for "special" protocols only if max protocol is greater than IMEX so that proto=imps and proto=exps options work. Fix Kensington case. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <perex@suse.cz> [ALSA] Add newline to printk ALSA Core Added the newline to printk error output. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Ascii chars only RME HDSP driver Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Remove descriptions of obsolete options Documentation Removed descriptions of obsolete irq_mask and irq_list options for vxpocket, vxp440 and pdaudiocf drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Remove pm_register/pm_unregister SA11xx UDA1341 driver,ALSA Core,ISA Removed pm_register() and pm_unregister(). Use platform_device for suspend/resume, instead. The current implemention is still a hack. The whole ISA drivers should be rewritten with a proper bus definition. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] HDSP fixes Documentation,RME HDSP driver * init sequence cleanup and firmware upload related bugfixes * more robust revision detection scheme (should transparently handle new revisions) * allow hdsploader and the kernel fw loader to coexist this is useful for cardbus user who compiled the driver in-kernel (userspace may not be ready to upload the firmware when the card is probed) * removed confusing and obsolete passthru option (was interfering with the mixer when opening the device for capture or playback) this change requires a recompile of the userspace tools against the patched hdsp.h * removed confusing and obsolete line_outs_monitor module param * made precise_ptr the default behaviour, and runtime tweakable (removed corresponding module param) * add an alsa ctl to disable the use of the midi tasklet, and process midi data in the interrupt handler (using the tasklet is still the default) this is mainly intended for users of Ingo Molnar's RT patch * metering fix for Multiface/Digiface users (closes ALSA BUG #0000801) * small endianness fix * ALSA-Configuration.txt HDSP entry update * error messages cleanup Signed-off-by: Thomas Charbonnel <thomas@undata.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Changes 'Music' to 'Synth' in mixer control names EMU10K1/EMU10K2 driver Changes 'Music' to 'Synth' in mixer control names Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Interpret negative index as bitmask of permissible indexes Documentation,ALSA Core Currently arguments of the 'index' option from 0 through SNDRV_CARDS-1 force a module to take the specified index. Index -1 makes the module take the first available index. This patch extends this convention so that a negative index value is interpreted as a bitmask of the permitted indexes. Special cases: -1 0xffffffff 0 and up -2 0xfffffffe 1 and up -4 0xfffffffc 2 and up ... The patch includes also corrections of ALSA-Configuration.txt document. Signed-off-by: Thomas Hood <jdthood@yahoo.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Set default index of modem and bt87x drivers to -2 Documentation,ATIIXP-modem driver,BT87x driver,Intel8x0-modem driver VIA82xx-modem driver Set the default index value of modem and bt87x drivers to -2 so that the first slot is excluded when no index option is given. This gives other uadio drivers a chance to put them as the primary driver. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] use cached idVendor/idProduct values USB generic driver use the vendor/product IDs in the state structure instead of reading them again from the device Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] driver model type fixes for ALSA SA11xx UDA1341 driver,Control Midlevel,ALSA Core,Digigram VX core ES18xx driver,OPL3SA2 driver,AD1848 driver,CS4231 driver,ATIIXP driver ATIIXP-modem driver,CS4281 driver,ES1938 driver,ES1968 driver Intel8x0 driver,Intel8x0-modem driver,Maestro3 driver,VIA82xx driver VIA82xx-modem driver,ALI5451 driver,CS46xx driver,HDA Codec driver HDA Intel driver,NM256 driver,Trident driver,YMFPCI driver PDAudioCF driver,Digigram VX Pocket driver,PPC PMAC driver Fixes by Pavel Machek <pavel@suse.cz>: suspend() routines no longer get u32 as their parameter (they get pm_message_t, which is u32 for now, but will change in 2.6.12 or so). This fixes ALSA to notice this, and uses constants with right types where appropriate. It results in no code changes. [Best results will be when patching against latest -mm, you may get some warnings if you patch it into older kernel, but it should still do the right thing.] Please apply, Pavel [In addition, suspend callback type is changed to follow to the standard style taking no state argument -- Takashi] Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix descriptions about suspend/resume callbacks Documentation Fixed the descriptions about suspend/resume callbacks. The suspend callback takes pm_message_t argument, and resume takes no extra argument now. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Remove unused variable USB USX2Y Removed an unused variable to fix a compile warning. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix resume callback HDA Codec driver Fixed resume callback to follow the recent change of PM callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix inclusion of pm.h ALSA Core Added the missing inclusion of linux/pm.h. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix suspend/resume functions ALSA Core Fix the suspend/resume callback functions to follow the last change. (This fix was missing in the last patch.) Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] intel8x0 - fixed timeout in the 'get current DMA pointer' routine Intel8x0 driver Patch-level: High Signed-off-by: Wei Ni <Wei.Ni@uli.com.tw> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] intel8x0 - fix for broken PCI ID define for ICH6 Intel8x0 driver Patch-level: High Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Fix compile error (due to last suspend/resume fix) PPC PMAC driver Fixed the forgotten caller of suspend/resume callbacks to follow the recent PM fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix 32bit calls to snd_pcm_channel_info() PCM Midlevel Fix 32-bit calls to snd_pcm_channel_info(). Signed-off-by: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] hdsp ghost midi device fix RME HDSP driver * Prevents the creation of a second midi device for cards with only one midi I/O Signed-off-by: Thomas Charbonnel <thomas@undata.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Kconfig: cleanup sound menu ALSA Core This properly indents the sound menu. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace interruptible_sleep_on_timeout() with wait_event_interruptible_timeout() RawMidi Midlevel Use wai_event_interruptible_timeout() instead of deprecated interruptible_sleep_on_timeout(). Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add quirk for LEGEND ZhaoYang 3100CF Maestro3 driver Added a quirk entry for LEGEND ZhaoYang 3100CF. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] capture EXTINs with multichannel device EMU10K1/EMU10K2 driver This patch changes the emu10k1 multichannel capture device (hw:x,2) to capture the 16 external inputs by default. This involves adding DSP code to route the EXTINs to the FXBUS2 (EFX capture) channels and setting the corresponding FXWC bits by default. This allows capturing multiple inputs simultaneously. It completely bypasses the capture controls of the mixer. With my Audigy2 ZS I can capture LineIn, Line2, and Aux2 at the same time (6 channels). Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] simplify snd_usbmidi_count_bits() USB generic driver This makes the bit counting code smaller and simpler. Signed-off-by: Charles C. Bennett <ccb@acm.org> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Novation and MOTU USB MIDI support USB generic driver Rewrote USB MIDI protocol handling code to use callbacks for each protocol; added support for Novation and MOTU protocols; changed detection code to allow interrupt endpoints. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Korg1212 updates KORG1212 driver This patches covers the following issues: - solves double 'spin_lock_irqsave' problems; - eliminate the use of deprecated function 'sleep_on_timeout'; - clarify some 'printk' messages; and - logs korg DMA Errors due to PCI congestion. Signed-off-by: Haroldo Gamal <gamal@alternex.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] remove interruptible_sleep_on_timeout() usage GUS Library Replace deprecated interruptible_sleep_on_timeout() with wait_event_timeout(). Code is not identical, as the current sleeping system is 1 jiffy at a time checking atomic_read()'s return every iteration. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Remove interruptible_sleep_on_timeout(). ALSA<-OSS sequencer Use wait_event_interruptible_timeout() instead of deprecated interruptible_sleep_on_timeout(). Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add __iomem prefix BT87x driver Added __iomem prefix to the mmio pointer. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add quirk for Fujitsu S6210 Intel8x0 driver Added ac97_quirk for Fujitsu S6210. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] MPU-401 PnP support Documentation,MPU401 UART Replace the ACPI PnP code with generic PnP calls. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] enable disabling of isapnp OPL3SA2 driver Fixed a logic error that prevented the 'isapnp=0' module parameter from taking effect. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fixes als100 not detecting opl3 ALS100 driver This patch fixes issue when opl3 device couldn't be found due to numbering of devices in pnp card, because search of opl3 device started from mpu device, which could have number greater than opl3 could. Example: MPU is 00:01.03 and OPL is 00:01.01 Signed-off-by: Anton Romanov <theli@ukr.net> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Bind master and HP controls with hp_only quirk AC97 Codec Bind master and HP controls when hp_only quirk is given, instead of removing master control. This fixes the problem of some laptops which require sync'ed volume for PC-speaker and headphone output. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] fix sound/isa/gus/interwave.c compile with PNP=n AMD InterWave driver Emmanuel Colbus sent this patch one month ago with the following description: There is a trivial bug in the file sound/isa/gus/interwave.c . The variable isapnp is defined only if CONFIG_PNP is enabled, but it is always used few lines after. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] add 96Khz support and setting sample rate for direct SPDIF output EMU10K1/EMU10K2 driver This patch should add support for 96Khz 'direct SPDIF' aka 'SPDIF Bypass' (not P16V) playback mode available on the Audigy1 and 2 and newer SBLives (?). It lets you bypass the 48khz DSP resampling when using the card in digital mode. It also adds 96khz analog playback support, good for testing but less interesting because it's downsampled to 48khz. A new mixer control 'Audigy SPDIF Output Sample Rate' is created, you can choose 44100, 48000, or 96000. Standard SPDIF playback, AC3 passthrough (real 96khz playback), and analog playback (96khz is resampled to 48khz in the DSP) all work with a 16 bit,96khz wav file. Only the last was tested due to lack of any SPDIF hardware. This was derived mostly from the opensource.creative.com driver. All that was needed for 96khz playback to work in analog mode was changing the format to 8000_96000 (looks like the creative driver supports 192khz too). And, of course this sample rate has always been supported (albeit downsampled) because if you have 48khz samples in a soundfont the envelope engine has to be able to pitch shift them in both directions. I still have not been able to figure out how to get 24 bit playback to work. This is possible, independent of the P16V, for spdif and analog 24/48 playback via the DSP. I do know how to access the full 24 bits from the ADC from within the DSP, just not how to get it in there. For one thing I have no idea which 24 bit format it supports. Some of them seemed to work with JACK but produced noise. This was generated with my multichannel patch but it applies against ALSA CVS as well. Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] MPU-401 driver cleanup MPU401 UART Correctly check for error codes returned by pnp_register_driver, use a common function for registering the sound card, and remove many #ifdef's. Signed-off-by: Matthieu Castet <castet.matthieu@free.fr> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] add STAC9708 output bias mixer control AC97 Codec This adds a mixer control for an undocumented bit of the STAC9708 that somehow affects the analog output. This should help reducing the distortion at high output levels on ymfpci and SBLive cards. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Added ICE1724 - ESI Juli@ code (not complete) + AK4114 code + AK4358 Serial BUS drivers,AK4114 receiver,AK4XXX AD/DA converters ICE1712 driver,ICE1724 driver Initial incomplete driver for ESI Juli@ cardcards based on ICE1724, AK4114, AK4358 and AK5385. The ICE1724 and ICE1712 main files plus some drivers are also updated (cleanups and new callbacks). Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] fix typo in assignment of snd_ak4114_spdif_playback_put AK4114 receiver snd_ak4114_spdif_playback_put was assigned to the .get callback which resulted in a duplicate initialization of that member Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] AK4114 - fixed workqueue initialization & removed debug code AK4114 receiver Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Added support for Terratec PHASE 22 ICE1712 driver,ICE1724 driver I've struggled for a couple of days with Terratec Phase 22 card. Chips used on it are well known but the combination is somehow unique. Phase 88 should have been similar... but it actually uses 1712 instead of 1721 (Envy24HT-S). So here is the patch against release 1.0.8 that adds Phase 22 to ice1724. I've tested only analog part (balances 1/4 TRS in and outs). Signed-off-by: Misha Zhilin <misha@epiphan.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Remove unused yss225.h Wavefront drivers yss225.h is just obsolete, not used/read by any codes. Let's remove it. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] split snd_emu10k1_trigger_voice into trigger and prepare functions EMU10K1/EMU10K2 driver This patch provides better sync between multiple voices by separating the trigger_voice function into prepare_voice which sets up the volume and filter parameters and trigger_voice which sets pitch target, current and initial pitch and enables the voice interrupt. For standard PCM this should not make much of a difference but will be important for minimizing phase error between voices for multichannel PCM. This behavior was derived from the opensource.creative.com driver. Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix rate setting on multiple codecs AC97 Codec From Ron Cococcia <ron.cococcia@request.com>: Fixed the PCM rate setting on multiple AC97 codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] fix typo in midi code RME HDSP driver fix typo in midi code Signed-off-by: Thomas Charbonnel <thomas@undata.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add support for Audigy2LS on MSI motherboard CA0106 driver Add support for Audigy2LS on MSI motherboard. Fixes Bug #0901 Signed-off-by: James Courtier-Dutton <James@superbug.demon.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Enables SPDIF output on the Audigy2 Value EMU10K1/EMU10K2 driver Enables SPDIF output on the Audigy2 Value. It seems to work for PCM, but not AC3 yet. Signed-off-by: James Courtier-Dutton <James@superbug.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add ac97_quirk for Dell machine Intel8x0 driver Added ac97_quirk option for Dell machine. Signed-off-by: Takashi Iwai <tiwai@suse.de> <syrjala@sci.fi> input: Make ati_remote clean up properly when removing either the device or the module. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <syrjala@sci.fi> input: Some changes to ati_remote key assignments: - Channel up/down keys are reversed on my ATI Remote Wonder. - Use KEY_TV, KEY_DVD and KEY_OK where appropriate. - Replace KEY_PLAYCD with KEY_PLAY. Signed-off-by: Ville Syrjala <syrjala@sci.fi> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: fix race timer handling races in gameport-based joystick drivers by moving pollig timer down into gameport and using spinlock to protect it. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Properly ignore padding fields in HID reports. Bug-found-by: Ted <6x0124@yahoo.com.tw> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <davem@nuts.davemloft.net> [PKT_SCHED]: Extended Matches API An extended match (ematch) is a small classifiction tool not worth writing a full classifier for. Ematches can be interconnected to form a logic expression and get attached to classifiers to extend their functionatlity. The userspace part transforms the logic expressions into an array consisting of multiple sequences of interconnected ematches separated by markers. Precedence is implemented by a special ematch kind referencing a sequence beyond the marker of the current sequence causing the current position in the sequence to be pushed onto a stack to allow the current position to be overwritten by the position referenced in the special ematch. Matching continues in the new sequence until a marker is reached causing the position to be restored from the stack. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PKT_SCHED]: Simple comparison ematch (cmp) The cmp ematch compares a static value provided by userspace against a 8, 16, or 32bit chunk read from the packet. The reading offset is provided by userspace and based on one of the skb layers (mac|nh|h). The ematch provides functionality to transform the byte order of the chunk and/or apply a mask and understands the operands eq, lt, and gt. Basically, it is very similiar to the u32 (e)match but tries filling the gaps left behind. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PKT_SCHED]: Multi byte comparison ematch (nbyte) The nbyte ematch allows comparing any number of bytes at an arbitary offset based on one of the skb layers. Its main usage is intended for IPv6 addresses but may be used for any kind of pattern. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PKT_SCHED]: u32 ematch The u32 ematch behaves exactly the same as a u32 match and will replace it in the long term. It allows the underlying classifiers to give hints about the position of the next protocol header (i.e. nexthdr+). Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PKT_SCHED]: Metadata ematch (meta) The meta ematch allows comparing various metadata values against static values from usersapce or other metadata values. It currently supports various numeric meta values such as netfilter mark, packet length, security level, interface indices, tc classid, load average, a random value but also variable length values such as interface names. Adding support for additional meta values is as easy as writing a data collector (usually 1-5 lines of code) and assign it to a id and type by putting it into the meta operations table. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PKT_SCHED]: Basic classifier The basic classifier is the most simple classifier one can think of, it doesn't do anything on its own but to support extended matches and actions. A basic classifier returns true if no ematches or actions are configured and thus can also be used as a catch-all classifier. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [ATM]: fore200e needs to be converted over to sk_atm(). Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [TIMER]: Export avenrun for packet scheduler meta ematch. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Merge xfrm{4,6}_bundle_ok/stale_bundle This patch merges __xfrm4_bundle_ok/__xfrm6_bundle_ok/stale_bundle so that when I add MTU verification code I don't have to put it in three places. It also moves the tests on dst->dev and dst->obsolete outside the loop since the former is identical throughout the bundle and the latter can only be positive on the final element which also happens to be dst->path. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <shaggy@austin.ibm.com> JFS: Fix array overflow On a system with more than 64 processors, commit_threads was too big and caused an array overflow. Always limit it to MAX_COMMIT_THREADS. Also, avoid waking up more than one commit thread at a time. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <akpm@osdl.org> [WORKQUEUE]: Add cancel_rearming_delayed_work() From: Arjan van de Ven <arjan@infradead.org> cancel_rearming_delayed_workqueue() is only used inside workqueue.c; make this function static (the more useful wrapper around it later in that function remains non-static and exported) Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <akpm@osdl.org> [IPVS]: Fix deadlock in update_defense_level() This function invokes si_meminfo() from timer context, which doesn't work due to bdev_lock not being an IRQ safe lock. So move it to keventd context. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV4]: Make loopback idev stick around. As it is when loopback_dev loses all of its IPv4 addresses its corresponding idev will be destroyed. Unfortunately as of last August route.c relies on the loopback idev to kill references to other idev objects. The end result is that when you do ip a f dev lo, unregistering other devices will hang until those dst objects referring to their idev objects die of natural causes. Of course this may never happen if the processes holding those references get dead-locked by invoking an operation that takes the RTNL. A simple solution is to make sure that loopback's idev sticks around all the time. Incidentally this also fixes the setting of some flags on the loopback idev object as currently the code that does it won't be called if you add the addresses to lo after bring it up. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV6]: Make loopback idev stick around. Mirror the ipv4 change. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [XFRM]: stale_bundle()'s test was reversed Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <vojtech@suse.cz> input: Fix Microtouch USB touchscreen Y axis direction. [0,0] should be upper left corner. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: fix timer handling race in sidewinder joystick driver by switching to gameport's polling facilities. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dale@farnsworth.org> [netdrvr mv643xx] Fix a few places I missed in the previous rename patch. Rename: mv64x60 => mv643xx Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Fix handling of unaligned tiny fragments not handled by hardware Check all fragments instead of just the last. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Increment tx_ring_skbs before calling eth_port_send, since otherwise the irq handler may check and decrement it before we increment it. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Clear transmit l4i_chk even when the hardware ignores it. Not absolutely necessary, but makes debugging easier. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Trivial. Remove repeated comment. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Call netif_carrier_off when closing the driver. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Update tx_bytes statistic when using hw tcp/udp checksum generation. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] We already set ETH_TX_ENABLE_INTERRUPT whenever we set ETH_TX_LAST_DESC. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Disable tcp/udp checksum offload to hardware. It generally works, but the hardware appears to generate the wrong checksum if the hw checksum generation wasn't used in the previous packet sent. I'm increasingly confident this is a hardware error. We'll disable hw tcp/udp checksum generation until we have a fix or workaround. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Enable the mv643xx ethernet support on platforms using the MV64360 chip. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Add ethtool support to the mv643xx ethernet driver. Initially, we add statistics and link status reporting. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <c.lucas@ifrance.com> [PATCH] drivers/pci/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver (from:http://kerneljanitors.org/TODO). Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dlsy@snoqualmie.dp.intel.com> [PATCH] PCI Hotplug: Fix OSHP calls in shpchp and pciehp drivers Here is a patch to fix a problem in OSHP calls in shpchp and pciehp drivers that was detected in 2.6.11-rc3. In this kernel, calls to acpi_evaluate_object() to evaluate OSHP returned AE_BUFFER_OVERFLOW with the existing code. Earlier kernels didn't return this error code. The correct fix should be making return_buffer pointer NULL for no value is returned from this method. Signed-off-by: Dely Sy <dely.l.sy@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] PCI: Add PCI quirk for SMBus on the Toshiba Satellite A40 The Toshiba Satellite A40 laptop hides its SMBus device, much like a number of Asus boards reputedly do. This prevents access to the LM90 hardware monitoring chip. This simple patch extends the PCI quirk used for the Asus and HP systems to this Toshiba laptop. Signed-off-by: Frans Pop <aragorn@tiscali.nl> Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ak@muc.de> [PATCH] PCI: allow x86_64 to do pci express On Mon, Feb 14, 2005 at 10:47:01AM +0100, Piotr Kaczuba wrote: > On Mon, Feb 14, 2005 at 10:18:43AM +0100, Andi Kleen wrote: > > Piotr Kaczuba <pepe@attika.ath.cx> writes: > > > Is there a reason why "PCI access mode" config option isn't available for > > > x86_64? Due to this, PCIE config options aren't available either. > > > > There is no 64bit PCI BIOS, so access is always direct. > > > > I assume you mean mmconfig access with "PCIE config options", that is > > a separate config option and available. > > I mean the PCIEPORTBUS option which depends on PCI_GOMMCONFIG or > PCI_GOANY. I assume that due to PCI_MMCONFIG / PCI_GOMMCONFIG mismatch > it's not available on x86_64. Ok, that's a bug in PCIEPORTBUS. Best is probably to completely remove the dependency, it doesn't make much sense (the code has to handle the case of mmconfig not being available at runtime anyways) Remove bogus dependency in PCI Express root driver. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <c-d.hailfinger.devel.2005@gmx.net> [PATCH] pci/quirks.c: unhide SMBus device on Samsung P35 laptop this patch is needed to make the SMBus device on my Samsung P35 laptop visible. By default, it doesn't appear as a pci device. Patch tested, works perfectly for me. Please apply. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2005@gmx.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <roland@topspin.com> [PATCH] PCI: clean up the msi api Remove the call to request_mem_region() in msix_capability_init() to grab the MSI-X vector table. Drivers should be using pci_request_regions() so that they own all of the PCI BARs, and the MSI-X core should trust it's being called by a correct driver. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <c-d.hailfinger.devel.2005@gmx.net> [PATCH] PCI: pci.ids update this patch partially updates drivers/pci/pci.ids to the current version from http://pciids.sf.net. I have gone over the diff to ensure nothing gets deleted/changed erroneously. There are some differences where I couldn't verify whether the in-kernel or the upstream version are correct, so I left them alone. Patch checked for build warnings and I'm running a kernel with it on my machine right now. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2005@gmx.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stevef@smfhome.smfdom> [CIFS] Handle RFC1001 NACK with length of 4 Signed-off-by: Steve French (sfrench@us.ibm.com) <shaggy@austin.ibm.com> JFS: allow iocharset=none mount option iocharset=none is an explicit option to specify the default character translation be used (no translation). This allows remounting a partition which was mounted with a different setting, and allows the same mount options to be used between 2.6 and 2.4 kernels, where there is a different default. Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <shaggy@austin.ibm.com> JFS: change project url to http://jfs.sourceforge.net/ Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com> <bunk@stusta.de> [PATCH] drivers/net/slhc.c: remove 2 functions This patch removes two unused global functions. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/shaper.c: make a variable static On Fri, Feb 18, 2005 at 07:18:19PM -0500, Jeff Garzik wrote: > Adrian Bunk wrote: > >This patch contains the following cleanups: > >- remove an unused #define SHAPER_BANNER > >- remove the sh_debug flag > > > >Signed-off-by: Adrian Bunk <bunk@stusta.de> > > you are removing presumably-useful debug code; NAK. OK, less invasive patch below. <-- snip --> This patch makes a needlessly global variable static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/tulip/interrupt.c: make a variable static This patch makes a needlessly global variable static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/tun.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/via-velocity.c: make a function static This patch makes a needlessly global function static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/ppp_deflate.c: make 2 structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/pppoe.c: make a struct static This patch makes a needlessly global struct static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/s2io.c: cleanups This patch contains the following cleanups: - make needlessly global code static - remove the unused blobal function get_xena_rev_id Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/bonding/: make 3 functions static This patch makes three needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/depca.c: make 2 structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/dgrs.c: make 3 functions static This patch makes three needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/ethertap.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/loopback.c: make a function static This patch makes a needlessly global function static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/amd8111e.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/3c527.c: make a struct static This patch makes a needlessly global struct static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/3c509.c: make 2 structs static This patch makes two needlessly global structs static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] ixgb: use netif_poll_{enable|disable} 1 use netif_poll_{enable|disable} to synchronize between poll and i/f down/up Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] ixgb: Avoid race e1000_watchdog and ixgb_clean_tx_irq Avoid race between e1000_watchdog and ixgb_clean_tx_irq Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] ixgb: Robert Olsson's fix and refinement to poll obert Olsson's fix and refinement to the poll routine Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] ixgb: Invalidate software cache, when EEPROM write occurs Added code to invalidate software cache, when a write is made to the EEPROM. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] ixgb: Driver version, white space, other stuff Driver version number, white space, comments, device id & other changes Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Robert Olsson's fix and refinement 1 Robert Olsson's fix and refinement to the poll routine Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: use netif_poll_{enable|disable} 2 use netif_poll_{enable|disable} to synchronize between poll and i/f down/up Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Avoid race between e1000_watchdog 3 Avoid race condition between e1000_watchdog and e1000_clean_tx_irq Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Delay clean-up of last Tx buffer 4 Delay clean-up of last Tx buffer to fix pre-mature writeback of Tx descriptors. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Fix WOL settings in 82544 based 5 Fix WOL settings in 82544 based adapters Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Patch from Peter Kjellstroem -- 6 Patch from Peter Kjellstroem -- fix lockup with 82547 Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Checks for desc ring/rx data 7 Add checks for desc ring/rx data bufs spanning 64k address boundary Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Report failure code when loopback 8 Report failure code when loopback test fails Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Fixes related to Cable length 9 Fixes related to Cable length estimation Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mallikarjuna.chilakala@intel.com> [PATCH] e1000: Driver version white space, 10 Driver version number, white space, comments, device id & other changes Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <vojtech@suse.cz> input: Fix a few conditions in power.c, which kept it from doint anything at all. Found-by: BJ Douma <bjdouma@xs4all.nl> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <ak@suse.de> [PATCH] Fix selection of command serial numbers and pids This patch fixes one of Christroph's fixme comments in the SCSI midlayer. The selection of the serial number and pid for commands was done by a global variable and not SMP safe. The race was not very serious because it was only used for error handling, but it's still better to fix it. I audited all the drivers and none seemed to use them for anything interesting, so I just made it a per host counter protected by host lock. (in fact they could be probably removed because they only see to be used as a flag in exception handling and for debugging. The patch would be unfortunately quite big because a lot of driver printks use them) This should be slight faster on SMP too because the cache line of the counter won't bounce around the machine. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <matthew@wil.cx> scsi: remove device_request_lock The static device_request_lock doesn't protect anything; remove it. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] qla1280: remove qla1280_proc_info reading the /proc/scsi/qla1280/* files can easily corrupt kernel memory. As the feature is deprecated, and the qla1280 implementation doesn't return very usefull implementation but is so buggy that any serious user would have noticed we just remove it. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] qla1280: use pci_map_single Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] qla1280: update changelog Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] mark eata_pio broken it oopses when trying to use it with my SmartRaid IV card, it's a mess and the only hardware supported by it but not the eata driver are two 10-year old ISA boards. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <hch@lst.de> [PATCH] mark qlogicisp broken It's lacking EH support and the hardware is supported by the qla1280 driver now. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape descriptor based sense data support The patch at the end of this message converts the SCSI tape driver to support also descriptor based sense data. Test for deferred sense data have been added in a couple of places and the EOM tests have been unified. Some tests have been simplified but the patch is not meant to change the current behavior. The patch is against 2.6.11-rc4 and has been tested to some extent. The patch also includes the msleep_interruptible change from from kernel janitors. Thanks to Doug Gilbert for doing a first version of this sense data conversion. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <stern@rowland.harvard.edu> [PATCH] Retry supposedly "unrecoverable" hardware errors This is an updated and unmangled version of the patch sent in by Martin Peschke. Apparently some drives report Hardware Error sense for problems which do improve after retrying, so the patch retries these supposedly "unrecoverable" errors for such devices. In addition to the IBM ESS drive it adds a blacklist entry for the drive inside the MPIO HS200 Gigabox. Signed-off-by: Martin Peschke <mpeschke@de.ibm.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <stern@rowland.harvard.edu> [PATCH] Add a NOREPORTLUN blacklist flag This patch adds a NOREPORTLUN blacklist flag for a disk made by "WDC" (Winchester?). The drive's firmware crashes when it receives REPORT_LUNS, even though it claims to be SCSI rev 04. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <dale@farnsworth.org> [netdrvr mv643xx] Ensure that we only change the Port Serial Control Reg while the port is disabled. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> [netdrvr mv643xx] Remove call to msleep() while locks are held. We don't really need to wait for the link to come up. It was a workaround to avoid a transient error message, "Virtual device %s asks to queue packet!\n", in dev_queue_xmit() when called by ic_bootp_send_if(). This happens because right after opening the network device, there is a pending PHY status change interrupt causing the driver to call netif_stop_queue(). A half second later, the link comes up and all is well. We could have moved the call to msleep() to mv643xx_eth_open() to perpetuate the workaround, but I think it's best to remove it entirely. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <bunk@stusta.de> [PATCH] drivers/net/lp486e.c: make some code static This patch makes some needlessly global code static and makes CUcmdnames const. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/sb1000.c: make some variables static This patch makes some needlessly global variables static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/net/via-rhine.c: make a variable static const This patch makes a needlessly global variable static const. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <davej@delerium.kernelslacker.org> [AGPGART] Don't scan whole bus for a VGA card. Use the handy pci_get_class() function instead of implementing our own pci bus walking loop. Also makes it skip non-VGA devices fixing up a long-standing FIXME. Previously, it may have been tripping up on AGP bridges, which could have caused all sorts of sillyness. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Rename a bunch of ambiguous variables. mode = What X wants us to set the mode to (As set by AGPMode in X config) cmd = PCI_AGP_STATUS from the AGP bridge. tmp = PCI_AGP_STATUS from the graphic card. mode -> requested_mode cmd -> bridge_agpstat tmp -> vga_agpstat Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Fix refcount bug in mode parsing code. The pci_get_class conversion leaked this refcount. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Check the bridge is in 3.0 mode, not the graphic card. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Warn and fix up mode if userspace passes nonsense. Check the reserved bits in the agp mode register. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Fix up the reserved bits. The previous checks were against AGP_STAT values, but userspace passes us an agp command register. <davej@delerium.kernelslacker.org> [AGPGART] Do some sanity checks on the rates that userspace passes. The AGP specifications define the following... agp2 agp3 000 BAD BAD 001 x1 x4 010 x2 x8 011 BAD x8 100 x4 BAD 101 BAD BAD 110 BAD BAD 111 BAD BAD Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Name & Shame the apps passing bad flags. (Basically a distinction between XFree and Xorg) Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Add mechanism for chipset specific errata. Allow chipset drivers to tell the generic routines not to enable certain features if they have errata when those features are used. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] AMD 761 errata workaround. B0/B1 steppings of this chipset were horribly broken, and couldn't do fast writes, or side band addressing. Looking through the errata on this one reads like a horror story, it's a miracle it could get AGP x1 working. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] AMD 751 errata workaround. Some combinations of NVidia GeForce cards and this AGP chipset cause lockups when operated in AGP x2 mode. Force them to x1 mode for safety. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Remove pointless tests for bridge vendor from amd-k7-agp driver. If we got far enough to run this code, we *must* have an AMD bridge. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Introduce routine to check current operating mode of agp bridge. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Mask out the reserved bits of the agp mode register before handing them to userspace. X munges what we hand to it, so with luck, this will lower the possibility of it handing us something with reserved bits set. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] In AGP2.0 mode, if we're in 1X mode, disable fast writes. In this mode, fast writes are just ignored, and treated as regular PCI writes, but disabling them explicitly doesn't hurt. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Fix stupid thinko in device discovery. Should fix the 'cant find AGP VGA controller' warnings. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Fix the same pci_get_class bug in the amd-k7 driver. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Silly thinko in reserve bit masking. Stupid inversion meant we passed '0' to userspace, and madness ensued resulting in very funky visuals. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Make sure we don't give up searching for gfx cards. We need to clear the previously found cap_ptr, or we exit after finding the first one, even if its not the one plugged into the bridge we're looking at. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Make agp=off boot param work for Intel AGP drivers. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Trailing whitespace removal. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Print diagnostic info when failing to determine aperture size on VIA systems. I've seen this happen a few times, and never got to the bottom of it, so hopefully this will make things a little easier to diagnose what's going on. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Trailing whitespace removal de jour. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] VIA AGPGARTs can support really small aperture sizes. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Don't clobber other bits in control register when flushing TLB on VIA. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Various "I'm a dumbass" compile fixes. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Lower 7 bits of TLB flush register must be zero. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Drop the Intel-mch AGP driver. Andi Kleen points out that the intel-agp driver actually works on i865's, where the -mch driver doesn't. The -mch driver was something of a failed experiment. Hoping that the code would be much cleaner, I forked the intel-agp driver into this variant, and removed some legacy bits. The result was a third the size, but it still was no work of art, worse yet -- it didn't even do what it said on the can. intel-agp still supports everything that the -mch driver did, so we can just remove this from the tree and fall back to the old driver. Signed-off-by: Dave Jones <davej@redhat.com> <davej@delerium.kernelslacker.org> [AGPGART] Convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] i810 suspend/resume support. From Nigel Cunningham/Karol Kozimor Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] yet more whitespace removal. Signed-off-by: Dave Jones <davej@redhat.com> <vojtech@suse.cz> input: Fix keyboard scrollwheel support, add horizontal wheel support, and enable both by default. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <davej@redhat.com> [AGPGART] Compile fixes. Somehow the conversion to the extra arg for agp_collect_device_status() got dropped. Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] aper_base can't be signed. We pass this to remap_pfn_range after shifting it right. Nasty things happen as a result. Signed-off-by: Dave Jones <davej@redhat.com> <vojtech@suse.cz> input: Add a missing ';' to hid-core.c Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <davej@redhat.com> [AGPGART] Rework AGPv2 rate verification. The spec says its valid for multiple bits to be set when we read rate, however we must take care to ensure that we only write 1 bit back. This removes some bogus warnings that appeared on some boxes. Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] allow multiple backends to be initialized. From: Michael Werner <werner@mrcoffee.engr.sgi.com> This patch adds support for initializing and addressing multiple AGP bridges using the agpgart driver. In particular, it extends agp_acquire and agp_allocate_memory so that different bridges can be acquired and memory allocated within a specific AGP aperature. From: Brice Goglin <Brice.Goglin@ens-lyon.fr> It seems that memsetting the whole bridge structure to 0 (instead of juste the agp_in_use field) fixes Benoit's problem too. No idea which field was responsible for this. New patch attached. From: Mike Werner <werner@sgi.com> add bridge assignment missed in agp_allocate_memory From: Andi Kleen <ak@suse.de> Here's the correct fix. agp_bridge is defined in drivers/char/agp/agp.h. It's a bit ugly though. Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] add agp_find_bridge function From: Michael Werner <werner@mrcoffee.engr.sgi.com> This patch gives non-generic platforms a method for using platform specific agp_find_bridge functions. Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [AGPGART] allow drivers to allocate memory local to the bridge From: Michael Werner <werner@mrcoffee.engr.sgi.com> This patch allows drivers to allocate memory local to the bridge using platform specific alloc_page routines. Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [DRM] add support for new multiple agp bridge agpgart api From: Michael Werner <werner@mrcoffee.engr.sgi.com> This patch adds drm support for new multiple agp bridge agpgart api. Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com> <davej@redhat.com> [FB] add support for new multiple agp bridge agpgart api From: Michael Werner <werner@mrcoffee.engr.sgi.com> This patch adds fb support for new multiple agp bridge agpgart api. Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Dave Jones <davej@redhat.com> <davem@nuts.davemloft.net> [MM]: Add set_pte_at() which takes 'mm' and 'addr' args. I'm taking a slightly different approach this time around so things are easier to integrate. Here is the first patch which builds the infrastructure. Basically: 1) Add set_pte_at() which is set_pte() with 'mm' and 'addr' arguments added. All generic code uses set_pte_at(). Most platforms simply get this define: #define set_pte_at(mm,addr,ptep,pteval) set_pte(ptep,pteval) I chose this method over simply changing all set_pte() call sites because many platforms implement this in assembler and it would take forever to preserve the build and stabilize things if modifying that was necessary. Soon, with platform maintainer's help, we can kill of set_pte() entirely. To be honest, there are only a handful of set_pte() call sites in the arch specific code. Actually, in this patch ppc64 is completely set_pte() free and does not define it. 2) pte_clear() gets 'mm' and 'addr' arguments now. This had a cascading effect on many ptep_test_and_*() routines. Specifically: a) ptep_test_and_clear_{young,dirty}() now take 'vma' and 'address' args. b) ptep_get_and_clear now take 'mm' and 'address' args. c) ptep_mkdirty was deleted, unused by any code. d) ptep_set_wrprotect now takes 'mm' and 'address' args. I've tested this patch as follows: 1) compile and run tested on sparc64/SMP 2) compile tested on: a) ppc64/SMP b) i386 both with and without PAE enabled Signed-off-by: David S. Miller <davem@davemloft.net> <davej@redhat.com> [AGPGART] add bridge parameter to driver functions From: Michael Werner <werner@mrcoffee.engr.sgi.com> Add bridge parameter to create_gatt_table, free_gatt_table and mask_memory Signed-off-by: Mike Werner <werner@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> <davem@nuts.davemloft.net> [SPARC64]: Pass mm/addr directly to tlb_batch_add() No longer need to store this information in the pte table page struct. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [NET]: Add skb_header_release and use it in net/ipv4/tcp This patch adds skb_header_release which can be called when the owner of an skb no longer needs to access the header at all. What constitutes the header is left up to the users of the skb to define. For instance, for outbound TCP packets we define the header to be anything in front of the TCP payload. Therefore we add skb_header_release calls to all the paths where outound TCP packets are produced. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [NET]: Add skb_header_cloned and use it in e1000/tg3 This patch adds skb_header_cloned which tells us whether we need to copy the data before we can modify the header part of the skb. Again, what constitutes the header is left up to the users of the skb to define. This patch then uses this function in e1000/tg3 to copy the data before the TCP/IP header is modified. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [PPC]: Use new set_pte_at() w/mm+address args. Based almost entirely upon an earlier patch by Benjamin Herrenschmidt. Signed-off-by: David S. Miller <davem@davemloft.net> <laforge@netfilter.org> [NETFILTER]: ipt_hashlimit: replace rwlock with spinlock As Samuel points out, the rwlock doesn't really make much sense. Signed-off-by: Samuel Jean <sjean@cookinglinux.org> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net> <laforge@netfilter.org> [NETFILTER]: ipt_hashlimit: use hlist instead of list head Use hlist instead of list_head to save lots of memory for the hash buckets. Signed-off-by: Samuel Jean <sjean@cookinglinux.org> Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - use netif_carrier_*() Removes the orinoco driver's custom and dodgy "connected" variable used to track whether or not we're associated with an AP. Replaces it instead with netif_carrier_ok() settings. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - update printk()s Reformats printk()s, comments, labels and other cosmetic strings in the orinoco driver. Also moves, removes, and adds ratelimiting in some places. Behavioural changes are trivial/cosmetic only. This reduces the cosmetic/trivial differences between the current kernel version, and the CVS version of the driver; one small step towards full merge. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - use mdelay()/ssleep() more Use mdelay() or ssleep() instead of various silly more complicated ways of delaying in the orinoco driver. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - add free_orinocodev() Introduce a free_orinocodev() function into the orinoco driver, used by the hardware type/initialization modules to free the device structure in preference to directly calling free_netdev(). At the moment free_orinocodev() just calls free_netdev(). Future merges will make it clean up internal scanning state, so merging this now will reduce the diff noise. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - cleanup low-level code Apply some cleanups to the low-level orinoco handling code in hermes.[ch]. This cleans up some error handling code, corrects an error code to something more accurate, and also increases a timeout value. This last can (when the hardware plays up) cause long delays with spinlocks held, which is bad, but is rather less prone to prematurely giving up, which has the unfortunate habit of fatally confusing the hardware in other ways :-/. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - cleanup PCI initialization Update the initialization code in the various PCI incarnations of the orinoco driver. This applies similar initialization and shutdown cleanups to the orinoco_pci, orinoco_plx and orinoco_tmd drivers. It also adds COR reset support to the orinoco_plx and orinoco_tmd drivers, improves PCI power management support in the orinoco_pci driver and adds a couple of extra supported cards to the ID tables. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - use modern module_parm() Add descrptions to module parameters in the orinoco driver, and also add permissions to allow them to be exported in sysfs. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - PCMCIA initialization cleanups Cleanup the various bits of initialization code for PCMCIA / PC-Card orinoco devices. This includes one important bugfix where we could fail to take the lock in some circumstances. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - update is_ethersnap() Make the is_ethersnap() function take a void * rather than a pointer to the internal header structure. This makes more logical sense and reduces dependencies between different parts of the code. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - prohibit IBSS with no ESSID Remove has_ibss_any flag and never set the CREATEIBSS RID when the ESSID is empty. Too many firmware break if we do. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - delay Tx wake Delay netif_wake_queue() until the packet has actually been transmitted, rather than just when the firmware has copied it into its internal buffers. This seems to prevent problems on some Intersil firmware versions (I suspect the problems were caused by the firmware's buffers filling up). Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - WEP updates Updates to the WEP configuration code. This adds support for shared key authentication on Agere firmwares. It also adds support (in some cases) for changing the WEP keys without disabling the MAC port (thus triggering a reassociation by the firmware). This is needed by 802.1x implementations, although it's not clear if the code so far is sufficient to allow working 802.1x. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - update firmware detection Update firmware detection code. This will now reliably detect Intersil firmwares past verison 1.x, a serious flaw in the previous code. It cleans up the code, and reduces the size of the private structure by using single bits for the various firmware feature flags. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - update version and changelog Previous patches have brought the in-kernel orinoco driver roughly to parity with version 0.14alpha2 from out-of-tree. Update the version number and changelog accordingly. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <viro@parcelfarce.linux.theplanet.co.uk> [PATCH] smc91x iomem annotations usual iomem annotations; Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mlord@pobox.com> [libata qstor] minor update per LKML comments * use __le{32,64} * use DMA_{32,64}BIT_MASK <tklauser@nuerscht.ch> [PATCH] drivers/scsi/sata_vsc: Use the DMA_{64,32}BIT_MASK constants Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() See http://marc.theaimsgroup.com/?t=108001993000001&r=1&... for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <tklauser@nuerscht.ch> [PATCH] drivers/scsi/ahci: Use the DMA_{64,32}BIT_MASK constants Use the DMA_{64,32}BIT_MASK constants from dma-mapping.h when calling pci_set_dma_mask() or pci_set_consistent_dma_mask() See http://marc.theaimsgroup.com/?t=108001993000001&r=1&... for details Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <romieu@fr.zoreil.com> [PATCH] strip: use of netdev_priv Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <vojtech@suse.cz> input: Add support for less usual ALPS touchpads, rearrange code, separate touchpoint/passthrough into its own input device. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: adjust file2alias utility to export aliases for serio drivers (serio:tyNprNidNexN). Move serio_device_id from serio.h to mod_devicetable.h Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: Fix sermouse not to call serio_open() twice. Bug introduced in last serio update. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: Fix compilation warning in PID driver and generally repair force feedback effect erase routine that could never have worked. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Rename hid_find_field to hidinput_find_field to match the naming convention in hid-input Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: fix identation in PID driver. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Workaround in i8042 for PnP BIOS reporting incorrect command register address. If the address is in the standard range, and a non-standard number is reported, we ignore it and use the default. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Update kernel documentation to reflect the i8042.noacpi -> i8042.nopnp change. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Fix i8042's interactions with ACPI. Only believe what ACPI tells us if it is enabled, if is PnP enabled, and if is ACPIPnP enabled. It will still lie to us, but it won't be too bad. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Make ALPS protocol synchronization dependent on protocol variant to enhance robustness. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <herbert@gondor.apana.org.au> [IXGB]: Check skb_header_cloned for TSO packets. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <vojtech@suse.cz> input: Fix usage of *_MAX macros. Check keycode in KDIOSKEYCODE and EVIOCSKEYCODE macros to be <= KEY_MAX. Check off-by one mistakes in keycodemax usage. There was a lot of potential for overwriting memory. Also enlarge NR_KEYS to 256 while we're at it. Found-by: Georgi Guninski <guninski@guninski.com> Initial-patch-by: Linus Torvalds <torvalds@osdl.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <ajgrothe@yahoo.com> [CRYPTO]: Add Tiger digest algorithms. Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> <vojtech@suse.cz> input: Separate dualpoint and passthrough flags in ALPS driver. Some non-dualpoint devices need passthrough enabled. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <jgarzik@pobox.com> [libata ahci] Print out port id on error messages Pointed out by Justin Cormack, Brett Russ, and others. <vojtech@suse.cz> input: Make the i8042 PnP detection even more BIOS and CONFIG-proof. This now should work with almost any BIOS and kernel config combination. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Print a warning message when PnP fails to find an i8042 controller. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Disable scancode event generation in hid-core.c, as it can cause floods of events when devices don't honor the set_idle() call or report noise on absolute values, until a solution for this is found. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: atkbd - "scroll" is a per-device attribute, don't use global flag in interrupt handler. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Remove filtering of duplicate events in hid-core. HIDDEV wants them, and hid-input doesn't care, since input does the filtering anyway. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Add a missing brace in hid-core.c Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <gregkh@suse.de> PCI: remove pci_find_device usage from pci sysfs code. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <vojtech@suse.cz> input: After testing on real world hardware, it's obvious we can't trust ACPIPnP nor PnPBIOS to properly report the existence of a keyboard and mouse port in all cases. Some BIOSes hide the ports if no mouse or keyboard is connected, causing trouble with eg. KVM switches. The i8042 driver now does read-only probing first, which should not cause any problems even if an i8042 controller really is not present. However, on IA64 we still need to trust ACPI, since legacy-free hardware is common there and invalid port accesses cause exceptions. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <benh@kernel.crashing.org> [PATCH] PCI: Apple PCI IDs update please sent that to Andrew/Linus in your next batch for after 2.6.11, those new IDs will be needed for support of the new iMac G5. The changes to pci.ids match the changes already submitted to the web database. From: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <jgarzik@pobox.com> [libata ahci] support ->tf_read hook <akpm@osdl.org> [PATCH] PCI: tone down pci=routeirq message From: Bjorn Helgaas <bjorn.helgaas@hp.com> Tone down the message about using "pci=routeirq". I do still get a few reports, but most are now prompted just by the fact that my email address appears in dmesg in an "error-type" message. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <alexn@dsv.su.se> [PATCH] PCI: fix hotplug double free With the brackets missed out func could be freed twice. Found by Coverity tool Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] PCI: One more Asus SMBus quirk One more Asus laptop requiring the SMBus quirk (W1N model). Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <davem@nuts.davemloft.net> [MM]: Add 'pfn' arg to flush_cache_page(). Based almost entirely upon a patch by Russell King. Signed-off-by: David S. Miller <davem@davemloft.net> <dtor_core@ameritech.net> input: set gameport devices' bus so they can be bound to drivers. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Fix string formatting in joydump. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - PCMCIA initialization cleanups The client_reg.Attributes field is no longer used. Don't bother setting it. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <hermes@gibson.dropbear.id.au> [PATCH] Orinoco driver updates - cleanup PCI initialization As someone pointed out, pci_set_drvdata() belongs right at the end of PCI initialization. Correct this in the various PCI based orinoco drivers. Signed-off-by: David Gibson <hermes@gibson.dropbear.id.au> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] sb1000: reduce ioctl stack usage sb1000_dev_ioctl() (on i386) uses 824 bytes of stack space, all due to overuse of inline functions. By changing a few infrequently used functions to non-inline, the stack usage is reduced to only 60 bytes. Nothing in a fast path is changed. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <dcbw@redhat.com> [PATCH] wireless: Clean up firmware loading in (resend) Identify different firmware by enums, not strings, as we need to have some integral firmware identifier for choosing maximum rssi values for each different firmware type. Consolidate the information about firmware filenames and capabilities in the atmel module, not in atmel_cs or atmel_pci. Move common prototypes and firmware enum into new atmel.h file. The atmel_cs driver also thought that init_atmel_card() took "int irq" as the first parameter, this is now fixed to be "unsigned short irq". Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <dcbw@redhat.com> [PATCH] wireless: WEXT quality cleanups + max rssi (resend) Use correct maximum rssi level for at76c502e-type cards, and correct values in the qual.updated field to more closely match the current Wireless Extensions API. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <dcbw@redhat.com> [PATCH] wireless: Make Atmel driver use SET_NETDEV_DEV Make the Atmel wireless driver use SET_NETDEV_DEV to get the correct entries in sysfs. Seems like somebody meant to do this but it got lost. atmel_cs.c was previously fixed to pass in the correct struct device * via handle_to_dev() but the driver never actually used it. Signed-off-by: Dan Williams <dcbw@redhat.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <davem@nuts.davemloft.net> [MM]: Pass correct address down to bottom of page table iterators. Some routines, namely zeromap_pte_range, remap_pte_range, change_pte_range, unmap_area_pte, and map_area_pte, were using a chopped off address. This causes bogus addresses to be passed into set_pte_at() and friends, resulting in missed TLB flushes and other nasties. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> [SPARC64]: Do the init_mm check inline in set_pte_at(). Signed-off-by: David S. Miller <davem@davemloft.net> <vojtech@suse.cz> input: Add more PnP IDs to i8042 PnP probe table. BIOS manufacturers are very creative. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Make gameport digital joysticks work on 2.6 and x86_64 again. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dale@farnsworth.org> mv643xx: raise size of receive skbs to allow for an optional VLAN tag VLAN tag needs an extra 4 bytes in receive skb Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dale@farnsworth.org> mv643xx: remove superfluous function, mv643xx_set_ethtool_ops Signed-off-by: Dale Farnsworth <dale@farnsworth.org> <dwmw2@shinybook.infradead.org> Audit IPC object owner/permission changes. Add linked list of auxiliary data to audit_context Add callbacks in IPC_SET functions to record requested changes. Signed-off-by: David Woodhouse <dwmw2@infradead.org> <ddstreet@ieee.org> input: Add MicroTouch (3M) serial touchscreen driver From: Dan Streetman <ddstreet@ieee.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <ddstreet@ieee.org> input: Add the option to use cooked coordinates in MicroTouch USB touchscreen driver. From: Dan Streetman <ddstreet@ieee.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <chrisw@osdl.org> Currently touching audit.h triggers a large rebuild because it's sucked in via fs.h. It's there because of the getname()/putname() requirements that come with CONFIG_AUDITSYSCALL. Remove header dependency by pushing relevant putname() implementation into fs/namei.c. It adds function call overhead for putname() callers when CONFIG_AUDITSYSCALL is set, quite minor cost for detangled source. Signed-off-by: Chris Wright <chrisw@osdl.org> <chrisw@osdl.org> A closer sweep of configurable audit symbols shows the following need audit.h included when audit.h is detangled from fs.h. arch/um/kernel/ptrace.c for audit_syscall_entry/exit arch/s390/kernel/ptrace.c for audit_syscall_entry/exit arch/mips/kernel/ptrace.c for audit_syscall_entry/exit Signed-off-by: Chris Wright <chrisw@osdl.org> <davem@nuts.davemloft.net> [S390]: Fix build after set_pte_at() changes. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@nuts.davemloft.net> Resolve conflicts. <perex@suse.cz> [ALSA] TEA575x - add video release callback to avoid warning TEA575x tuner Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] FM801 - radio: Fixed thinko for tea575x_tuner module parameter (int type not bool) FM801 driver Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] emu10k1 driver - add multichannel device hw:x,3 [1/8] EMU10K1/EMU10K2 driver Update header file for multichannel support. Add some new register info. Signed-Off-By: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] emu10k1 driver - add multichannel device hw:x,3 [2-8/8] EMU10K1/EMU10K2 driver This series of patches adds a 16 channel non interleaved PCM playback device, hw:x,3, to the emu10k1 driver. It also adds support for the newly discovered per channel half loop interrupt. Signed-Off-By: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] emu10k1 - add 'voices' /proc entry for debugging the voice allocator EMU10K1/EMU10K2 driver This patch adds a 'voices' /proc entry for debugging the voice allocator. It also increases the size of the ptr_regs files to display the values for all channels. Finally it updates the names of the EFX recording inputs from '???' to 'FXBUS2_*'. Signed-Off-By: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Fix detection of AFG node HDA Codec driver Fix the detection of AFG node with unsolicited events. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] add code to dump packets USB generic driver add a compile-time option to log the contents of USB packets Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix CM9761A codec support AC97 Codec Fixed the codec patch for (probably) CM9761A. It looks incompatible with other CM9761 models. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix CM9761 again AC97 Codec Revert the last addition for CM9761A support. The codec doesn't support the real control of Master/PCM volumes, too. Instead, fixed the default multi-channel register setting now. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] use unsigned 1-bit fields Virtual Midi Can't have a boolean and a sign bit in 1 bit. Fix (14) boolean/bitfield sparse warning: include/sound/seq_virmidi.h:41:16: warning: dubious one-bit signed bitfield Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix the wrong function call from ioctl Control Midlevel Fixed the call of a wrong function from ioctl. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] [SPARSE] Fix __user pointers PCM Midlevel,RawMidi Midlevel,ALSA<-OSS emulation,ALSA sequencer Fixed __user pointers including other misc fixes: - replaced the obsolete CONFIG_SND_IOCTL32_EMUL. - added the proper segment change before passing the kernel pointer as the user pointer in PCM code. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] [SPARSE] Use unsigned int :1 bitfields EMU10K1/EMU10K2 driver,GUS Library,ALSA<-OSS emulation,Trident driver YMFPCI driver,CMIPCI driver,Intel8x0-modem driver,Maestro3 driver ALI5451 driver,ICE1712 driver Use unsigned int :1 bitfields. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix comiple with old gcc EMU10K1/EMU10K2 driver Fix compile with old gcc. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] [SPARSE] Fix __user pointers EMU10K1/EMU10K2 driver Fix the access to __user pointers in some places. Added proper casts. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] [SPARSE] Add __user pointer casts Wavefront drivers Added __user pointer casts to sys_*() arguments Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] [SPARSE] Use NULL instead of 0 HDA Codec driver Use NULL for pointers instead of 0. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix invalid use of readl/writel KORG1212 driver Fixed the invalid use of readl/writel to normal pointers. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] remove an unnecessary printk EMU10K1/EMU10K2 driver This patch removes an unnecessary printk accidentally left in the multichannel patch. Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix compilation with compat support ALSA sequencer Fix the compilation with 32bit compat support. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Don't set up the front stream twice HDA Codec driver Don't set up the front stream twice in the loop. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix mono volume/mute controls HDA generic driver Fixed mono volume/mute controls. They were handled as stereo mistakenly. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix SPDIF output HDA Codec driver Fixed SPDIF output (over multi-out). Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] remove superfluous from_timer_port parameter ALSA sequencer Removed superfluous from_timer_port parameter from snd_seq_queue_process_event and queue_broadcast_event functions. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix indentation Generic drivers Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] add support for Emagic USB MIDI interfaces USB generic driver Add support for the Emagic USB MIDI protocol (raw MIDI with 'F5 xx' port switching) and for Unitor8/AMT8/MT4 devices. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] add logging to send_bulk_static_data USB generic driver Add the optional dump_urb call to send_bulk_static_data, too. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] ignore Emagic padding bytes USB generic driver Ignore the 0xff padding bytes added by Emagic devices at the end of input packets. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix Emagic broadcast port names USB generic driver Name the broadcast port 'Broadcast' instead of 'Broadcast/Control' because control messages are returned through the first MIDI port. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix Digital Input HDA Codec driver,HDA generic driver Fixed the SPDIF digital input support for HDA codecs. New controls 'IEC958 Capture Switch' and 'IEC958 Capture Default' are added. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] CMI8768 patch CMIPCI driver Hi, I made a patch for CM8768, which has the same PCI ID but there are several HW diffecece, aas listed: 1. 8768 has no PCM volume control. 2. The ADC of 8768 can only record in 44.1kHz or 48kHz. 3. 8768 can support up to 8 channels. I made change for item 2 and 3, I want to use the softvol plugin but don't know how to. The driver just don't generate the PCM volume slider for now. Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] ALC882 support, fix ALC880 5-stack mode HDA Codec driver - Added the ALC882 support. Currently no model selections; full-mode with digital I/O only. - Fixed the widget assignment in ALC880 5-stack mode. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix digital input HDA Codec driver Fixed SPDIF digital input. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Don't query chip models on CMI8338 CMIPCI driver Don't call query_chip() for CMI8338. It's for CMI8738/8768 only. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add module_init and module_exit entries ALSA sequencer From Mikael Magnusson <mikaelmagnusson@glocalnet.net>: Added the missing module_init and module_exit entries. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] add Roland FANTOM-X support USB generic driver This adds a USB MIDI quirk for the Roland FANTOM-X. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] do codec init more like windows does au88x0 driver The following patch makes the codec init code act more like the windows code. Signed-off-by: Jeff Muizelaar <jeff@infidigm.net> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix CM9761 again AC97 Codec Fixed the silent output playback problem on CM9761. The SPDIF_CTRL register (0x6c) bit 17 was the culprit. The master volume is back again since it seems to have some influence on the looped input sounds. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add mixer controls to intel8x0m Intel8x0-modem driver This patch adds a mixer switch to the intel8x0m driver, so that the hook state can be controlled from userspace, instead of bringing the line off hook on capture start. Please someone test, and merge into cvs. Comments are welcome. Signed-off-by: Jaime A. Lopez Sollano <jsollano@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] AC97 quirk for Dell Precision 650 Intel8x0 driver Added the ac97 quirk entry for Dell Precision 650. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] add more USB MIDI quirks USB generic driver Add support for Roland RS-70, SP-606, BOSS DR-880 Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix buffer wrap in snd_rawmidi_transmit_peek RawMidi Midlevel Fix the behaviour and return value of snd_rawmidi_transmit_peek when the buffer wraps around. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix counting of MIDI input overruns RawMidi Midlevel Do not throw away the old value of the overrun counter when more than one byte is received. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] add port names for serial MIDI ports Generic drivers Give each of the MIDI ports created by snd-serial-u16550 a unique name. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] remove unsafe usage of urb->status USB generic driver Remove unprotected accesses to urb->status and substream->runtimer->trigger. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] remove _snd_rawmidi_runtime.trigger RawMidi Midlevel Remove the trigger field from _snd_rawmidi_runtime because it is never ever read. (This may be why nobody noticed that snd_rawmidi_transmit_empty sets it to the wrong value.) Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix the Audigy SPDIF sample rate register definitions EMU10K1/EMU10K2 driver Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Control API - fix the wrong allocation for userspace controls Control Midlevel Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] emu10k1 - fix the initial value for Captured FX8010 Outputs EMU10K1/EMU10K2 driver - rename 'EFX voices mask' to 'Captured FX8010 Outputs' - fix the initial value Signed-off-by: Lee Revell <rlrevell@joe-job.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <rmk@flint.arm.linux.org.uk> [ARM] Update syscall table Add demultiplexed socket and ipc syscalls. Add key syscalls. Leave the new numbers for the demultiplexed socket and ipc syscalls commented out in asm-arm/unistd.h for the time being. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Fix set_fiq_regs()/get_fiq_regs() Make these "naked" functions. This allows us to eliminate the clobbers which later gcc versions complain about. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Fix sparse warnings in ARM IDE drivers. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Acorn SCSI: Ensure iomem pointers are marked as such. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Don't use host->irq Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] SCSI: Move host->dma_channel to info->scsi.dma Signed-off-by: Russell King <rmk@arm.linux.org.uk> <stefan@desire.ch> [PATCH] I2C: add fscpos chip driver This patch against 2.6.11-rc1 contains a driver for fscpos sensors. Signed-off-by: Stefan Ott <stefan@desire.ch> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <rmk@flint.arm.linux.org.uk> [ARM] Unuse scsi host->base This eliminates the final usage of deprecated elements in scsi_host by Acorn SCSI drivers. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <khali@linux-fr.org> [PATCH] I2C: Allow it87 pwm reconfiguration Quoting myself: > As soon as you will have confirmed that everything worked as expected, > Jonas and I will provide a patch adding a pwm polarity reconfiguration > module parameter for you to test. This should give you access to the > PWM features of your it87 chip again, but in a safe way for a change > ;) Here comes this patch. The new "fix_pwm_polarity" module parameter allows one to force the it87 chip reconfiguration. This is only supported in the case the original PWM configuration is suspected to be bogus, and only if we think that reconfiguring the chip is safe. I wish to thank Rudolf Marek and Jonas Munsin again for their testing and review of my code. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <greg@kroah.com> [PATCH] I2C: Fix up some build warnings in the fscpos driver. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill i2c_client.id (1/5) (1/5) Stop using i2c_client.id in i2c/chips drivers (mostly hardware monitoring drivers). Drivers affected: * adm1021 * adm1025 * adm1026 * adm1031 * ds1621 * fscher * gl518sm * isp1301_omap * lm75 * lm77 * lm80 * lm83 * lm85 * lm87 * lm90 * max1619 * pcf8574 * pcf8591 * rtc8564 * smsc47m1 * w83l785ts The vast majority of these drivers simply defined the i2c_client id struct member but never used it, so they are not affected at all by the change. Exceptions are: * lm85 and rtc8564, which would at least display the id in a debug message when assigning it. Not really useful though, as the id was then never used. * adm1026, which used the assigned id in all driver messages. However, since dev_* calls will append the bus number and client address to these messages, the id information is redundant and can go away. Also, the driver would allow some GPIO reprogramming on the first client only (id=0) and removing the id doesn't allow that anymore. I would restore a similar functionality if needed, but the ADM1026 chip is found on very few motherboards and none of these has more than one ADM1026 chip AFAIK, so it doesn't seem to be worth the effort. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill i2c_client.id (2/5) (2/5) Stop using i2c_client.id in media/video drivers. Affected drivers: * adv7170 * adv7175 * bt819 * bt856 * bttv * cx88 * ovcamchip * saa5246a * saa5249 * saa7110 * saa7111 * saa7114 * saa7134 * saa7185 * tda7432 * tda9840 * tda9875 * tea6415c * tea6420 * tuner-3036 * vpx3220 Most drivers here would include the id as part of their i2c client name (e.g. adv7170[0]). This looks more like an habit than something really needed, so I replaced the various printf by strlcpy, which should be slightly faster. As said earlier, clients can be differenciated thanks to their bus id and address if needed, so I don't think that including this information in the client name is wise anyway. Other drivers would either set the id to -1 or to a unique value but then never use it. These drivers are unaffected by the changes. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill i2c_client.id (3/5) (3/5) Stop using i2c_client.id in misc drivers. Affected drivers: * acorn/char/pcf8583 * acorn/char/i2c * i2c/i2c-dev * macintosh/therm_windtunnel * sound/oss/dmasound/dac3550a * sound/ppc/keywest The Acorn pcf8583 driver would give the i2c_client id the same value as the i2c_driver id, and later test that client id (in i2c). I changed it to test the client's driver id instead. The result is the same and the client id is then useless and can be removed. All other drivers here would allocate the client id to some value and then never use it. They are unaffected by the change. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill i2c_client.id (4/5) > (4/5) Deprecate i2c_client.id. Now that i2c_client.id has no more users in the kernel (none that I could find at least) we could remove that struct member. I however think that it's better to only deprecate it at the moment, in case I missed users or any of the other patches are delayed for some reason. We could then delete the id member definitely in a month or so. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill i2c_client.id (5/5) > (5/5) Documentation update. Finally, updates are required to the i2c/writing-client and i2c/porting-client documents. Remove any reference to i2c_client id and invite porters to discard that struct member. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <greg@kroah.com> [PATCH] I2C: just delete the id field, let's not delay it any longer Becides, sparse keeps complaining when it sees this attribute within a structure... Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <stefan@desire.ch> [PATCH] I2C: fix for fscpos voltage values Multiplied the voltage multipliers by 10 in order to comply with the sysfs guidelines. Signed-off-by: Stefan Ott <stefan@desire.ch> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <davej@redhat.com> [AGPGART] Fix typo. From: Joern Heissler Signed-off-by: Dave Jones <davej@redhat.com> <mhoffman@lightlink.com> [PATCH] I2C: i2c-dev namespace cleanup This patch is namespace cleanup for the i2c-dev module. Please apply. Signed-off-by Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <aurelien@aurel32.net> [PATCH] I2C: lm78 driver improvement The following patch against kernel 2.6.11-rc2-mm1 improves the lm78 driver. I used it as a model to port the sis5595 driver to the 2.6 kernel, and I then applied the changes suggested by Jean Delvare on the sis5595 driver to this one. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Enable w83781d and w83627hf temperature channels The chips supported by the w83781d and w83627hf drivers might come up with their temperature channels disabled. Currently, the w83781d driver does so for temp3 but omits temp2, while the w83627hf driver omits both. The following patch fixes that, and prints warning messages when the driver has to enable the channels (normally the BIOS should do it for us). We also skip this initialization step for the AS99127F chips, for which we have no documentation. This should hopefully solve the problem reported here: http://archives.andrew.net.au/lm-sensors/msg29150.html Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <khali@linux-fr.org> [PATCH] I2C: Kill unused includes in i2c-sensor-detect.c Looks to me like i2c-sensor-detect.c includes a handful of headers it doesn't need at all. This patch removes them. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <mhoffman@lightlink.com> [PATCH] I2C: unnecessary #includes in asb100.c * Jean Delvare <khali@linux-fr.org> [2005-01-25 10:14:49 +0100]: > Any reson why asb100.c (in linux 2.6.11-rc2) includes linux/ioport.h and > asm/io.h? As an i2c-only chip driver, I don't think it needs these. > > As a side note, I also wonder what the inclusions of linux/config.h, > linux/types.h and asm/errno.h are there for. Because they look pretty? Here's a patch Greg, please apply... Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <shawn.starr@rogers.com> [PATCH] I2C: lm80 driver improvement Description: Cleanup some cluttered macros, add error checking for fan divisor value set. Signed-off-by: Sytse Wielinga <s.b.wielinga@student.utwente.nl> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Shawn Starr <shawn.starr@rogers.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <bunk@stusta.de> [PATCH] i2c-core.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <adobriyan@mail.ru> [PATCH] I2C: use time_after instead of comparing jiffies Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <mgreer@mvista.com> [PATCH] I2C: add ST M41T00 I2C RTC chip driver This patch adds support for the ST M41T00 I2C RTC chip. This rtc chip has no mechanism to freeze it's registers while being read; however, it will delay updating the external values of the registers for 250ms after a register is read. To ensure that a sane time value is read, the driver verifies that the same registers values were read twice before returning. Also, when setting the rtc from an interrupt handler, a tasklet is used to provide the context required by the i2c core code. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <aurelien@aurel32.net> [PATCH] I2C: New chip driver: sis5595 Please find below the new version of the patch against kernel 2.6.11-rc3-mm1 to add the sis5595 driver (sensor part). As you suggested, I have changed the PCI part of the driver, taking the via686a driver as an example. I have also changed the comparison of jiffies by using time_after. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <mgreer@mvista.com> [PATCH] I2C: add Marvell mv64xxx i2c driver Marvell makes a line of host bridge for PPC and MIPS systems. On those bridges is an i2c controller. This patch adds the driver for that i2c controller. Please apply. Depends on patch submitted by Jean Delvare: http://archives.andrew.net.au/lm-sensors/msg29405.html Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <maartendeprez@scarlet.be> [PATCH] I2C: add GL520SM Sensor Chip driver Port of the Genesys Logic 520SM sensor chip driver from linux 2.4 Signed-off-by: Maarten Deprez <maartendeprez@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <rmk@flint.arm.linux.org.uk> [ARM] Net: add macro to access driver specific netdev data. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <icampbell@arcom.com> [PATCH] I2C: improve debugging output Rework the pca_xfer() function to always print the number of successfully completed transfers in a series when debugging, even when exiting with an error. Signed-off-by: Ian Campbell <icampbell@arcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <macro@linux-mips.org> [PATCH] I2C: Enable I2C_PIIX4 for 64-bit platforms Is there any specific reason for the PIIX4 SMBus driver to be disabled on 64-bit platforms? If not, then please apply the following change. The MIPS Technologies Malta development board has the 82371EB chip and supports 64-bit configurations. I've verified the driver to work correctly using 64-bit kernels for both endiannesses. Signed-off-by: Maciej W. Rozycki <macro@mips.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <icampbell@arcom.com> [PATCH] I2C: fix typo in drivers/i2c/busses/i2c-ixp4xx.c I was looking at your ixp4xx gpio i2c driver for inspiration (for a similar pxa2xx one) and I just happened to notice a tiny typo. Signed-off-by: Ian Campbell <icampbell@arcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <hfvogt@gmx.net> [PATCH] I2C i2c-nforce2: add support for nForce4 (patch against 2.6.11-rc4) can you please apply the attached patch (against 2.6.11-rc4, but works as well for 2.6.11-rc3-mm2), that adds support for the two SMBusses of the nForce4 to the i2c-nforce2 i2c bus driver. The patch is reported to work on the standard nForce4 (i.e. non-Ultra, non-SLI), but I expect that it works as well for the other nForce4 chipsets, that seem to have the same PCI-id for the SMBus-device. This patch was proposed by Chuck <chunkeey@web.de>, thanks to him for the information, testing and his patch. Signed-off-by: Hans-Frieder Vogt <hfvogt@arcor.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <rmk@flint.arm.linux.org.uk> [ARM] Use ecard_{request,release}_resources() for resource management Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Net: Convert ether1 and ether3 to use iomem accesses. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Add card type specific data structure. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <davem@nuts.davemloft.net> [SPARC64]: Accept 'm5823' clock chip as seen on SB1500. Signed-off-by: David S. Miller <davem@davemloft.net> <rmk@flint.arm.linux.org.uk> [ARM] Acorn expansion card core update. Add __iomem annotations and use iomem functions where appropriate. Separate out expansion card allocation/initialisation and freeing. Convert device attributes to be handled by driver core. Clean up deprecated function warnings for internal ecard_address usage. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <dsaxena@net.rmk.(none)> [ARM PATCH] 2448/1: Remove PrPMC1100 platform Patch from Deepak Saxena No longer maintained, not sure one can even buy one of these. Signed-off-by: Deepak Saxena Signed-off-by: Russell King <dsaxena@net.rmk.(none)> [ARM PATCH] 2449/1: Make IXP4xx use platform devices for serial ports Patch from Deepak Saxena Signed-off-by: Deepak Saxena Signed-off-by: Russell King <khali@linux-fr.org> [PATCH] I2C: Remove NULL client checks in rtc8564 driver Several functions in your rtc8564 driver verify the non-NULLity of the i2c client that is passed to them. It doesn't seem to be necessary, as I can't think of any case where these functions could possibly be called with a NULL i2c client. As a matter of fact, I couldn't find any similar driver doing such checks. My attention was brought on this by Coverity's SWAT which correctly noticed that three of these functions contain explicit or hidden dereferences of the i2c client pointer *before* the NULL check. I guess it wasn't a problem because the NULL case cannot happen (unless I miss something), but this still is confusing code. Thus I propose the following changes: Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] I2C: Make i2c list terminators explicitely unsigned Shouldn't the i2c list terminators be explicitely declared as unsigned? I'd hope it to help code analysis tools and possibly avoid false positives. Coverity's SWAT pointed my attention to these constants. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <yekkim@pacbell.net> [PATCH] I2C: Fix some gcc 4.0 compile failures and warnings gcc 4.0.x cvs seems to dislike "include/linux/i2c.h file" and others due to a current gcc 4.0.x change having to do with array declarations. Example error msg: include/linux/i2c.h:{55,194} error: array type has incomplete element type A. Daplas has recently done a workaround for this on another header file. A thread discussing this can be found by following the link below: http://gcc.gnu.org/ml/gcc/2005-02/msg00053.html The patch changes the array(struct i2c_msg) declaration used by *i2c_transfer and *master_xfer from "struct i2c_msg msg[]" format to "struct i2c_msg *msg". After some grepping, I came up with about a dozen files that used the format disliked by gcc4 that're addressed by the attached patch. Tested on gcc 3.x & gcc 4.x by configuring kernel with all i2c switches enabled as module, and saw no errors or warnings in i2c. Signed-off-by: Mickey Stein <yekkim@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ben-linux@fluff.org> [PATCH] I2C: S3C2410 missing I2C_CLASS_HWMON None of the standard sensor drivers currently recognise the s3c24xx I2C controller as it does not have I2C_CLASS_HWMON set in the adapter class field. The attached patch initialises the adapter class to I2C_CLASS_HWMON Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <minyard@acm.org> [PATCH] I2C: minor I2C cleanups This is one in a series of patches for adding a non-blocking interface to the I2C driver for supporting the IPMI SMBus driver. This patch is a simply some minor cleanups and is in addition to the patch by Mickey Stein (http://marc.theaimsgroup.com/?l=linux-kernel&m=110919...). Clean up some general I2C things. Fix some grammar and put () around all the #defines that are compound to avoid nasty side-effects. Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] Add class definition to the elektor bus driver Hi Frank, all, > > Which bus driver are you using? It obviously lacks class declaration, > > so the correct fix is to add the class there. > > The modules that are loading are (in reverse order): > adm1031 > ad5321 > mic184 > pca9540 > i2c_sensor > i2c_elektor > i2c_algo_pcf > i2c_core > > So I believe what you are asking for is the i2c_elektor driver for the > PCF8584 ISA to I2C chip. Correct, I just checked and this one actually lacks its class. Patch follows. This patch adds a class definition to the elektor i2c bus driver. Without this definition, hardware monitoring chips located on such busses cannot possibly be driven. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <akpm@osdl.org> [PATCH] I2C: saa7146 build fix include/media/saa7146.h:160: parse error before `*' include/media/saa7146.h:160: warning: function declaration isn't a prototype Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] I2C: w83627hf needs i2c-isa The w83627hf driver is useless unless i2c-isa is present. All other drivers in this case do select I2C_ISA through Kconfig, so this one should as well do. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dsaxena@net.rmk.(none)> [ARM PATCH] 2450/1: Add missing REG_OFFSET to ixp4xx platform.h header Patch from Deepak Saxena Patch 2449/1 depends on this since it removes REG_OFFSET from the individual board implementations. Signed-off-by: Deepak Saxena Signed-off-by: Russell King <jelenz@edu.rmk.(none)> [ARM PATCH] 2460/1: fix up resource usage on locomo Patch from John Lenz Add the list of devices on the locomo chip, and change around how resources and struct resource are used. There is only one struct resource for the entire locomo, but each driver will call request_mem_region on the pieces it is using. Secondly, add a few helper functions to locomo.c to control GPIOs and DAC. Signed-off-by: John Lenz Signed-off-by: Russell King <gregkh@suse.de> [PATCH] I2C: fixed up the i2c-id.h algo ids. Thanks to Jean Delvare <khali@linux-fr.org> for the help with this. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ben-linux@org.rmk.(none)> [ARM PATCH] 2465/1: VR1000 - add power-off hook Patch from Ben Dooks Add PM hook to power board down when requested Signed-off-by: Ben Dooks Signed-off-by: Russell King <khali@linux-fr.org> [PATCH] I2C: Change of i2c co-maintainer Since I am working more actively than Philip (or anyone else, for that matter) on the i2c subsystem these days, it would probably make sense that I am listed as the co-maintainer instead of him. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Philip Edelbrock <phil@netroedge.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] I2C: Trivial indentation fix in i2c/chips/Kconfig Hi Greg, Quoting myself: > (...) I also think I see an indentation issue on the "tristate" line, > seemingly copied from the SENSORS_DS1621 section which would need to > be fixed as well. Here is the trivial patch fixing that, if you want to apply it. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ben-linux@org.rmk.(none)> [ARM PATCH] 2467/1: S3C2440 - camera interface device Patch from Ben Dooks Add s3c2440 camera interface device definition Patch from Guillaume GOURAT Signed-off-by: Guillaume GOURAT Signed-off-by: Ben Dooks Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2469/1: S3C2410 - add S3C2410_TCFG1_MUX4_SHIFT definition Patch from Ben Dooks Add missing S3C2410_TCFG1_MUX4_SHIFT Patch from Guillaume Gourat Signed-off-by: Guillaume GOURAT Signed-off-by: Ben Dooks Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2470/1: S3C2410 Documentation - add Guillaume Gourat Patch from Ben Dooks Add Guillaume Gourat to list of port contributors Signed-off-by: Ben Dooks Signed-off-by: Russell King <nacc@us.ibm.com> [PATCH] w1/w1_therm: replace schedule_timeout() with msleep_interruptible() Description: Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Changed tm to an int, as it now is in terms of msecs, not jiffies. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <johnpol@2ka.mipt.ru> [PATCH] w1: dscore cleanups. 2/2 Trivial cleanups, mostly static/non static, removed unneded exports. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <johnpol@2ka.mipt.ru> [PATCH] w1: Core cleanup 1/2 Trivial cleanups, mostly static/non static, removed unneded exports. It fuzzes a bit, sorry, patch is quite old. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <greg@kroah.com> [PATCH] w1: fix some compiler warnings generated by the last "static" patch. Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <johnpol@2ka.mipt.ru> [PATCH] w1: replace obsoleted *sleep_on* Remove obsoleded *sleep_on*. Since they are used only to wait for a given flags and awakening only happens on signals, we can just replace them with msleep_interruptible. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <johnpol@2ka.mipt.ru> [PATCH] w1: get rid of the potential problems with atomic operations. Get rid of the potential problems with atomic operations. According to upcoming atomic_ops.txt by David Miller and Anton Blanchard some archs may reoder atomic operations with nonatomic, since the former are always visible but the latter are not, this can lead to unpredicted behaviour. Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <c.lucas@ifrance.com> [PATCH] drivers/w1/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver (from:http://kerneljanitors.org/TODO). Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ben-linux@org.rmk.(none)> [ARM PATCH] 2482/1: IXP2000 - header cleanup Patch from Ben Dooks fix the following problems: lib/iomap.c:140: warning: passing arg 1 of `__raw_readsb' makes pointer from integer without a cast lib/iomap.c:156: warning: passing arg 1 of `__raw_writesb' makes pointer from integer without a cast include/asm-arm/arch-ixp2000/io.h modified to have (void __iomem *) in front of the alignment code include/asm/arch/system.h:22: warning: `cli' is deprecated (declared at include/linux/interrupt.h:65) cli() replace by local_irq_disable arch/arm/mach-ixp2000/ixdp2x01.c:116: warning: passing arg 1 of `ixp2000_reg_write' from incompatible pointer type arch/arm/mach-ixp2000/ixdp2x01.c:117: warning: passing arg 1 of `ixp2000_reg_write' from incompatible pointer type fixed definition of the cpld registers IXDP2X01_CPLD_VIRT_REG() Signed-off-by: Ben DooksLooks okay. Test-booted on ENP-2611, no problem. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2483/1: S3C2410 - serial sparse error Patch from Ben Dooks Eliminate NULL initiated fields in the port structures which where causing errors from sparse. Signed-off-by: Ben Dooks Signed-off-by: Russell King <cbrake@com.rmk.(none)> [ARM PATCH] 2488/1: Update Vibren PXA255 IDP support Patch from Cliff Brake Changes to machine specific files and add defconfig so the CONFIG_ARCH_PXA_IDP machine will build and run. Changes are mostly related to the 2.6 driver model. Also removed code that is no longer required -- support for older versions of hardware, etc. Signed-off-by: Cliff Brake Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2495/1: 21285 - fix build warnings Patch from Ben Dooks 21285 serial driver has a couple of sparse errors from zero initialiser, as well as an unused label. Signed-off-by: Ben Dooks Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2500/1: S3C2410 - include/asm-arm/arch-s3c2410/regs-adc.h Patch from Ben Dooks S3C2410 ADC register definitions Patch from Shannon Holland Signed-off-by: Shannon Holland Signed-off-by: Ben Dooks Signed-off-by: Russell King <mbrancaleoni@tiscali.it> [PATCH] sis900.c net poll support Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Sparse fixes for drivers/net/hamradio Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ganesh.venkatesan@intel.com> [PATCH] ixgb: Documentation/networking/ixgb.txt Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] (v2) arlan: remove gcc warning with CONFIG_PROC_FS=n Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <akpm@osdl.org> [PATCH] Add OMAP support to smc91x Ethernet driver From: Tony Lindgren <tony@atomide.com> Following patch adds support for various OMAP boards to smc91x. Signed-off-by: Tony Lindgren <tony@atomide.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <jgarzik@pobox.com> [wireless atmel] Add support LG LW2100N WLAN PCMCIA card Originally from Serge A. Suchkov <justman@e1.bmstu.ru>. <akpm@osdl.org> [PATCH] smc91x: power down PHY on suspend From: Ian Campbell <icampbell@arcom.com> Powering down the PHY saves something like 100mA at 5V on my platform. Currently it is only done when the interface is brought down but it makes sense to do it on suspend as well. Signed-off-by: Ian Campbell <icampbell@arcom.com> Signed-off-by: Nicolas Pitre <nico@cam.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <sfeldma@pobox.com> [PATCH] e100: remove reference to NAPI config option e100 is NAPI all the time, so the Kconfig option is wasting space. Signed-off-by: Scott Feldman <sfeldma@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mporter@kernel.crashing.org> [PATCH] Add PPC440SP support to IBM EMAC driver Configures EMAC thresholds appropriately for the EMAC on the PPC440SP. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <pavel@suse.cz> [PATCH] Fix u32 vs. pm_message_t in network device drivers This should fix confusion in network device drivers. No code changes. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <linville@redhat.com> [PATCH] sk98lin: add MODULE_DEVICE_TABLE entry Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <sfeldma@pobox.com> [PATCH] eepro100: remove ID for 82556 82556 support doesn't work with eepro100, so this removes the ID (0x1228) for 82556. See this thread for more info: http://marc.theaimsgroup.com/?l=linux-kernel&m=110726... Signed-off-by: Scott Feldman <sfeldma@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <tvignaud@mandrakesoft.com> [PATCH] fix driver name in dl2k as returned by ETHTOOL_GDRVINFO The GDRVINFO command of the ETHTOOL ioctl returns a bogus driver name. this bug confusees various network config tools... see mdk bug #12609 (http://qa.mandrakesoft.com/show_bug.cgi?id=12609) for reference Signed-off-by: Thierry Vignaud <tvignaud@mandrakesoft.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <takis@lumumba.luc.ac.be> [PATCH] Possible VIA-Rhine free irq issue It seems to me that in the VIA Rhine device driver the requested irq might not be freed in case the alloc_ring() function fails. alloc_ring() can fail with a ENOMEM return value because of possible pci_alloc_consistent() failures. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <takis@lumumba.luc.ac.be> [PATCH] Possible AMD8111e free irq issue It seems to me that if in the amd8111e_open() fuction dev->irq isn't zero and the irq request succeeds it might not get released anymore. Specifically, on failure of the amd8111e_restart() call the function returns -ENOMEM without releasing the irq. The amd8111e_restart() function can fail because of various pci_alloc_consistent() and dev_alloc_skb() calls in amd8111e_init_ring() which is being called by amd8111e_restart. 1374 if(dev->irq ==0 || request_irq(dev->irq, amd8111e_interrupt, SA_SHIRQ, 1375 dev->name, dev)) 1376 return -EAGAIN; Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] prism54: fix printk format warnings prism54 build shows some printk format complaints: (sparc64 build warning) drivers/net/wireless/prism54/isl_38xx.c:131: warning: long int format, different type arg (arg 3) drivers/net/wireless/prism54/isl_38xx.c:151: warning: long int format, different type arg (arg 3) cross-compile results: https://www.osdl.org/plm-cgi/plm?module=patch_info&pa... Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ralf@linux-mips.org> [PATCH] Remove unused MAXBPQDEV definition Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <liml@rtr.ca> [PATCH] sata_qstor: eh_timeout fix Here is an update to sata_qstor.c to enable full/proper register access during eh_timeout handling. Signed-off-by: Mark Lord <mlord@pobox.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] net/wan/sbni: fix section usage net/wan/sbni data reference can be initdata: Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000000 R_X86_64_64 .init.data+0x0000000000000060 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000008 R_X86_64_64 .init.data+0x0000000000000140 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000010 R_X86_64_64 .init.data+0x0000000000000180 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000018 R_X86_64_64 .init.data+0x0000000000000020 Error: ./drivers/net/wan/sbni.o .data refers to 0000000000000020 R_X86_64_64 .init.data+0x00000000000001c0 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <rddunlap@osdl.org> [PATCH] tulip/de2104x: don't mix __init & __devinit sections tulip/de2104x: fix section usage, don't mix __init & __devinit: Error: ./drivers/net/tulip/de2104x.o .text refers to 000000000000176d R_X86_64_PC32 .init.text+0xfffffffffffffffc Error: ./drivers/net/tulip/de2104x.o .text refers to 0000000000001798 R_X86_64_PC32 .init.text+0xfffffffffffffffc Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mporter@kernel.crashing.org> [PATCH] emac: fix skb allocation for full-size jumbo frames Sets jumbo frame handling based on MTU and allocates rx buffers large to handle full-size jumbo frames. Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <khc@pm.waw.pl> [PATCH] WAN drivers fix: N2, C101, PCI200SYN - quite fatal The last change to drivers/wan/hd6457x.c was a bit fatal to drivers using it - the attached patch fixes NULL pointer dereference on RX. I've updated URLs in MAINTAINERS and wan/Kconfig as well. Signed-off-by: Krzysztof Halasa <khc@pm.waw.pl> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <bunk@stusta.de> [PATCH] drivers/scsi/sata_*: make code static This patch makes needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <akpm@osdl.org> [PATCH] drivers/net/wan/z85230.c interrupt handling fix From: tom watson <lkml@tommywatson.com> While working on a driver for z85230 based board I noticed what looks like it could be a problem. If the interrupt handler is handling an interrupt on port b and an interrupt comes in for port a, it seems to me that the port b handler would be called instead of the port a handler, and possibly hang the board until reset. Attached is a patch to set the irq methods back to port a before attempting to call them. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <xose@wanadoo.es> [PATCH] 2.6 eepro100: replace and delete duplicate ids - replace PCI_DEVICE_ID_INTEL_82557 and PCI_DEVICE_ID_INTEL_82559ER with theirs hex numbers - PCI_DEVICE_ID_INTEL_82801BA_7 is a duplicate of 0x2449. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Fix space calculation for link-layer address options. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Save space for ndisc_options{}. Pointed out by Krishna Kumar <kumarkr@us.ibm.com>. Also, size of structure is now adjusted automatically. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Make ndisc_opt_lladdr_data() and check length inside. What we should do is to check lladdrlen and get pointer for link-layer address option. Since we know lladdrlen == dev->addr_len, we can check inside. Singned-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] ROUTE: Add gc_min_interval_ms sysctl. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Ensure to notify up-to-date link information. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [TCP]: Put back tcp_timer_bug_msg[] symbol export. It is needed for tcp_reset_xmit_timer(), which is invoked by tcp_prequeue() which is invoked from tcp_ipv6.c Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net> <yoshfuji@linux-ipv6.org> [NET] NEIGHBOUR: Add hook for sysctl strategy. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: NEWLINK notification on change of Reachable Time Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Recompute Reachable Time on change of Base Reachable Time. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [NET] NEIGHBOUR: Add retrans_time_ms and reachable_time_ms sysctls. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Deprecate base_reachable_time and retrans_timer. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] ROUTE: Keep cache entries for a while. GC always removed most cache entries and a fresh redirect entry might be removed immideately. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Ensure to send redirects. rt6_lookup() is inappropriate because it cannot lookup route to the source node of the original packet if we don't have specific route to it. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] NDISC: Ensure to send redirects even if we don't know target's lladdr. <yoshfuji@linux-ipv6.org> [IPV6] Always add a fragment header after receiving TOO BIG w/ pmtu < 1280. According to RFC2460, PMTU is set to the IPv6 Minimum Link MTU (1280) and a fragment header should always be included after a node receiving Too Big message reporting PMTU is less than the IPv6 Minimum Link MTU (1280). Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] Ensure to use interface hoplimit by default. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] Unify common functions to compare ipv6 prefixes. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] ADDRCONF: Update prefix route on address deletion. We did not delete prefix route on deletion of corresponding permanent address while we add prefix route on addition of permanent address. This was confusing. With this changeset, we purge prefix route or convert it to dynamic one, if appropriate. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [IPV6] Mature enough, no longer EXPERIMENTAL. Now we can pass IPv6 Ready Logo <http://www.ipv6ready.org>> Phase 1 and Phase 2 Self Tests. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <yoshfuji@linux-ipv6.org> [NET] Don't use magic number for sysctl table definition. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> <jchapman@katalix.com> [PATCH] mii: add GigE support Add support for GigE PHYs in MII support library. This patch allows GigE drivers to use the MII library the same way 10/100 drivers do. Since the MII library is already used by lots of network drivers and the GigE MII register bit definitions were reserved when many 10/100 PHYs were designed, the new GigE registers are accessed only if a driver specifically enables it. Existing 10/100 drivers should see no behavior differences with this change. Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <akpm@osdl.org> [PATCH] VIA-Rhine: undork whitespace Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2502/1: S3C2410 - watchdog during kernel uncompression Patch from Ben Dooks Enable the watchdog at the start of the kernel uncompression stage, so that if any errors occur before the kernel reaches the stage where it can start running processes then the system will be reset. Signed-off-by: Ben Dooks Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2503/1: S3C2410 - add brief documentation for HP IPAQ H1940 Patch from Ben Dooks Brief documentation for Documents/arm/Samsung-S3C24XX for the HP IPAQ H1940 Signed-off-by: Ben Dooks Signed-off-by: Russell King <jejb@mulgrave.(none)> SCSI: revamp target scanning routines The basic change is to allow target scans to be done by generic device (which need only have a scsi host as a parent). Also changes most target functions to take a struct scsi_target instead of the H/C/T numbers. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2506/1: S3C2410 - dma descriptor slab Patch from Ben Dooks Use slab allocator instead of kmalloc() to allocate the dma buffer descriptors. This should allow the tracking of dma descriptors, and to check if they are being freed correctly. Signed-off-by: Ben Dooks Signed-off-by: Russell King <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape: write filemark before rewind etc. when writing The patch at the end of this message modifies the st write semantics in the following way: write a filemark before rewind, offline, or seek if the previous operation was write. This semantics is specified on the man pages of some Unices and some software (e.g., cpio) seems to assume this. The change makes sure that the last file on the tape is properly terminated with a filemark and reading the file does not fail at the end. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <lenehan@twibble.org> [PATCH] dc395x: Fix support for highmem From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Removes the page_to_virt and maps sg lists dynamically. This makes the driver work with highmem pages. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Jamie Lenehan <lenehan@twibble.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <rene@exactcode.de> [PATCH] trivial fix for 2.6.11 raid6 compilation on ppc w/ Altivec From: Rene Rebe <rene@exactcode.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <jdike@addtoit.com> For UML, this is fine as far as it goes, but you're adding register references to arch-independent code, so this is needed as well: Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Chris Wright <chrisw@osdl.org> <chrisw@osdl.org> Inode audit records are currently showing only name, inode, and dev. The device is calculated incorrectly, and similarly dev based filtering is broken. Fix device node problems and add some more useful data to inode audit record -- mode, uid, gid of inode. Signed-off-by: Chris Wright <chrisw@osdl.org> <jelenz@edu.rmk.(none)> [ARM PATCH] 2461/1: base support for poodle machine Patch from John Lenz Adds support for the Sharp Zaurus SL-5600 Add the ability to compile any collection of poodle and corgi support under the PXA_SHARPSL option. arch/arm/boot/compressed/head-sharpsl.S already has code to detect the poodle machine. Signed-off-by: John Lenz Signed-off-by: Russell King <buytenh@org.rmk.(none)> [ARM PATCH] 2491/1: make ixp2000 use section mappings for on-chip registers Patch from Lennert Buytenhek This patch makes the ixp2000 port use section mappings for on-chip registers. This has two advantages: 1. It saves some TLB entries. 2. It enables us to work around ixp2400 erratum #66, for which the suggested (and only) fix involves mapping all on-chip registers using XCB=101 instead of XCB=000. This patch was derived from an older patch for the same erratum (ARM patch ID 2265/1), made by Deepak Saxena. Note that this patch does not actually constitute a workaround for erratum #66, it merely lays the foundation for such a workaround. Signed-off-by: Lennert BuytenhekSigned-off-by: Deepak Saxena Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2508/1: S3C2440 - timer and irq device updates Patch from Ben Dooks The patch does a number of updates, which are inter-dependant on each other, for the s3c2440 support and some clean-ups for all s3c24xx architecture in general. 1) Remove the s3c24xx_{fclk,hclk,pclk} variables, and pass these values to the clock core on initialisation. This removes the needless double copy, as only the timer code uses these directly (see point 4). Add an over-all xtal clock to the clock core 2) Add a sysdev driver to the clock code to ensure all the s3c2440 clocks are added if an s3c2440 is present. 3) Add the new IRQs to irq.c, and initialise them if the sysdev for the s3c2440 is present. 4) Change the timer code to request the timer clk and use it to get the frequency. Depends on patch 2467/1 Thanks to Guillaume Gourat for the original patches that prompted this re-write. Signed-off-by: Ben Dooks Signed-off-by: Russell King <mstjohns@mindspring.com> [NETFILTER]: fix ip6_queue inefficiencies Check if packet exceeds max queue length before netlink_unicast(), add drop statistics. Signed-off-by: Patrick McHardy <kaber@trash.net> <kaber@coreworks.de> [NETFILTER]: Use correct types in seq_printf calls Signed-off-by: Patrick McHardy <kaber@trash.net> <ak@suse.de> [NETFILTER]: Reduce netfilter memory use on MP systems On kernels compiled with a big NR_CPUS netfilter rules would eat a lot of memory because all counters would be duplicated for all NR_CPUs CPUs. With NR_CPUS=256 this would add up to many MBs of memory. This patch only allocates enough memory for the possible CPUs, which is usually a much smaller number than NR_CPUS. This allows loading of bigger rule sets on 64bit systems. There is still a limit because someone else broke vmalloc to have a 64MB limit on 64bit systems for single allocations, 129MB on 32bit. It allocates an array of pages with kmalloc and kmalloc has a 128K limit. To be fixed with a separate patch. 64bit systems were hurt worst because they tend to have big NR_CPUS and the counters need more memory there, and the vmalloc limit is lower. But it will raise the limits even on 32bit. And in general it saves a lot of memory. Tested only on a small dual CPU box. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Patrick McHardy <kaber@trash.net> <kaber@coreworks.de> [NETFILTER]: Use num_possible_cpus instead of NR_CPUS in {ip6_,arp_,eb}tables Similar to Andi Kleen's patch "Reduce netfilter memory use on MP systems". Signed-off-by: Patrick McHardy <kaber@trash.net> <kaber@coreworks.de> [NETFILTER]: Fix /proc/net/ip_conntrack seq_file operations ip_conntrack dumps an entire hash chain at a time. If dumping the first hash chain exceeds the available room nothing has been copied and seq_read() stops and returns the error. Change it to dump just a single entry at a time. Signed-off-by: Patrick McHardy <kaber@trash.net> <ariel@blueslice.com> [NETFILTER]: SCTP conntrack: fix association restart Signed-off-by: Patrick McHardy <kaber@trash.net> <kadlec@blackhole.kfki.hu> [NETFILTER]: Fix multiple problems with TCP window tracking The first attached patch addresses several problems in the current TCP connection tracking in the 2.6 tree. Some of the problems was reported, others was discovered by nfsim tests: - tcp_sack function was not safe against nonlinear skbs - practically arbitrary RST segments (addresses, ports assumed to be known) could cause connection teardown in conntrack (thanks to Tim Burress for the bugreport and patch) - article on which the code was based falsely assumed that packets must fit completely into the window: packets must at least overlap (thanks to Phil Oester for the bugreport and patch) - state table slightly changed to handle ACK packets sent by server to late resent SYNs - tracking reopening connections reworked - cosmetic change: when window tracking is ignored by setting ip_conntrack_tcp_be_liberal to nonzero, it's ignored completely from now on Signed-off-by: Patrick McHardy <kaber@trash.net> <kaber@coreworks.de> [NETFILTER]: Don't insist on ICMP errors carrying 8 byte of protocol header An ICMP error only needs to carry 8 bytes of protocol header if they were present in the original packet. Makes netfilter's handling of ICMP errors consistent with IP. Signed-off-by: Patrick McHardy <kaber@trash.net> <ben-linux@org.rmk.(none)> [ARM PATCH] 2511/1: SMDK2440 - base machine support Patch from Ben Dooks SMDK2440 core board support Signed-off-by: Ben Dooks Signed-off-by: Dimitry Andric Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2512/1: S3C2410 - remove bast-cpld.h from include/asm-arm/arch-s3c2410/hardware.h Patch from Ben Dooks Remove the include of bast-cpld.h, as it shouldn't be here as it only defines some extra bast-specific registers, and does not affect the configuration of the hardware dependenat items. Ensure that the file is included in the one place it is needed and not included. This should discourage anyone else putting include files in which do not affect the over-all hardware definitions. Signed-off-by: Ben Dooks Signed-off-by: Russell King <olof@austin.ibm.com> [PATCH] Fix for trivial fix for 2.6.11 raid6 compilation on ppc w/ Altivec Here's a patch that will work for both PPC and PPC64. The proper way to fix this in mainline is to merge -mm's cpu_has_feature patch, but for the stable 2.6.11-series, this much less intrusive (i.e. just the pure bugfix, not the cleanup part). Signed-off-by: Olof Johansson <olof@austin.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nico@org.rmk.(none)> [ARM PATCH] 2509/1: fix watchdog timer frequency for PXA27x Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King <dtor_core@ameritech.net> [PATCH] Fix keyboards for Dell machines Some ACPI-related changes were recently made to i8042 discovery for ia64. Unfortunately this broke a significant number of Dell laptops due to their having incorrect BIOS tables. So, for now, arrange for the new code to be ia64-only. From: Dmitry Torokhov <dtor_core@ameritech.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <tglx@de.rmk.(none)> [ARM PATCH] 2477/1: Move double defined macro to header file Patch from Thomas Gleixner IRQ_DISPATCH is defined in two c files. Move it to the common header file. Signed-off-by: Thomas Gleixner Signed-off-by: Russell King <rpurdie@net.rmk.(none)> [ARM PATCH] 2510/1: PXA: Disable pxa_gpio_irq_type printks Patch from Richard Purdie The printks inside pxa_gpio_irq_type damage performance and are of little value in a production kernel. They should be disabled. Signed-off-by: Richard PurdieSigned-off-by: Nicolas Pitre Signed-off-by: Russell King <andrew@com.rmk.(none)> [ARM PATCH] 1941/2: End-of-interrupt (irq_finish) macro on ARM Patch from SAN People On some ARM-based processor's (eg, Atmel's AT91RM9200) it is necessary to signal the end-of-interrupt to the interrupt controller. This is necessary so it can restore its internal priority levels, etc. This patch is equivalent to the version in the current 2.4 kernels. Patch now updated to 2.6.11 Signed-off-by: Andrew Victor Signed-off-by: Russell King <gregkh@suse.de> Linux 2.6.11.1 <davis_g@com.rmk.(none)> [ARM PATCH] 2459/1: ARMv6 supersections for static kernel direct mapped memory regions [updated] Patch from George G. Davis Use ARMv6 supersections for 16MiB static kernel direct mapped memory regions when possible. Based on comments received for the first version of this patch, this version has added a comment to clarify that ARMv6 supersections are only valid for the domain == 0 case and moved the supersection address mask and size macros before the hardware page table definitions. Signed-off-by: George G. Davis Signed-off-by: Russell King <nico@org.rmk.(none)> [ARM PATCH] 2513/1: more PXA27x regs to save for sleep mode Patch from Nicolas Pitre ... plus Mainstone bits. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King <gtj.member@com.rmk.(none)> [ARM PATCH] 2472/1: Updates 8250.c to correctly detect XScale UARTs Patch from George Joseph Modifications to autoconfig_16550a to add a testcase to detect XScale UARTS. Signed-off-by: George Joseph Signed-off-by: Russell King <rmk@flint.arm.linux.org.uk> [MMC] Use bus dev_attrs instead of handling device attrs manually Convert MMC to use bus dev_attrs instead of handling the registration of these attributes itself. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <nico@org.rmk.(none)> [ARM PATCH] 2514/1: save iWMMXt context to ram before entering sleep mode Patch from Nicolas Pitre Signed-off-by: Nicolas Pitre Signed-off-by: Russell King <rmk@flint.arm.linux.org.uk> [ARM] Fix two missed ether1_outw() function calls. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <davem@northbeach.davemloft.net.davemloft.net> [SPARC64]: Tomatillo PCI controller bug fixes. - Error handlers were mis-calculating ICLR register to ACK on Tomatillo. - PCI error handlers should not ACK other IRQ. - Fix Tomatillo version comparison for PCI Timeout Interval setting - Tomatillo PCI control register prefetch enable bits were off. - Tomatillo revs <= 1 need bit 61 set, all others should have it clear. This is in the PCI control register. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net.davemloft.net> [TIGON3]: Do not touch NIC_SRAM_FIRMWARE_MBOX when TG3_FLG2_SUN_570X. There is no firmware on these chips, so accessing this value is pointless. But, more importantly, touching this area on such chips results in PCI PIO timeouts. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net.davemloft.net> [TIGON3]: Update driver version and reldate. Signed-off-by: David S. Miller <davem@davemloft.net> <marcel@holtmann.org> [Bluetooth] Don't use ISOC transfers for sniffer devices The sniffer devices present themself as a full H:2 device, but actually they don't need any ISOC transfers and so don't start them. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> <marcel@holtmann.org> [Bluetooth] Remove interruptible_sleep_on_timeout() usage Remove deprecated interruptible_sleep_on_timeout() function calls and replace them with direct wait-queue usage. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> <marcel@holtmann.org> [Bluetooth] Convert clock offset value from little endian The clock offset value is stored in little endian and so convert it before showing it in the inquiry cache list. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> <marcel@holtmann.org> [Bluetooth] Enhance HCI callback interface This patch adds callback functions for changing the link key and switching the role to the Bluetooth core interface. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> <marcel@holtmann.org> [Bluetooth] Update entry for the BPA 100/105 driver This patch adds the missing entry for the BPA 100/105 driver into the MAINTAINERS file. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> <rmk@flint.arm.linux.org.uk> [ARM] Add __iomem checking for __raw_{read,write}[bwl] Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Fix sparse warnings for ebsa110 IO implementation Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Remove ARM specific set_pmd() set_pmd has specific behaviour on ARM which may be unexpected. Since it is rather too close to macros used by other architectures, open code this functionality. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <neilb@cse.unsw.edu.au> [PATCH] SGI 921857: find broken with nohide on NFSv3 This patch makes "find" work when traversing nohide exports on NFSv3. The READDIRPLUS reply needs to not return a file handle for the ".." entry when the directory is a server side mountpoint, which would be the directory itself, otherwise the client remembers the wrong file handle and gets confused. Signed-off-by: Greg Banks <gnb@melbourne.sgi.com> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: exportfs: reduce stack usage find_exported_dentry() declares char nbuf[NAME_MAX+1]; in 2 separate places, and gcc allocates space on the stack for both of them. Having just one of them will suffice, if we can put put with its scope. Reduces function stack usage on x86-32 from 0x230 to 0x130. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: svcrpc: add a per-flavor set_client method Add a set_client method to the server rpc auth_ops struct, used to set the client (for the purposes of nfsd export authorization) using flavor-specific information. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: svcrpc: rename pg_authenticate Later patches remove pg_authenticate and use the name for a different purpose; so rename it to pg_authenticate_obsolete for now. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: svcrpc: move export table checks to a per-program pg_add_client method svcauth_null_accept() and svcauth_unix_accept() are currently hard-wired to check the source ip address on an incoming request against the export table, which make sense for nfsd but not necessarily for other rpc-based services. So instead we have the accept() method call a program-specific pg_authenticate() method. We also move the call to this method into svc_process instead of calling it from the flavor-specific accept() routines. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: nfs4: use new pg_set_client method to simplify nfs4 callback authentication Use new pg_authenticate method to simplify nfs4 callback authentication. This also has the effect of changing the error return from rejectedcred to badcred. I believe the change is correct. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: lockd: don't try to match callback requests against export table On lockd callbacks, we're a client, and the source address is that of a server, so we shouldn't be trying to match the source address of the callback request against our export table. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: nfsd: remove pg_authenticate field The pg_authenticate (now pg_authenticate_obsolete) callback was only being used by the nfs4 client callback code to circumvent the svcauth_unix code's insistence on checking all requests against the export table. With that problem solved, we no longer need it. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: global/static cleanups for nfsd The patch below contains the following cleanups: - make some needlessly global code static Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: change nfsd reply cache to use list.h lists also kmalloc the cache one entry at a time, instead of in one big slab. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: discard CACHE_HASHED flag, keeping information in refcount instead. This patch should fix a problem that has been experienced on at-least one busy NFS server, but it has not had lots of testing yet. If -mm could provide that ..... The rpc auth cache currently differentiates between a reference due to being in a hash chain (signalled by CACHE_HASHED flag) and any other reference (counted in refcnt). This is an artificial difference due to an historical accident, and it makes cache_put unsafe. This patch removes the distinction so now existance in a hash chain is counted just like any other reference. Thus a race window in cache_put is closed. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] aoe: fix printk warning u64's are not longlongs on sparc64 and ppc64. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] audit mips fix CC arch/mips/kernel/ptrace.o arch/mips/kernel/ptrace.c: In function 'do_syscall_trace': arch/mips/kernel/ptrace.c:310: warning: implicit declaration of function 'audit_syscall_entry' arch/mips/kernel/ptrace.c:310: error: 'struct pt_regs' has no member named 'orig_eax' arch/mips/kernel/ptrace.c:314: warning: implicit declaration of function 'audit_syscall_exit' Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <halr@voltaire.com> [PATCH] IB: simplify MAD code Remove unneeded MAD agent registration by using a single agent for both directed-route and LID-routed MADs. Signed-off-by: Hal Rosenstock <halr@voltaire.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <shaharf@voltaire.com> [PATCH] IB: fix vendor MAD deregistration Fix bug when deregistering a vendor class MAD agent. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tduffy@sun.com> [PATCH] IB: sparse fixes Fix some sparse warnings by making sure we have appropriate "extern" declarations visible. Signed-off-by: Tom Duffy <tduffy@sun.com> Signed-off-by: Hal Rosenstock (<halr@voltaire.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: add missing break Add missing break statements in switch in mthca_profile.c (pointed out by Michael Tsirkin). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: fix reset value endianness MTHCA_RESET_VALUE must always be swapped, since the HCA expects to see it in big-endian order and we write it with writel. This means on little-endian systems we have to swap it to big-endian order before writing, and on big-endian systems we need to swap it to make up for the additional swap that writel will do. This fixes resetting the HCA on big-endian machines. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/ipoib: fix rx memory leak Fix memory leak when posting a receive buffer (pointed out by Shirley Ma). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <xma@us.ibm.com> [PATCH] IB/ipoib: use list_for_each_entry_safe when required Change uses of list_for_each_entry() where the loop variable is freed inside the loop to list_for_each_entry_safe(). Signed-off-by: Shirley Ma <xma@us.ibm.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/ipoib: rename global symbols Make IPoIB data_debug_level module parameter static to the single file where it is used. Also Rename IPoIB module parameter variable from "debug_level" to "ipoib_debug_level". This avoids possible name clashes if IPoIB is built into the kernel. We use module_param_named so that the user-visible parameter names remain the same. Signed-off-by: Tom Duffy <tduffy@sun.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <xma@us.ibm.com> [PATCH] IB/ipoib: small fixes IPoIB small fixes: Initialize path->ah to NULL, and fix dereference after free of neigh in error path of neigh_add_path(). Signed-off-by: Shirley Ma <xma@us.ibm.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <xma@us.ibm.com> [PATCH] IB/ipoib: don't call ipoib_put_ah with lock held ipoib_put_ah() may call ipoib_free_ah(), which might take the device's lock. Therefore we need to make sure we don't call ipoib_put_ah() when holding the lock already. Signed-off-by: Shirley Ma <xma@us.ibm.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/ipoib: fix locking on path deletion Fix up locking for IPoIB path table. Make sure that destruction of address handles, neighbour info and path structs is locked properly to avoid races and deadlocks. (Problem originally diagnosed by Shirley Ma) Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sean.hefty@intel.com> [PATCH] IB: fix ib_find_cached_gid() port numbering Fix ib_find_cached_gid() to return the correct port number relative to the port numbering used by the device. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB/mthca: CQ minor tweaks Clean up CQ code so that we only calculate the address of a CQ entry once when using it. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB/mthca: improve CQ locking part 1 Avoid taking the CQ table lock in the fast path path by using synchronize_irq() after removing a CQ from the table to make sure that no completion events are still in progress. This gets a nice speedup (about 4%) in IP over IB on my hardware. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB/mthca: improve CQ locking part 2 Locking during the poll cq operation can be reduced by locking the cq while qp is being removed from the qp array. This also avoids an extra atomic operation for reference counting. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: CQ cleanups Simplify some of the code for CQ handling slightly. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB: remove unsignaled receives Remove support for unsignaled receive requests. This is a non-standard extension to the IB spec that is not used by any known applications or protocols, and is not supported by newer hardware. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: map registers for mem-free mode Move the request/ioremap of regions related to event handling into mthca_eq.c. Map the correct regions depending on whether we're in Tavor or native mem-free mode. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: add UAR allocation Add support for allocating user access regions (UARs). Use this to allocate a region for kernel at driver init instead using hard-coded MTHCA_KAR_PAGE index. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: dynamic context memory mapping for mem-free mode Add support for mapping more memory into HCA's context to cover context tables when new objects are allocated. Pass the object size into mthca_alloc_icm_table(), reference count the ICM chunks, and add new mthca_table_get() and mthca_table_put() functions to handle mapping memory when allocating or destroying objects. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free memory region support Add support for mem-free mode to memory region code. This mostly amounts to properly munging between keys and indices. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free EQ initialization Add code to initialize EQ context properly in both Tavor and mem-free mode. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free interrupt handling Update interrupt handling code to handle mem-free mode. While we're at it, improve the Tavor interrupt handling to avoid an extra MMIO read of the event cause register. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: tweak firmware command debug messages Slightly improve debugging output for UNMAP_ICM and MODIFY_QP firmware commands. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: tweak MAP_ICM_page firmware command Have MAP_ICM_page() firmware command map assume pages are always the HCA-native 4K size rather than using the kernel's page size. This will make handling doorbell pages for mem-free mode simpler. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free doorbell record allocation Mem-free mode requires the driver to allocate additional doorbell pages for each user access region. Add support for this in mthca_memfree.c, and have the driver allocate a table in db_tab for kernel use. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free doorbell record writing Add a mthca_write_db_rec() to wrap writing doorbell records. On 64-bit archs, this is just a 64-bit write, while on 32-bit archs it splits the write into two 32-bit writes with a memory barrier to make sure the two halves of the record are written in the correct order. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: refactor CQ buffer allocate/free Factor the allocation and freeing of completion queue buffers into mthca_alloc_cq_buf() and mthca_free_cq_buf(). This makes the code more readable and will eventually make handling userspace CQs simpler (the kernel doesn't have to allocate a buffer at all). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free CQ initialization Update CQ initialization and cleanup to handle mem-free mode: we need to make sure the HCA has memory mapped for the entry in the CQ context table we will use and also allocate doorbell records. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free CQ operations Add support for CQ data path operations (request notification, update consumer index) in mem-free mode. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free QP initialization Update QP initialization and cleanup to handle mem-free mode. In mem-free mode, work queue sizes have to be rounded up to a power of 2, we need to allocate doorbells, there must be memory mapped for the entries in the QP and extended QP context table that we use, and the entries of the receive queue must be initialized. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free address vectors Update address vector handling to support mem-free mode. In mem-free mode, the address vector (in hardware format) is copied by the driver into each send work queue entry, so our address handle creation can become pretty trivial: we just kmalloc() a buffer to hold the formatted address vector. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free work request posting Implement posting send and receive work requests for mem-free mode. Also tidy up a few things in send/receive posting for Tavor mode (fix smp_wmb()s that should really be just wmb()s, annotate tests in the fast path with likely()/unlikely()). Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@topspin.com> [PATCH] IB/mthca: mem-free multicast table Tie up one last loose end by mapping enough context memory to cover the whole multicast table during initialization, and then enable mem-free mode. mthca now supports enough of mem-free mode so that IPoIB works with a mem-free HCA. Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB/mthca: QP locking optimization 1. Split the QP spinlock into separate send and receive locks. The only place where we have to lock both is upon modify_qp, and that is not on data path. 2. Avoid taking any QP locks when polling CQ. This last part is achieved by getting rid of the cur field in mthca_wq, and calculating the number of outstanding WQEs by comparing the head and tail fields. head is only updated by post, tail is only updated by poll. In a rare case where an overrun is detected, a CQ is locked and the overrun condition is re-tested, to avoid any potential for stale tail values. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] IB/mthca: implement query of device caps Set device_cap_flags field in mthca's query_device method. Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sean.hefty@intel.com> [PATCH] IB: MAD cancel callbacks from thread Modify ib_cancel_mad() to invoke a user's send completion callback from a different thread context than that used by the caller. This allows a caller to hold a lock while calling cancel that is also acquired from their send handler. Signed-off-by: Sean Hefty <sean.hefty@intel.com> Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] initialize a spin lock in CPM2 uart driver Static initialization of spin locks that are otherwise accessed prior to initialization. Signed-off-by: Jaka Mocnik <jaka@activetools.si> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: global sysctl This first patch of the series introduces a sysctl (default off) that enables/disables the randomisation feature globally. Since randomisation may make it harder to debug really tricky situations (reproducability goes down), the sysadmin needs a way to disable it globally. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: infrastructure The patch below introduces get_random_int() and randomize_range(), two helpers used in later patches in the series. get_random_int() shares the tcp/ip random number stuff so the CONFIG_INET ifdef needs to move slightly, and to reduce the damange due to that, secure_ip_id() needs to move inside random.c From: Frank Sorenson <frank@tuxrocks.com> Acked-By: Jeff Dike <jdike@addtoit.com> The stack randomization patches that went into 2.6.11-rc3-mm1 broke compilation of ARCH=um. This patch fixes compiling by adding arch_align_stack back in. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Frank Sorenson <frank@tuxrocks.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: add PF_RANDOMIZE Even though there is a global flag to disable randomisation, it's useful to have a per process flag too; the patch below introduces this per process flag and automatically sets it for "new" binaries. Eventually we will want to tie this to the legacy-va-space personality Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: stack randomisation The patch below replaces the existing 8Kb randomisation of the userspace stack pointer (which is currently only done for Hyperthreaded P-IVs) with a more general randomisation over a 64Kb range. 64Kb is not a lot, but it's a start and once the dust settles we can increase this value to a more agressive value. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: mmap randomisation The patch below randomizes the starting point of the mmap area. This has the effect that all non-prelinked shared libaries and all bigger malloc()s will be randomized between various invocations of the binary. Prelinked binaries get a address-hint from ld.so in their mmap and are thus exempt from this randomisation, in order to not break the prelink advantage. The randomisation range is 1 megabyte (this is bigger than the stack randomisation since the stack randomisation only needs 16 bytes alignment while the mmap needs page alignment, a 64kb range would not have given enough entropy to be effective) Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: enable by default Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: add ADDR_NO_RANDOMIZE personality Introduce a personality that disables randomisation, so that users can use setarch and related commands to run specific applications without randomisation. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Randomisation: top-of-stack randomization In addition to randomisation of the stack pointer within the stack, the stack itself should be randomized too. We need both approaches, we can only randomize the stack itself in pagesize increments. However randomizing large ranges with the stackpointer runs into the situation where a huge chunk of the stack rlimit is used by the randomisation; this is undesirable so we need to do both. Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <clameter@sgi.com> [PATCH] Move accounting function calls out of critical vm code paths In the 2.6.11 development cycle function calls have been added to lots of hot vm paths to do accounting. I think these should not go into the final 2.6.1 release because these statistics can be collected in a different way that does not require the updating of counters from frequently used vm code paths and is consistent with the methods use elsewhere in the kernel to obtain statistics. These function calls are acct_update_integrals -> Account for processes based on stime changes update_mem_hiwater -> takes rss and total_vm hiwater marks. acct_update_integrals is only useful to call if stime changes otherwise it will simply return. It is therefore best to relocate the function call to acct_update_integral into the function that updates stime which is account_system_time and remove it from the vm code paths. update_mem_hiwater finds the rss hiwater mark. We call that from timer context as well. This means that processes' high-water marks are now sampled statistically, at timer-interrupt time rather than deterministically. This may or may not be a problem.. This means that the rss limit is not always updated if rss is increased and thus not as accurate. But the benefit is that the rss checks do no pollute the vm paths and that it is consistent with the rss limit check. The following patch removes acct_update_integrals and update_mem_hiwater from the hot vm paths. Signed-off-by: Christoph Lameter <clameter@sgi.com> From: Jay Lan <jlan@sgi.com> The new "move-accounting-function-calls-out-of-critical-vm-code-paths" patch in 2.6.11-rc3-mm2 was different from the code i tested. In particular, it mistakenly dropped the accounting routine calls in fs/exec.c. The calls in do_execve() are needed to properly initialize accounting fields. Specifically, the tsk->acct_stimexpd needs to be initialized to tsk->stime. I have discussed this with Christoph Lameter and he gave me full blessings to bring the calls back. Signed-off-by: Jay Lan <jlan@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zach.brown@oracle.com> [PATCH] invalidate range of pages after direct IO write Presently we invalidate all of a file's pages when writing to any part of that file with direct-IO. After a direct IO write only invalidate the pages that the write intersected. invalidate_inode_pages2_range(mapping, pgoff start, pgoff end) is added and called from generic_file_direct_IO(). While we're in there, invalidate_inode_pages2() was calling unmap_mapping_range() with the wrong convention in the single page case. It was providing the byte offset of the final page rather than the length of the hole being unmapped. This is also fixed. This was lightly tested with a 10k op fsx run with O_DIRECT on a 16MB file in ext3 on a junky old IDE drive. Totaling vmstat columns of blocks read and written during the runs shows that read traffic drops significantly. The run time seems to have gone down a little. Two runs before the patch gave the following user/real/sys times and total blocks in and out: 0m28.029s 0m20.093s 0m3.166s 16673 125107 0m27.949s 0m20.068s 0m3.227s 18426 126094 and after the patch: 0m26.775s 0m19.996s 0m3.060s 3505 124982 0m26.856s 0m19.935s 0m3.052s 3505 125279 akpm: - Don't look up more pages than we're going to use - Don't test page->index until we've locked the page - Check for the cursor wrapping at the end of the mapping. Signed-off-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zach.brown@oracle.com> [PATCH] write and wait on range before direct io read This adds filemap_write_and_wait_range(mapping, lstart, lend) which starts writeback and waits on a range of pages. We call this from __blkdev_direct_IO with just the range that is going to be read by the direct_IO read. It was lightly tested with fsx and ext3 and passed. Signed-off-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zach.brown@oracle.com> [PATCH] only unmap what intersects a direct_IO op Now that we're only invalidating the pages that intersected a direct IO write we might as well only unmap the intersecting bytes as well. This passed a light fsx load with page cache, direct, and mmap IO. Signed-off-by: Zach Brown <zach.brown@oracle.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bill.irwin@oracle.com> [PATCH] make mapping->tree_lock an rwlock Convert mapping->tree_lock to an rwlock. with: dd if=/dev/zero of=foo bs=1 count=2M 0.80s user 4.15s system 99% cpu 4.961 total dd if=/dev/zero of=foo bs=1 count=2M 0.73s user 4.26s system 100% cpu 4.987 total dd if=/dev/zero of=foo bs=1 count=2M 0.79s user 4.25s system 100% cpu 5.034 total dd if=foo of=/dev/null bs=1 0.80s user 3.12s system 99% cpu 3.928 total dd if=foo of=/dev/null bs=1 0.77s user 3.15s system 100% cpu 3.914 total dd if=foo of=/dev/null bs=1 0.92s user 3.02s system 100% cpu 3.935 total (3.926: 1.87 usecs) without: dd if=/dev/zero of=foo bs=1 count=2M 0.85s user 3.92s system 99% cpu 4.780 total dd if=/dev/zero of=foo bs=1 count=2M 0.78s user 4.02s system 100% cpu 4.789 total dd if=/dev/zero of=foo bs=1 count=2M 0.82s user 3.94s system 99% cpu 4.763 total dd if=/dev/zero of=foo bs=1 count=2M 0.71s user 4.10s system 99% cpu 4.810 tota dd if=foo of=/dev/null bs=1 0.76s user 2.68s system 100% cpu 3.438 total dd if=foo of=/dev/null bs=1 0.74s user 2.72s system 99% cpu 3.465 total dd if=foo of=/dev/null bs=1 0.67s user 2.82s system 100% cpu 3.489 total dd if=foo of=/dev/null bs=1 0.70s user 2.62s system 99% cpu 3.326 total (3.430: 1.635 usecs) So on a P4, the additional cost of the rwlock is ~240 nsecs for a one-byte-write(). On the other hand: From: Peter Chubb <peterc@gelato.unsw.edu.au> As part of the Gelato scalability focus group, we've been running OSDL's Re-AIM7 benchmark with an I/O intensive load with varying numbers of processors. The current kernel shows severe contention on the tree_lock in the address space structure when running on tmpfs or ext2 on a RAM disk. Lockstat output for a 12-way: SPINLOCKS HOLD WAIT UTIL CON MEAN( MAX ) MEAN( MAX )(% CPU) TOTAL NOWAIT SPIN RJECT NAME 5.5% 0.4us(3177us) 28us( 20ms)(44.2%) 131821954 94.5% 5.5% 0.00% *TOTAL* 72.3% 13.1% 0.5us( 9.5us) 29us( 20ms)(42.5%) 50542055 86.9% 13.1% 0% find_lock_page+0x30 23.8% 0% 385us(3177us) 0us 23235 100% 0% 0% exit_mmap+0x50 11.5% 0.82% 0.1us( 101us) 17us(5670us)( 1.6%) 50665658 99.2% 0.82% 0% dnotify_parent+0x70 Replacing the spinlock with a multi-reader lock fixes this problem, without unduly affecting anything else. Here are the benchmark results (jobs per minute at a 50-client level, average of 5 runs, standard deviation in parens) on an HP Olympia with 3 cells, 12 processors, and dnotify turned off (after this spinlock, the spinlock in dnotify_parent is the worst contended for this workload). tmpfs............... ext2............... #CPUs spinlock rwlock spinlock rwlock 1 7556(15) 7588(17) +0.42% 3744(20) 3791(16) +1.25% 2 13743(31) 13791(33) +0.35% 6405(30) 6413(24) +0.12% 4 23334(111) 22881(154) -2% 9648(51) 9595(50) -0.55% 8 33580(240) 36163(190) +7.7% 13183(63) 13070(68) -0.85% 12 28748(170) 44064(238)+53% 12681(49) 14504(105)+14% And on a pentium3 single processsor: 1 4177(4) 4169(2) -0.2% 3811(4) 3820(3) +0.23% I'm not sure what's happening in the 4-processor case. The important thing to note is that with a spinlock, the benchmark shows worse performance for a 12 than for an 8-way box; with the patch, the 12 way performs better, as expected. We've done some runs with 16-way as well; without the patch below, the 16-way performs worse than the 12-way. It's a tricky tradeoff, but large-smp is hurt a lot more by the spinlocks than small-smp is by the rwlocks. And I don't think we really want to implement compile-time either-or-locks. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olof@austin.ibm.com> [PATCH] PPC/PPC64: Abstract cpu_feature checks. Abstract most manual mask checks of cpu_features with cpu_has_feature() Signed-off-by: Olof Johansson <olof@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <trini@kernel.crashing.org> [PATCH] ppc32: Don't create .tmp_gas_check This changes how the ppc32 'checkbin' target works. Previously we did all of the tests using variables which would be evaluated for any and every make target. This meant that 'make tags' for example would leave behind a '.tmp_gas_check' file even though we didn't actually compile up anything, and would get in the way of diffs. By moving all of this logic directly into the 'checkbin' target, we only test gcc/gas versions when we're going to compile. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Tom Rini <trini@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: fix mv64x60 register relocation bug in bootwrapper The gt64260 looks at the highest 20 bits while the mv64[34]60 looks at only the highest 16 bits when determining the base address for the bridge's registers. This patch adds support for both. Signed-off-by: Nate Case <ncase@xes-inc.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] ppc32: update arch/ppc/configs/pmac_defconfig enable drm/agp, cpufreq, pppoe and new pccard option Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: Artesyn Katana platform update - Adds MTD support for the soldered FLASH - Adds cmdline parsing - Turns on the Blue LED when the system is halted - Moves some of the device window left by the firmware to proper alignments - Handles possibility of different frequencies for TCLK & SysCLK in 64460 - Misc. code clean up Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: Artesyn Katana enet update - Adapt Katana to the new names used by the ethernet driver. - Remove SRAM allocation code for mv643xx_enet until it's had more review. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mporter@kernel.crashing.org> [PATCH] ppc32: move irq_desc[].status, IRQ_LEVEL bit setup to xilinx_pic.c Move the code that informs the kernel if the particular interrupt is edge triggered or level sensitive from the board specific file to a "CONFIG_VIRTEX_II_PRO-specific" file. Using old IRQ numbering in that code is also fixed. Signed-off-by: Andrei Konovalov <akonovalov@ru.mvista.com> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ebs@ebshome.net> [PATCH] ppc32: Lindentify PPC4xx PIC driver This patch fixes whitespace in PPC4xx PIC driver. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ebs@ebshome.net> [PATCH] ppc32: PPC4xx PIC: ack parent UIC in disable_irq This patch fixes bug in PPC4xx disable_irq implementation. We need to ACK parent UIC to prevent false triggering in case IRQ we just disabled was already pending. Signed-off-by: Eugene Surovegin <ebs@ebshome.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: incorrect #define in include/asm-ppc/cpm2.h This patch fixes the incorrect definition of a macro that sets the transmit parity to even on a cpm uart device. Signed-off-by: Mark A. Greer <mgreer@mista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc32: Bogus definition of __cmpxchg_u32() This patch fix bogus types in the definition of __cmpxchg_u32() on ppc32. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: fix whitespace for 85xx CDS common platform Fix whitespace in arch/ppc/platforms/85xx/mpc85xx_cds_common.c Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Move from using #define SVR_ to cur_ppc_sys_spec name for 85xx platform Removes explicit defines for SVR_85xx and use the information in the ppc_sys_specs table in platform code. Changed the ppc_sys_name strings to be a bit more generic so we have a bit more flexilibity when we display them. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: mv64360_pic non-zero irq base Add support for non-zero irq base to mv64360_pic code. - Fix mv64360 pic code to handle non-zero mv64x60_irq_base - Cleanup mv64360 entries in /proc/interrupts Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: Add GPIO/IRQ definitions for mv64x60 parts Add mv64x60 GPP IO pin/IRQ register definitions Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mporter@kernel.crashing.org> [PATCH] ppc32: support OpenBIOS/U-Boot for Ebony This patch adds support for OpenBios on Ebony, as Matt Porter has suggested. It will provide same functionality as the pibs extension for Luan and Ocotea. Signed-off-by: Gerhard Jaeger <gjaeger@sysgo.com> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Add support for the Dallas 1553 RTC/NVRAM This patch adds support for the Dallas 1553 RTC/NVRAM. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Add support to use the DS1553 RTC/NVRAM on MPC8555 CDS system This patch makes the MPC8555 CDS system utilize the DS1553 RTC/NVRAM. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Trivial bug fix in CRITICAL_EXCEPTION macro This patch fixes a trival bug in the CRITICAL_EXCEPTION macro Signed-off-by: Takeharu KATO <kato.takeharu@jp.fujitsu.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: PowerQUICC II Pro subarch support Patch adds support for the initial PowerQUICC II Pro processors (MPC8343/E, MPC8347/E, and MPC8349/E) and the first reference platform (MPC834x SYS) from Freescale. The initial support is limited to existing drivers that overlap with the MPC85xx subarch (ethernet, I2C, uart). Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] remove unneeded includes from pSeries_nvram.c The pseries nvram driver started probably as a copy of nvram.c. These includes are not needed to build it. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: collect and export low-level cpu usage statistics POWER5 machines have a per-hardware-thread register which counts at a rate which is proportional to the percentage of cycles on which the cpu dispatches an instruction for this thread (if the thread gets all the dispatch cycles it counts at the same rate as the timebase register). This register is also context-switched by the hypervisor. Thus it gives a fine-grained measure of the actual cpu usage by the thread over time. This patch adds code to read this register every timer interrupt and on every context switch. The total over all virtual processors is available through the existing /proc/ppc64/lparcfg file, giving a way to measure the total cpu usage over the whole partition. Signed-off-by: Manish Ahuja <ahuja@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Move systemcfg out of head.S The "systemcfg" data structure in the ppc64 kernel is something that used to be defined to be at a hard-coded page number in the kernel image. This is not necessary (at least not any more) and is a possible problem with future developements. This patch removes that constraint, which also simplifies various bits of assembly in head.S that were dealing with it. This is the first step of a deeper cleanup of systemcfg definition of usage (and ultimately removal in it's current incarnation). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] ppc64: defconfig updates Update several ppc64 defconfigs. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] ppc64: distribute EXPORT_SYMBOLs This patch just moves as many as possible EXPORT_SYMBOL()s from arch/ppc64/kernel/ppc_ksyms.c to where the symbols are defined. This has been compiled on pSeries, iSeries and pmac. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Implement a vDSO and use it for signal trampoline This patch adds to the ppc64 kernel a virtual .so (vDSO) that is mapped into every process space, similar to the x86 vsyscall page. However, the implementation is very different (and doesn't use the gate area mecanism). Actually, it contains two implementations, a 32 bits and a 64 bits one. These vDSO's are currently mapped at 0x100000 (+1Mb) when possible (when a process load section isn't already there). In the future, we can randomize that address, or even imagine having a special phdr entry letting apps that wnat finer control over their address space to put it elsewhere (or not at all). The implementation adds a hook to binfmt_elf to let the architecture add a real VMA to the process space instead of using the gate area mecanism. This mecanism wasn't very suitable for ppc, we couldn't just "shove" PTE entries mapping kernel addresses into userland without expensive changes to our hash table management. Instead, I made the vDSO be a normal VMA which, additionally, means it supports copy-on-write semantics if made writable via ptrace/mprotect, thus allowing breakpoints in the vDSO code. The current implementation of the vDSOs contain the signal trampolines with appropriate DWARF informations, which enable us to use non-executable stacks (patches to come later) along with a few more functions that we hope glibc will soon make good use of (this is the "hard" part now :) Note that the symbols exposed by the vDSO aren't "normal" function symbols, apps can't be expected to link against them directly, the vDSO's are both seen as if they were linked at 0 and the symbols just contain offsets to the various functions. This is done on purpose to avoid a relocation step (ppc64 functions normally have descriptors with abs addresses in them). When glibc uses those functions, it's expected to use it's own trampolines that know how to reach them. In some cases, the vDSO contains several versions of a given function (for various CPUs), the kernel will "patch" the symbol table at boot to make it point to the appropriate one transparently. What is currently implemented is: - int __kernel_gettimeofday(struct timeval *tv, struct timezone *tz); This is a fully userland implementation of gettimeofday, with no barriers and no locks, and providing 100% equivalent results to the syscall version - void __kernel_sync_dicache(unsigned long start, unsigned long end) This function sync's the data and instruction caches (for making data executable), it is expected that userland loaders use this instead of doing it themselves, as the kernel will provide optimized versions for the current CPU. Currently, the vDSO procides a full one for all CPUs prior to POWER5 and a nop one for POWER5 which implements hardware snooping at the L1 level. In the future, an intermediate implementation may be done for the POWER4 and 970 which don't need the "dcbst" loop (the L1D cache is write-through on those). - void *__kernel_get_syscall_map(unsigned int *syscall_count); Returns a pointer to a map of implemented syscalls on the currently running kernel. The map is agnostic to the size of "long", unlike kernel bitops, it stores bits from top to bottom so that memory actually contains a linear bitmap check for syscall N by testing bit (0x80000000 >> (N & 0x1f)) of * 32 bits int at N >> 5. Note about backward compatibility issues: A bug in the ppc64 libgcc unwinder makes it unable to unwind stacks properly accross signals if the signal trampoline isn't on the stack. This has been fixed in CVS for gcc 4.0 and will be soon on the stable branch, but the problem exist will all currently used versions. That means that until glibc gets the patch to enable it's use of the vDSO symbols for the DWARF unwinder (rather trivial patch that will be pushed to glibc CVS soon hopefully), unwinding from a signal handler will not work for 64 bits applications. I consider this as a non-issue though as a patch is about to be produced, which can easily get pushed to "live" distros like debian, gentoo, fedora, etc... soon enough (it breaks compatilbity with kernels below 2.4.20 unfortunately as our signal stack layout changed, crap crap crap), as there are few 64 bits applications out there (expect gentoo), as it's only really an issue with C++ code relying on throwing exceptions out of signal handlers (extremely rare it seems), and as "release" distros like SLES or RHEL will probably have the vDSO enabled glibc _and_ the unwinder fix by the time they release a version with a 2.6.11 or 2.6.12 kernel anyway :) So far, I yet have to see an app failing because of that... Finally, many many many thanks to Alan Modra for writing the DWARF information of the signal handlers and debugging the libgcc issues ! Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ppc64-implement-a-vdso-and-use-it-for-signal-trampoline gas workaround I cannot find a version of binutils which doesn't either do arch/ppc64/kernel/vdso32/gettimeofday.S: Assembler messages: arch/ppc64/kernel/vdso32/gettimeofday.S:33: Error: syntax error; found `@' but expected `,' or arch/ppc64/kernel/vdso32/gettimeofday.S: Assembler messages: arch/ppc64/kernel/vdso32/gettimeofday.S:33: Internal error, aborting at ../../gas/config/tc-ppc.c line 2658 in md_assemble Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zwane@arm.linux.org.uk> [PATCH] ppc64: generic hotplug cpu support Patch provides a generic hotplug cpu implementation, with the only current user being pmac. This doesn't replace real hotplug code as is currently used by LPAR systems. Ben i can add the additional pmac specific code to put the processor into a sleeping state seperately. Thanks to Nathan for testing. Signed-off-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ppc64: generic hotplug cpu support fix Fix a false-positive from the smp_processor_id() debugging code. Idle threads are per-cpu anwyay. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] ppc64: disable HMT for RS64 cpus Hardware multithreading for RS64 cpus is currently broken. Anton sent me a patch a few weeks ago, but it did not work. So just hide the config option for the time being. Signed-off-by: Olaf Hering <olh@suse.de> Acked-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] ppc64: use vmlinux during make install on ppc64 make install passes the zImage to the installkernel script. When an initrd is used, this script has to pull out the vmlinux from the zImage because yaboot can not boot a zImage+initrd combo. It can only handle vmlinux+initrd or zImage.initrd. Its simple to just pass the plain vmlinux instead. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <david@gibson.dropbear.id.au> [PATCH] ppc64: functions to reserve performance monitor hardware The PPC64 interrupt code includes a hook to call when an exception from the performance monitor unit occurs. However, there's no way of reserving the hook properly, so if more than one bit of code tries to use it things will get ugly. Currently oprofile is the only user, but there are likely to be more in future e.g. perfctr, if and when it reaches a fit state for merging. This patch creates functions to reserve and release the performance monitor hardware (including its interrupt), and makes oprofile use them. It also creates a new arch/ppc64/kernel/pmc.c, in which we can put any future helper functions for handling the performance monitor counters. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Fix thinko in prom_init.c (It's a real bug, but I suspect it doesn't trigger normally as we tend to allocate the initrd low, but it should be fixed anyway). This patch fixes an error in prom_init.c in the check for the initrd location vs. the memory allocation mecanism. Signed-off-by: Arnd Bergmann <arndb@de.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Fix zImage wrapper incorrect size to flush_cache() This patch fixes a bug in the ppc64 zImage wrapper causing it to pass an incorrect size to flush_cache() when flushing the data and instruction caches prior to jumping to the kernel entry. This causes crashes on firmare environment that do strict MMU mapping only of actually allocated areas Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <moilanen@austin.ibm.com> [PATCH] ppc64: offb remapped address The offb code did not take into account a remapped pci address. Adding in the pci_mem_offset fixed a DSI in offb. Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: add TANBAC TB0219 base board driver This patch adds GPIO/LED/DIPSW driver for TANBAC TB0219. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: calculate clock at any time This patch changes bcu.c to calculate clock at any time. Because clock can be changed. Moreover, EXPORT_SYMBOL_GPLs are added to it. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: update CMU This patch updates cmu.c to get the resource by standard method. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@linux-sh.org> [PATCH] net: port smc91x to SH4-202 Microdev. Here is a patch that gets the smc91x driver working on the SH4-202 Microdev board. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <galak@freescale.com> [PATCH] initialize a spin lock in gianfar driver Initialize the mdio_lock spin lock in mii_info struct, which is otherwise accessed prior to initialization. Signed-off-by: Jaka Mocnik <jaka@activetools.si> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <torvalds@evo.osdl.org> x86: make put_user() out-of-line This makes the resulting assembly not only easier to read, it results in roughly a 0.5% savings in code size. Fixes from Richard Henderson for the original broken asm constraints. <lethal@linux-sh.org> [SH]: Cache flush simplifications after flush_cache_page() arg change. Signed-off-by: David S. Miller <davem@davemloft.net> <rmk@flint.arm.linux.org.uk> [ARM] Add validation function for struct rtc_time Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Simplify /proc/driver/rtc procfs interface. The read method doesn't need to calculate eof/start offsets. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <rmk@flint.arm.linux.org.uk> [ARM] Update mach-types from website. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <ben-linux@org.rmk.(none)> [ARM PATCH] 2515/1: S3C2410 - allow serial to use fclk on s3c2440 Patch from Ben Dooks This patch extends the s3c2410 serial driver to allow it to use fclk and correctly determine the uart dividers. The necessary defines are added to the serial headers as well. Also modified is the header to point at the current Simtec linux pages, as well as extend the copyright. Signed-off-by: Ben Dooks Signed-off-by: Russell King <stevef@smf-t23.(none)> [CIFS] remove sparse warnings - moving externs & making more functions static Signed-off-by: Steve French (sfrench@us.ibm.com) <davej@redhat.com> [AGPGART] vfree() checking cleanups generic.c vfree() checking cleanups. Signed-off by: James Lamanna <jlamanna@gmail.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Dave Jones <davej@redhat.com> <stevef@smf-t23.(none)> [CIFS] replace schedule_timeout with msleep (uninterrutable) in send retry path when clogged socket Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Steve French <sfrench@us.ibm.com> <dan@debian.org> [PATCH] x86: fix TF bit corner case with ptrace and signals If a debugger set the TF bit, make sure to clear it when creating a signal context. Otherwise, TF will be incorrectly restored by sigreturn. Signed-off-by: Daniel Jacobowitz <dan@debian.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] Consolidate compat_sys_waitid This patch does: - consolidate the three implementations of compat_sys_waitid (some were called sys32_waitid). - adds sys_waitid syscall to ppc - adds sys_waitid and compat_sys_waitid syscalls to ppc64 I have left PARISC and MIPS to their own devices (by request). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <davem@northbeach.davemloft.net.davemloft.net> [SPARC64]: Update defconfig. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net.davemloft.net> [SPARC64]: Fix semtimedop compat ipc code. The timeout pointer really does get passed in as the fifth argument, not the third. Thanks to Willy Tarreau for noticing. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [CRYPTO]: Mark myself as co-maintainer. James is stepping down for a while. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Add xfrm_state_mtu() This patch introduces the function xfrm_state_mtu which calculates the MTU under a specific SA. This function can be simplified once we get rid all other uses of get_max_size as we can move the calculation into the invidual SA type. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Add route element to xfrm_dst This patch adds a pointer to the route corresponding to the specific flow over the SA of an xfrm_dst that's being used. It also sets the next pointer of each xfrm_dst to the one above it. This allows to traverse the list upwards from the bottom. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Store MTU at each xfrm_dst Finally this is the patch that sets the MTU values of each xfrm_dst and keeps it up-to-date. To recap, at this point we've obtained accurate MTU values at each xfrm_dst. The next step would be to start using it as dst_pmtu(xfrm_dst). Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Use dst_mtu i n xfrm[46]_output There was a lot of fun in laying the foundations. Now it's time to start using it. This patch fixes the calculations in xfrm[46]_output so that we don't reject properly sized packets from the TCP stack. The previous calculation is wrong because the xfrm overhead is not constant. After this I'll start cleaning stuff up. For example, tcp's ext2_header_len and dst's path can both be removed. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Fix xfrm[46]_update_pmtu to update top dst Let's also fix IPsec PMTU storage. When we get an MTU update for an xfrm_dst, it should be done to the top dst, not the bottom dst. For example, when we get a need-to-frag message for host C behind a our IPsec peer B, we should be updating the dst entry for C and not B as we do now. I've removed the boundary checks since the same checks are done in ipv[46]/route.c already. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Get metrics for xfrm_dst from top dst For the metrics other than MTU, we should also be getting it from the top dst as opposed to the bottom dst. With this change, the user is able to manipulate values such as advmss for individual hosts behind a remote IPsec gateway. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <stevef@smf-t23.(none)> [CIFS] cifs ioctl support part 1 This is needed for getflags and setflags (chattr) support and the new CIFS POSIX extensions Signed-off-by: Steve French (sfrench@us.ibm.com) <davej@redhat.com> [PATCH] blacklist microtek scanmaker III To try and escape the madness of adding a zillion USB card readers to the SCSI whitelist, I flipped the scan all lun's by default switch in the fedora kernel recently to see just what breaks, in the hope of moving from a whitelist solution to a blacklist. Here's the first (hopefully of not too many) devices that broke. (See https://bugzilla.redhat.com/beta/show_bug.cgi?id=149402 for more info) Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <kenn@linux.ie> [PATCH] NCR5380 delayed work fix and locking fix Changes to the NCR5380 driver between 2.6.9 and 2.6.10 replaced the driver's home-grown delayed work implementation with a call to schedule_delayed_work(). However, the delay argument was not passed correctly, so the work was usually scheduled for _way_ too far in the future. This patch fixes this. NCR5380_print_status() is called from NCR5380_abort() and from NCR5380_bus_reset(). In at least the abort() case, the host lock has already been acquired by scsi_error.c:scsi_try_to_abort_command(). NCR5380_print_status() calls NCR5380_proc_info() which also acquires and releases the host lock. This patch removes the call to NCR5380_proc_info() from NCR5380_print_status. Cosmetic: Remove duplicated lines of code from NCR5380_abort(). Signed-off-by: Kenn Humborg <kenn@linux.ie> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <bunk@stusta.de> [PATCH] SCSI NCR_D700.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <matthew@wil.cx> [PATCH] Display SPI transfer agreement in common code [ This is an updated version of http://marc.theaimsgroup.com/?l=linux-scsi&m=11091830... Relative to that patch, it prints the period in a nicer way; exactly the same way as the strings in the original version of this file. ] Introduce a generic SPI function to print the negotiated transfer agreement. It's based on the implementation in sym53c8xx_2/sym_misc.c. I have changes in my tree to make 53c700, ncr53c8xx and sym2 use it. Other drivers need to be converted to use the SPI transport layer first. In order to calculate the speed I needed to be able to convert from period factor to period in picoseconds. That required changing (show|store)_spi_transport_period to work in picoseconds rather than a string. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <matthew@wil.cx> [PATCH] Use spi_display_xfer_agreement() in 53c700 Convert 53c700 to use spi_display_xfer_agreement() Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <vojtech@suse.cz> input: Fix two typos in i8042 PnP code. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Fix ALPS breakage caused by previous refactoring. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <vojtech@suse.cz> input: Fix a connector name in a comment in lkkbd.c Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <lethal@linux-sh.org> New BitKeeper file ``drivers/input/touchscreen/hp680_ts_input.c'' <lenz@cs.wisc.edu> input: This patch is for the keyboard on Sharp Zaurus collie and poodle models (SL5000, SL5500, and SL5600). It uses the devices exported in arch/arm/common/locomo.c. The pressed state of the keys is now handled by the input layer rather than directly in this driver. More information about the status of Zaurus (and some extra patches if you need to test this out) can be found on my web page at http://www.cs.wisc.edu/~lenz/zaurus Signed-off-by: John Lenz <lenz@cs.wisc.edu> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <akropel@rochester.rr.com> input: hid-debug.h uses a C99 feature (range designators) not available in gcc-2.95. Since gcc-2.95 is still a supported compiler for 2.6 and the initializers as used here add no functional value, this patch removes them. gcc-2.95 is then able to compile hid-core with DEBUG enabled. Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <c.lucas@ifrance.com> input: convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: Fix compiler warning in trident gameport code with enabled debugging and compiler error in ymfpci when compiled without gameport support. From: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> input: some whitespace and formatting cleanup in Corgi drivers. Also change del_timer to del_timer_sync in corgikbd and add missing del_timer_sync to corgi_ts. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: i8042 - disable MUX mode on some Fujitsu notebooks as it does not seem to be working properly and requires psmouse module to be reloaded several times for touchpad to be identified correctly. Since none of these notebooks have external PS/2 ports disabling MUX should have no drawbacks. Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <dtor_core@ameritech.net> Input: export psmouse module parameters via sysfs: /sys/module/psmouse/parameters/proto /sys/module/psmouse/parameters/rate /sys/module/psmouse/parameters/resetafter /sys/module/psmouse/parameters/resolution /sys/module/psmouse/parameters/smartscroll Signed-off-by: Dmitry Torokhov <dtor@mail.ru> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <akropel1@rochester.rr.com> input: hid-debug.h includes resolv_event, which is not used if DEBUG is only enabled in hid-core, but _is_ used when DEBUG is also enabled in hid-input. Mark the function with __attribute__((unused)) to silence the warning when only hid-core is being DEBUGged. Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> <herbert@gondor.apana.org.au> [IPSEC]: Check dst validity harder in xfrm_bundle_ok There is another bug in xfrm_bundle_ok where I forgot to check the validity of xdst->route. In fact, the check on dst->path isn't strong enough either. For IPv6 entries, dst->path->obsolete is always negative until you call ipv6_dst_check. So we really need to do that here. Here's the patch to fix those two problems. Yes I know my dst_check implementation is lame. I'll come back and fix up all the dst_check functions by moving their dst_release calls out. It proves that you were right in that IPv6 dst leak thread :) Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Get rid of dst_pmtu/ext2_header_len Here is a patch that replaces all occurrences of dst_pmtu in the TCP stack. As a result we no longer need ext2_header_len. This has a nice synergetic effect with Arnaldo's latest change to linux/tcp.h :) I'll be removing other users of dst->path/dst_pmtu next. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <akpm@osdl.org> [ATALK]: linux/atalk.h needs net/sock.h Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Kill redundant dst_release check in xfrm_dst_destroy Here's a trivial patch to get rid of a redundant check that I added in patch 3/4. dst_release already checks for dst == NULL. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <willy@parisc-linux.org> [PATCH] PA-RISC copy/clear_user_page improvements - Performance improvement to __clear_user_page_asm - White space cleanup - 64-bit version of copy_user_page_asm - Add prefetching to copy_user_page_asm - remove NOP and "bundle" comments Contributions from Joel Soete Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] GCC 3.4 fixes for PA-RISC parport support - Move include/asm/parport_gsc.h to drivers/parport/ - Fix gcc 3.4 compilation (redefined extern inline functions are not considered for inlining) From: Joel Soete <joel.soete@tiscali.be> Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Convert PARISC64 to 64BIT More CONFIG_PARISC64 to CONFIG_64BIT conversion Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Convert from a struct dev to a firmware hwpath PA-RISC firmware needs a hwpath which can be constructed from a pci_dev or a parisc_device. Previously we've known what type of device we had, but when using sysfs we have to figure it out. Signed-off-by: Thibaut VARENE <varenet@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC PDC stable storage driver Add PDC stable storage driver. Also reorganise PA-RISC Kconfig a little. Signed-off-by: Thibaut VARENE <varenet@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] ALSA Harmony sound driver for PA-RISC ALSA Harmony rewrite Signed-Off-By: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Stuart Brady <sdbrady@ntlworld.com> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC defconfig update Update a500_defconfig Remove n4000_defconfig as a500_defconfig is now suitable for both boxes Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Update PA-RISC PCI host adapter - Use CONFIG_64BIT instead of CONFIG_PARISC64 - Rename lba_cfg_ops to elroy_cfg_ops - Don't check for a non-1,2 or 4 size in the cfg_ops - Call LBA_CFG_ADDR_SETUP instead of LBA_CFG_TR4_ADDR_SETUP in elroy_cfg_ops - Don't read back from LBA_PCI_CFG_ADDR in LBA_CFG_TR4_ADDR_SETUP - Remove LBA_FLAG_NO_DMA_DURING_CFG since it's always set for elroy_cfg_ops - Remove LBA_TR4PLUS since we no longer need to test for it. - Inline lba_common_init() into lba_driver_probe() - Move TR2.1 check into an elroy-only path - Check for LBAs that aren't Elroy, Mercury or Quicksilver. - Remove all casts to 'int' in the driver, got rid of some unnecessary parens and deleted the obsolete part of a comment. - Return -EINVAL for config space >255 - Always return 0 on config read success - Remove definitions of TRUE and FALSE - ioremap fix for port-io on non-PAT machines - Remove the bad casts from the register accessors - With those gone, I could see the piop_base needed to be remapped. - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Update PA-RISC IOMMU code - The pdc_io_reset_devices() call necessary for USB keyboard kills the serial console. Use a test that seems to work for both. - Don't bounce >4G buffers on machines with IOMMU - Remove ASSERT code and cleanup iomem * related warnings - Fix comment that was pointing to the old file location - Expand comment about PDC reset to describe broken GFX+USB console at powerup by direct linux to serial console - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000 - Remove casts from "READ_REG" and "WRITE_REG" macro - Set D4 and DD bits in IOC_CTRL - Allow all memory in machine to be in-flight DMA at once, up to 4GB Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Update PA-RISC IOSAPIC driver - Fix all ioremap abuse noticed by CONFIG_DEBUG_IOREMAP on an N4000. - F_EXTEND doesn't do what I thought it did on a 32-bit box. - New calling convention for txn_alloc_irq() - Replace CONFIG_PARISC64 with CONFIG_64BIT - Ensure alignment of the irt buffer to 8 bytes even when slab debugging is enabled Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC Kconfig updates - Use def_bool where possible - Eliminate PARISC64 Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC Makefile updates - Support sparse - Use CONFIG_64BIT instead of CONFIG_PARISC64 - Find palo in /sbin even if it's not in our $PATH Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] Document a "don't do that" case for the tty layer <alan@lxorguk.ukuu.org.uk> [PATCH] Fibre attached pcnet/32 The current driver does workarounds for errata that do not work with fibre attached devices. This patch avoids doing the workaround on the only known fibre attach pcnet/32 hardware. All handling is automated on pci sub-ids Patch by: Guido Guenther Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] Add ATP88x support to the ATP870U driver (Vendor patch) Patch-by: ARTOP Corp. Basically this adds the small bits for the new card and makes one set of items an array because the new card is multi-channel. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] Restore PWC driver PWC has a new maintainer (Luc Saillard) and also the various contentious binary hooks removed and replaced with reverse engineering work. Please restore it to the kernel Alan Signed-off-by: Luc Saillard <luc@saillard.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] PCI idents for PCnet32 fix Sorry forgot I made these constants <alan@lxorguk.ukuu.org.uk> [PATCH] stallion ressurection, phase 1 This gets the stallion driver working again non-SMP. Patch by Wayne Meissner Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] resync ATI PCI idents into base kernel <stevef@smf-t23.(none)> [CIFS] ioctl support part 1 Signed-off-by: Steve French (sfrench@us.ibm.com) <stevef@smf-t23.(none)> [CIFS] recognize nouser_xattr and user_xattr mount options (default is still xattr enabled if built with xattr support) Signed-off-by: Steve French (sfrench@us.ibm.com) <davem@northbeach.davemloft.net> [SPARC]: mstk48t{08,59}_regs is static. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [SPARC64]: boot_cpu_id is static. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [SPARC64]: Make access_ok() more palatable to gcc-4.x Also, kill __{user,kernel}_ok() as they are unused macros on sparc64. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [BT8XX]: Declare bt878[] array after struct layout definition. Signed-off-by: David S. Miller <davem@davemloft.net> <thomas@winischhofer.net> [PATCH] USB: add SiS USB2VGA kernel driver Signed-off-by: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <greg@kroah.com> [PATCH] USB: fix sparse bitwise warnings in the sisusb.c driver Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <thomas@winischhofer.net> [PATCH] USB: SiS USB2VGA minor fix. here is a tiny, small update for the sisusb driver. It fixes one spacing issue, one (internal) API issue and one endian issue (stupid copy/paste error) Signed-off by: Thomas Winischhofer <thomas@winischhofer.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: give sisusb a valid minor number (133 - 140) Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <luca.risolia@studio.unibo.it> [PATCH] USB: SN9C10x driver bugfix SN9C10x bugfix and small updates. Changes: @ Allocate the correct number of buffer memory bytes for read() * Wakeup interruptible events on DEV_MISCONFIGURED status * Allocate the exact number of buffers (nreadbuffers) in poll() * Documentation updates Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <luca.risolia@studio.unibo.it> [PATCH] USB: SN9C10x driver bugfix SN9C10x driver bugfix. Changes: @ Calculate correct image size in urb_complete() Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <mdharm-usb@one-eyed-alien.net> [PATCH] USB Storage: Remove fix_capacity routine This is patch as422 from Alan Stern. This is the second half of the two-part patch to move the fix_capacity functionality up into the sd driver. James Bottomley has applied the SCSI half, so now the usb-storage part is ready to go. In short, the patch removes the fix_capacity routine and in its place, sets a device flag to tell sd that the reported capacity is one sector too high. It's a simple change and shouldn't cause any problems. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <mdharm-usb@one-eyed-alien.net> [PATCH] USB storage: make IGNORE_RESIDUE apply for reads (in addition to writes) This patch was originally as406. I've rediffed it against a current tree. This patch makes the iGNORE_RESIDUE flag apply to reads (as well as writes, which it already does). This is done because we've found devices which improperly report residue in the 'read' case. Phil will send in a follow-up patch with the appropriate unusual_devs entry for Ian's device soon. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <greg@kroah.com> [PATCH] USB: remove UB checks in the usb-storage driver. This allows either the ub or usb-storage driver to bind to the same device, allowing people to use both without rebuilding their kernels. It can be a bit messy at times... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Acked-by: Matthew Dharm <mdharm-kernel@one-eyed-alien.net> Acked-by: Pete Zaitcev <zaitcev@redhat.com> <dsd@gentoo.org> [PATCH] USB: shuttle_usbat cleanups and generalisations Misc cleanups, a few more annotations, some function name/usage generalisation, and preparation for addition of support for flash-reader devices. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dsd@gentoo.org> [PATCH] USB: Add USBAT02 storage support Adds support for USBAT02-based devices. A few HP cd writers came out with this chip. A lot of flash-readers also share these ID numbers: this will be addressed in the next patch. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dsd@gentoo.org> [PATCH] USB: Add USBAT-based CompactFlash storage support Adds long overdue support for 12 CompactFlash card reader/writers based on the USBAT02 chip! See http://usbat2.sourceforge.net Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <phil@ipom.com> [PATCH] USB: unusual_devs.h update Alan and Matt recently submitted a patch to change IGNORE_RESIDE to ignore residues on WRITE as well as READ. As a follow up to that, this device needs that functionality. This adds the unusual_devs entry for that device. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <mdharm-usb@one-eyed-alien.net> [PATCH] USB Storage: devices which don't process PREVENT-ALLOW MEDIUM REMOVAL This patch started life as as423, and has been re-generated against the current tip. Some storage devices don't like PREVENT-ALLOW MEDIUM REMOVAL commands; rather than returning an Invalid Command ASC they just die or imagine that the medium has actually been removed. Until now people have been relying on the SCSI blacklist table, which can be updated at runtime, to mark devices which shouldn't receive these commands. However it will be more efficient and easier to do it from within usb-storage, particularly since many of these devices share the same USB Vendor and Product IDs (while having different INQUIRY product strings). *sigh* We really should be trying to push as much of this as possible onto hotplug. It's easier to update userspace tools than the kernel to support a new device. The relevant devices already have unusual_devs entries; this patch just adds the new flag to those entries and uses it to set a corresponding flag in the scsi_device structure. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/cypress_m8: replace schedule_timeout() with msleep() Description: Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code is not incorrect. Using msleep(), though, encourages specifying time delays in human time-units and consistency across the kernel. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <radford@golemgroup.com> [PATCH] USB ftdi_sio: an rs485 adaptor from 4n-galaxy.de This patch adds support for an rs485 adaptor from 4n-galaxy.de. Signed-off-by: Jim Radford <radford@golemgroup.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Retry more aggressively during device initialization This patch make the hub driver's device initialization routine more aggressive about detecting errors and retrying. It checks the result of the 64-byte GET-DESCRIPTOR request to verify that the descriptor tag is set correctly and the ep0-maxpacket value is legal; if either is not true it will retry the request immediately. David Brownell has said that this kind of approach is necessary to make certain buggy devices work. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Make use_both_schemes=y the default Enough people are experiencing problems with the new device initialization scheme that it seems like a good idea to make the default behavior be to try the old scheme when the new one fails. That's what this patch does, simply by changing the initial value of the use_both_schemes module parameter. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/io_edgeport: replace interruptible_sleep_on_timeout() with wait_event_timeout() Use wait_event_timeout() instead of deprecated interruptible_sleep_on_timeout(). Signals are not checked in the current code, so interruptible should not be necessary. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/mdc800: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/auerswald: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. There might be a problem with returning without adding/removing to the waitqueue before wait_event_timeout() is called. I am not sure if this is a problem or not. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ati_remote: use wait_event_timeout() Description: Use wait_event_timeout() instead of custom wait-queue code. The current code uses TASK_INTERRUPTIBLE but doesn't seem to care about signals so TASK_UNINTERRUPTIBLE should be ok. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: add 'distrust_firmware' option to ohci This replaces an undocumented/experimental "power_switching" flag with a more useful one that lets the driver rely on the boot firmware to report such capabilities. The driver still defaults to munging those informational flags (as it has since 2.2!), so usbcore usually won't try to power-switch with OHCI, but now we have a simple way to default to the behavior specified by the board manufacturer. Also corrects a misprint in the debug 'registers' dump: a bit was shifted right by one nibble, so every controller was reported as supporting the legacy i8042 emulation registers. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: ohci-omap updates This resolves a FIXME by making the OHCI driver handle power switching on the OSK board, rather than expecting tps65010 init logic to do that. The tps65010 support is #ifdeffed, since that driver hasn't yet been merged into the mainline kernel tree. It also makes OSK (and Innovator) report that they can do ganged power switching; the rest of usb ignores that for now, but that'll change. (Eventually OHCI needs to support board-specific root hub operations, especially for power switching and overcurrent detection, but that needs a few more tweaks.) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Initialize connected ports on newly-activated hubs This patch changes the mechanism used for detecting devices that were already connected to a hub at the time the hub was activated. This can occur in several different circumstances: when the hub is configured for the first time, when the hub is reset following a malfunction, when the hub is resumed. The patch mainly addresses the third possibility, although it also handles the other two. The scenario I have in mind is waking up from a system suspend, where the user has plugged in a new USB device while the system was asleep, and for some reason the hub no longer has a record of the connect change on that port. (Maybe the BIOS or the boot kernel has interfered.) At any rate, the patch causes the hub driver to scan all ports in the reactivated hub, and if it finds a connected port with no child device already allocated then it pretends there was a connect-change event on that port. This will serve to take care of ports with new devices attached that the driver doesn't know about. The existing resume code already handles the case of ports that used to have a device but don't any longer. The remaining case, where different devices are attached to the port before suspending and after resuming, still needs to be handled. The resume code should call the same "descriptors changed" check used by usb_reset_device. That's a patch for another day. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB UHCI: split code from uhci-hcd.c to new file uhci-q.c The uhci-hcd.c source file has become uncomfortably large. In anticipation of separate upcoming changes to the HC management (for suspend/resume) and the URB handling (single QH per endpoint), and for the sake of compatibility with the structure of the OHCI and EHCI drivers, this patch splits out almost all the code for scheduling URBs and sticks it in a new source file, uhci-q.c. This is code rearrangement only, with no functional changes. In case your patch scripts aren't smart enough to realize it, the new uhci-q.c file will have to added to the list of BK-managed files. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/hid-core: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/kaweth: use wait_event_timeout() Use wait_event_timeout() instead of custom wait-queue code. Remove now unused variables. I changed the code to only add to the wait-queue if necessary, but I'm not sure if this is correct. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Revised fixups for root-hub message handler This patch fixes a number of small errors in the routines that handle messages for root hubs: Fill in the extra byte if a string descriptor transfer asks for an odd number of bytes. Don't copy more than urb->transfer_buffer_length bytes. Use an extra internal buffer to avoid the need for lots of bounds checking. Replace strcpy by strlcpy and sprintf by snprintf to avoid overflowing an internal buffer. Don't set urb->status without first acquiring urb->lock. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dhollis@davehollis.com> [PATCH] USB: Add ASIX AX88772 10/100 Ethernet support to usbnet * Add support for the ASIX AX88772 10/100 Ethernet chip * Fix ax8817x_bind to use allocated buffer to avoid DMA on the stack * Fix ax8817x_bind error handling to ensure all resources are freed on failure * Fix ax8817x_get_eeprom routines to return valid eeprom data Signed-off-by: David Hollis <dhollis@davehollis.com> Acked-by: David Brownell <david-b@pacbell.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dsd@gentoo.org> [PATCH] usb-storage: More flexible signature checking mechanism This patch alters the CSW signature checking code to work with devices that report non-standard signatures, such as some Olympus and Aldi cameras. We now learn the first signature we see, and use it to check signatures of all subsequent transfers. This allows us to continue to benefit from the error-checking capabilities of the signature transfer, while becoming compatible with (yet more) non-standard devices. Suggestion from Alan Stern. Signed-off-by: Daniel Drake <dsd@gentoo.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <zaitcev@redhat.com> [PATCH] USB: add usbmon, a USB monitoring framework This patch adds so-called "usbmon", or USB monitoring framework, similar to what tcpdump provides for Ethernet. This is an initial version, but it should be safe and useful. It adds an overhead of an if () statement into submission and giveback paths even when not monitoring, but this was deemed a lesser evil than stealth manipulation of function pointers. The patch makes two changes to hcd.c which make usbmon more useful: - Change the way we determine that DMA should not be mapped for root hubs, so that usbmon knows easily when it's safe to capture data. - Return exports of usb_bus_list and usb_bus_list_lock for those who wish to build usbmon as a module. This version of the patch changes #define to inlines for hooks and drops extra mod_ops. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/io_edgeport: remove interruptible_sleep_on_timeout() usage On Tue, Feb 01, 2005 at 11:43:08AM -0800, Nishanth Aravamudan wrote: > This should fix the behavior of the previous patch (probably not noticed yet). > The wake_up*() was not matched properly in the first patch (fixed below). Please > consider reverting the previous patch and applying this one instead. Directly use wait-queues to remove remaining callers of interruptible_sleep_on_timeout(). Signals are not checked (except in one case) in the current code, so interruptible should not be necessary. Modify the wake_up*() calls to match the wait-queue usage. There were some naming conflicts, which I tried to resolve appropriately. The final replacement is within a #if 0 / #endif section of code, but in case that code is ever used again, I would prefer it had the correct interface :) Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/mdc800: replace wake_up() with wake_up_interruptible() On Tue, Feb 01, 2005 at 11:51:36AM -0800, Nishanth Aravamudan wrote: > This should fix the behavior of the previous patch (probably not noticed yet). > The wake_up*() was not matched properly in the first patch (fixed below). Modify the wake_up*() calls to match the wait_event*() ones from a previous patch. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <bernard@blackham.com.au> [PATCH] USB: fix types in usb suspend This fixes types in USB w.r.t. driver model. It should not actually change any code. Please apply, From: Bernard Blackham <bernard@blackham.com.au> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: don't power down net2280 on suspend This creates a module parameter "enable_suspend", and changes the default behavior to avoid the need to power cycle machines with net2280 cards to recover from some common developer actions (like rmmod/modprobe). When set to 1, the net2280, for better or worse, will enter low-power mode when the USB host requests it. This is fine except in situations involving a power-cycling host or rmmoding the gadget driver while connected to a suspended (or disconnected!) port. When set to 0 (now the default), the driver will report suspend requests to the gadget driver, but will not place the NET2280 into low-power mode. This works fine in all situations except bus-powered devices (for which a PCI+Linux-based NET2280 generally doesn't make much sense anyway) It also (finally...) updates NetChip references to refer to PLX; and updates the dates on the driver. From: Alex Sanks <ASanks@plxtech.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: add <linux/usb_cdc.h> This adds a new <linux/usb_cdc.h> header file, with definitions for the CDC class constants and structures used by various drivers. For now this only has the ones Linux actually uses. Each one is used in at least two or three different drivers, so sharing the definitions helps reduce errors. It's also a good excuse to make sure there "sparse -Wbitwise" doesn't report errors in how these are used! Patches to those drivers will follow as I have time to verify the updates: - CDC ACM (for serial lines and modems) * Host side support in "cdc-acm" * Peripheral side support in "g_serial" - CDC Ethernet (cable modems, PDAs, etc) * Host side support in "usbnet" * Peripheral side support in "g_ether" Also, Microsoft's RNDIS is a variant of CDC ACM, providing an Ethernet model and implemented by g_ether; it uses these definitions too. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: Ethernet/RNDIS build fix on PXA25x This fixes a build problem with the RNDIS support on PXA25x processors. It's useful to help OpenZaurus win even bigger ... current OpenEmbedded builds already bundle this patch. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: omap_udc handles two more devel boards This teaches omap_udc how to work on two more OMAP development boards: - OMAP 5912 OSK, a starter kit; - OMAP 1710 H3, more or less an H2 with a newer OMAP chip (0.90 nm etc). It also adds slightly more informative debug dumps for transceiver configuration. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: pxa2xx_udc isn't for pxa27x This prevents selection of the pxa2xx_udc driver on pxa27x chips; the newer chip has incompatible changes in the register API. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: usbnet, cleanups and suspend/resume calls This has some small updates to the "usbnet" driver: - Remove an unused debug-only symbol - Make the net1080 minidriver pass "sparse -Wbitwise" - Add suspend/resume methods No functionality changes other than the suspend/resume support. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: usbnet uses <linux/usb_cdc.h> This makes the "usbnet" driver user the new <linux/usb_cdc.h> header, and the stuctures and constants found therein. It also cleans up the Zaurus device table entries a smidgeon. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> USB: revert wacom driver patch. Cset exclude: akpm@osdl.org[gregkh]|ChangeSet|20050308064955|00321 Will be coming in through the bk-input tree instead. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: Ethernet/RNDIS gadget driver uses <linux/usb_cdc.h> This converts the Ethernet/RNDIS gadget driver to use <linux/usb_cdc.h>. It now passes "sparse -Wbitwise", except for the spot in the gadget API where the SETUP packet is still byteswapped. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: serial/acm gadget uses <linux/usb_cdc.h> This converts the serial/ACM gadget driver to use <linux/usb_cdc.h>, again a net code shrink. It also gets rid of several "sparse -Wcontext -Wbitwise" warnings; again, excepting the cases where the gadget driver setup() callback hasn't yet changed in all the controller drivers. Two of these warnings were bugs: one affecting CDC ACM support on big-endian hardware (reporting of DTE data rate), one keeping IRQs blocked too long. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: cdc-acm uses <linux/usb_cdc.h> This makes cdc-acm use the <linux/usb_cdc.h> file. It (still) passes "sparse -Wbitwise" on those fields. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: ohci ppc driver (1/2): big-endian tweaks These are the remaining OHCI core (and Kconfig) updates for big-endian support on STB03xxx and MPC52xx PPC chips. These are the first known implementations with big-endian register and memory layouts. - Two more in-memory fields, related to isochronous transfers have different behavior: HCCA frame number, and ISO TD status. - Kconfig gets new OHCI options, for big-endian and little-endian. The default is little-endian; those PPC platforms can support both the on-chip big-endian version, and little-endian PCI chips. Most of the related ohci core fixes have already been merged. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: ohci ppc driver (2/2): ohci-ppc-soc.c This adds drivers/usb/host/ohci-ppc-soc.c, the USB OHCI glue file for two PPC SOC implementations. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: UHCI: Fix build errors when CONFIG_DEBUG_FS isn't set > I've dropped this now. It caused the usb-bk tree to be dropped from the > -mm releases due to it causing build errors if CONFIG_DEBUG_FS not being > enabled. Andrew sent me a horrible hack to try to fix it up, but I'm > going to trust you to fix it up properly :) Here's a proper fix (well, it's a little hackish, but better than Andrew's I hope). No more build problems if CONFIG_DEBUG_FS isn't set. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/message: make usb_{control,bulk}_msg() use msecs Change the units of the timeout parameter in both usb_control_msg() and usb_bulk_msg() from jiffies to milliseconds. This is the core patch upon which the remaining ones will be built. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] include/usb: change USB_CTRL_{SET,GET}_TIMEOUT to msecs Change the units of the timeout constants in usb.h to correspond to the new parameter units for usb_{control,bulk}_msg(), in this case from seconds to milliseconds. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/message: change parameters of usb_control_msg() to msecs Change units of parameters being passed to usb_control_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT's units are changed in a separate patch such that the the HZ multiplication is no longer necessary. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/message: move msecs change into usb_start_wait_urb() After discussion with gregkh on IRC, I realized that the conversion can be pushed one layer further down into usb_start_wait_urb(), as only usb_{control,bulk}_msg() call this function (kaweth.c has its own version, which remains unchanged by this set of patches). The following incremental patch pushes the conversion into usb_start_wait_urb(). It should be applied after the previous ones to message.c [1/63 and 3/63]. Description: Pushes conversion from milliseconds to jiffies one function further down the usb stack into usb_start_wait_urb(). The only callers of this function are usb_{control,bulk}_msg(); this patch makes the units conversion happen in one place instead of two. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/speedtch: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/audio: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/cdc-acm: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usblp: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/devio: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/hub: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT was converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/hid-core: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/cytherm: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usbtest: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/powermate: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/aipteke: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/mtouchusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/wacom: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ibmcam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/konicawc: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ov511: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/se401: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. USB_CTRL_{GET,SET}_TIMEOUT were converted to milliseconds in a separate patch. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/sn9c102: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ultracam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/vicam: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/auerswald: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/w9968cf: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/idmouse: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/legousbtower: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/phidgetkit: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/phidgetservo: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usbled: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/uss720: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/catc: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/rtl8150: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usbnet: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Remove unused jiffy-unit constant. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/belkin_sa: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ezusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/io_ti: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ipaq: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ipw: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ir-usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/keyspan_pda: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/kl5kusb105: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/mct_u232: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ti_usb_3410_5052: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/visor: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/rio500: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/whiteheat: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usb-skeleton: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] bluetooth/bfusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] char/pcwd_usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] net/irda-usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] net/stir4200: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] w1/dscore: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] sound/usbmixer: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] sound/usX2Yhwdep: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/b2c2-usb-core: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/dvb-dibusb-firmware: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] video/cpia_usb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/cinergyT2: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/dvb-dibusb: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. This constant is only used for these functions. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/dvb-ttusb-budget: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] dvb/ttusb_dec: change parameters of usb_{control,bulk}_msg() to msecs Change units of parameters being passed to usb_{control,bulk}_msg() to milliseconds. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: ethernet gadget driver aligns IP headers Align incoming Ethernet packets so the header after Ethernet starts on something closer to a cacheline boundary. This normally just tweaks performance for the IP layer. But on one board (a no-MMU ARM9TDMI with no hardware support for alignment fixups) it's needed to prevent the IP checksumming code from failing. From: Thomas Brinker <thomas.brinker@gmx.de> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: ehci updates for TDI/ATG silicon This patch updates support for the TDI EHCI controller, which is mostly used on non-PCI systems: - Correctly initialize the latest chip, which has both host (EHCI) and peripheral modes. - Initialize split isochronous transfers to use the integrated TT. Most of the patch, by volume, just changes the company name from ARC to TDI in the source code; TransDimension bought ARC's peripheral connectivity business. From: Craig Nadler <cnadler@transdimension.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: teach gadget drivers about s3c2410_udc This patch makes gadget drivers recognize the UDC controller in the Samsung s3c2310 (ARMv4T). This is used in the iPaq H1940, partially supported by Linux, as well as various other devices. A controller driver is available, though it's not yet submitted. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: usbnet uses NET_IP_ALIGN Go back to aligning RX packets to make the IP layer happy, now that there's an appropriately platform-specific way to do this. This should be only a performance tweak. However, the alignment handlers on some platforms don't seem to behave; so it may have correctness impacts too. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <050035w@acadiau.ca> [PATCH] USB: fix error in usb_skel.c Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] usb-storage: Don't log expected signatures This fairly trivial patch makes three small changes: Correct a typo in a comment. Don't print a debugging message when a USB mass-storage device uses the standard signature (the one we would expect normally). Shorten a debugging message and add a newline. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <hwelte@hmw-consulting.de> [PATCH] [PATCH 2.6] maintainers / documentation update cyberjack Here's a pure documentation update for the cyberjack driver. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <brian@murphy.dk> [PATCH] USB: usbfs fix for data loss in message.c This is my fix for usbfs losing data when the urb is timed out but already contains data. Signed-off-by: Brian Murphy <brian@murphy.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <brian@murphy.dk> [PATCH] USB: set timeout message to debug level: message.c this makes a the debug message on timeout be at debug level so it only exists when compiling with explicit debugging support. I have added information about the request length and data length as now if the data length is non-zero a 0 status is returned. Signed-off-by: Brian Murphy <brian@murphy.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <brian@murphy.dk> [PATCH] USB: usbfs: remove debug message this removes a warning message which only contains data which is in any case returned to user space. This message is especially annoying when polling with short timeouts, filling up the log files and polluting the console. As agreed with David Brownell. Signed-off-by: Brian Murphy <brian@murphy.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the hcd glue layer in usbcore. It is a prerequisite for all the other patches (which are all otherwise independent). Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the core hcd-pci file and the uhci-hcd driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the dummy-hcd driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes for the ohci-lh7a404 driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-omap driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-ppc-soc driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-pxa27x driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the sl811-hcd driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-au1xxx driver. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Clear endpoint toggles in usb_set_interface Pete Zaitcev has found some USB devices that don't reset their endpoint data toggles when they get a SET-INTERFACE request. Apparently they interpret the USB specification too literally when it says that the toggles must be reset whenever the alternate setting is "changed". Anyway, this patch calls usb_clear_halt for all endpoints in the altsetting whenever usb_set_interface is called and the new altsetting is the same as the old one. It adds some extra overhead for the majority of devices that don't need it, but fortunately usb_set_interface isn't called very often. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Fix race in URB submission vs. endpoint-disable This patch fixes a race between URB submission and endpoint-disable. (I don't know that it's actually possible to trigger the race, but it won't hurt to move the appropriate test inside the region protected by the spinlock.) In addition, an out-of-date comment referring to timeouts is removed. The patch also changes the error code returned when an URB is submitted for a nonexistent or disabled endpoint to -ENOENT and documents the error code (which was already in use by usbfs) in Documentation/usb/error-codes.txt. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USBcore: implement usb_add_hcd and usb_remove_hcd This patch contains the changes to the ohci-sa1111 driver to accomodate the new usb_add_hcd, usb_remove_hcd routines. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB: Don't return IRQ_NONE for edge-triggered interrupts On Tue, 15 Feb 2005, Greg KH wrote: > Thanks, I've applied all of them except as460 as there seemed to be > confusion about that one. Care to respin that one based on all of the > comments given to it? It turns out that patch as460 is all right as it stands, and the addition of the patch below will resolve the problem. It prevents the OHCI drivers from returning IRQ_NONE on architectures that use edge-triggered interrupts. The patch has been OK'ed by Christopher and David. Just be sure to apply this one and as460 at the same time! Properly speaking this problem ought to be fixed in the interrupt core since it affects every driver, not just USB. Until that happens, this will suffice. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <david-b@pacbell.net> [PATCH] USB: fix ohci Kconfig entry The recently merged AMD/Alchemy Au1xxx OHCI driver won't configure on boards which also have PCI support; this resolves that. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: cache the product, manufacturer, and serial number strings at device insertion. This should fix a lot of issues with broken devices that can't handle retrieving strings while they are doing something else (strings would be fetched from usbfs and sysfs entries.) Based on a patch that has been in the SuSE kernel tree for a long time from Olaf Hering <olh@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: fix up the input drivers to use the built in strings, instead of re-reading them from the device. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: remove string fetches from the usb-storage core, have them used the cached versions instead. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: make iInterface string cached Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: cache the iConfiguration string, if present. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: fix memory leak in get_string if usb_string() call failed. Pointed out by Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: fix up compiler warnings when CONFIG_USB_DEBUG is not set. As pointed out by Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB Documentation update: USB error codes This patch fixes a documentation error I made earlier and clears up the meaning of the -ETIMEDOUT error code in urb->status. Some host controller drivers _do_ use that code to indicate no response was received from the device, which can be confusing since the same code is also used when a request's timer expires. In the future it would be a good idea to change the second usage (as returned by usb_bulk_msg and usb_control_msg) to -ETIME. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <petkan@nucleusys.com> [PATCH] USB: pegasus and rtl8150 cset for proper link detection changes mainly include adding work queue to both drivers and a bunch of other small fixes. Signed-off-by: Petko Manolov <petkan@nucleusys.com> <david-b@pacbell.net> [PATCH] USB: pxa2xx_udc tweak Add a missing local_irq_restore() on the SET_CONFIGURATION completion path. From: Eugeny S. Mints <emints@ru.mvista.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <phil@ipom.com> [PATCH] [PATCH] Add US_FL_GO_SLOW flag, This adds the US_FL_GO_SLOW flag. This flag is for devices that need a 110 usec delay during high-speed transfers. This seems to be limited to USB-to-IDE chips. Unusual_dev entries for affected devices are included. This has been thrown around in the usb-storage list for a while now, and I believe everyone is happy with it. Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/usblp: convert USBLP_WRITE_TIMEOUT to milliseconds USBLP_WRITE_TIMEOUT was not updated with the the other constants related to converting the final parameter of usb_{control,bulk}_msg() to milliseconds. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <nacc@us.ibm.com> [PATCH] usb/ftdi_sio: convert WDR_TIMEOUT to milliseconds WDR_TIMEOUT was not updated with the the other constants related to converting the final parameter of usb_{control,bulk}_msg() to milliseconds. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stern@rowland.harvard.edu> [PATCH] USB Storage: Unusual_devs entry for Nikon DSC D70 Here's a new unusual_devs.h entry for the Nikon DSC D70 camera, which suffers the common problem of reporting one more sector than it actually has. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <alexn@dsv.su.se> [PATCH] USB: Fix use after free in usb/core/devices.c There's a low probability use-after-free here caused by some switched pointers, st needs to go back to file->private_data Found by Coverity tool Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <sean@mess.org> [PATCH] USB: PhidgetKit driver update A small patch for drivers/usb/misc/phidgetkit.c: Fixes for PhidgetInterfaceKit 0/0/4, by Chris Strandt <chris@firetrim.com> Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <pe1rxq@amsat.org> [PATCH] USB: add zd1201 wireless lan driver Signed-off-by: Jeroen Vreeken <pe1rxq@amsat.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] USB: fix up HZ change in zd1201 driver. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <akpm@osdl.org> [PATCH] USB: compat ioctl for submiting URB From: Christopher Li <chrisl@vmware.com> - Let usbdevfs directly handle 32 bit URB ioctl. More specifically: USBDEVFS_SUBMITURB32, USBDEVFS_REAPURB32 and USBDEVFS_REAPURBNDELAY32. Those asynchronous ioctls are too complicate to handle by the compatible layer. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <vandrove@cz.rmk.(none)> [SERIAL] Fix 16550A misdetection Patch from Petr Vandrovec XScale detection needs access to Interrupt Enable Register on UART. But this register shares position with high byte clock divisor, and previous detection steps were leaving clock divisor and not IER selected, causing misdetection of all 16550A chips as XScale. Fix this by disabling access to clock divisor at the end of previous detection step, so chip is in same mode after each detection step. Signed-off-by: Petr Vandrovec <ben-linux@org.rmk.(none)> [ARM PATCH] 2516/1: S3C2410 - add Acer n30 Patch from Ben Dooks Add the Acer N30 machine, from Christer Weinigel Signed-off-by: Christer Weinigel Signed-off-by: Ben Dooks Signed-off-by: Russell King <torvalds@ppc970.osdl.org> epoll: return proper error on overflow condition Noted by Georgi Guninski. <galak@freescale.com> [PATCH] ppc32: fix for e500 oprofile build Fix for trivial fix for 2.6.11 oprofile compilation on e500 based ppc. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ppc: raid6 build fix Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] x86_64 pte warning fix include/asm/pgtable.h:267: warning: `struct vm_area_struct' declared inside parameter list include/asm/pgtable.h:267: warning: its scope is only this definition or declaration, which is probably not what you want Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] remove drivers/char/tpqic02.c Since at about half a year, this driver was no longer selectable via Kconfig. Since it seems noone missed this driver, therefore this patch removes it. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ppc64: revert implement-a-vdso-and-use-it-for-signal-trampoline-gas-workaround We don't actually need this. The reason why the ppc64 build exploded was that I had CC="gcc -m64", and even though the build system turns that into "gcc -m64 -m32", that is, surprisingly, equivalent to "gcc -m64". Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <eric@lammerts.org> [PATCH] cramfs: small stat(2) fix When I stat(2) a device node on a cramfs, the st_blocks field is bogus (it's derived from the size field which in this case holds the major/minor numbers). This makes du(1) output completely wrong. Signed-off-by: Eric Lammerts <eric@lammerts.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] macserial build fix `current' is a lousy choice for a variable name. This driver explodes on ppc64 because `current' expands to (local_paca->__current). OK, the driver doesn't compile on power4 anyway, but... Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mporter@kernel.crashing.org> [PATCH] ppc32: Compilation fixes for Ebony, Luan and Ocotea this patch fixes the problem, that the current kernel (linux-2.6.11-rc5) could not be compiled, when "support for early boot texts over serial port" (CONFIG_SERIAL_TEXT_DEBUG=y) is active. Signed-off-by: Gerhard Jaeger <gjaeger@sysgo.com> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kai.makisara@kolumbus.fi> [PATCH] make st seekable again Apparently `tar' errors out if it cannot perform lseek() against a tape. Work around that in-kernel. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <marcelo.tosatti@cyclades.com> [PATCH] vm: pageout throttling With silly pageout testcases it is possible to place huge amounts of memory under I/O. With a large request queue (CFQ uses 8192 requests) it is possible to place _all_ memory under I/O at the same time. This means that all memory is pinned and unreclaimable and the VM gets upset and goes oom. The patch limits the amount of memory which is under pageout writeout to be a little more than the amount of memory at which balance_dirty_pages() callers will synchronously throttle. This means that heavy pageout activity can starve heavy writeback activity completely, but heavy writeback activity will not cause starvation of pageout. Because we don't want a simple `dd' to be causing excessive latencies in page reclaim. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mingo@elte.hu> [PATCH] simpler topdown mmap layout allocator 1. typos/spelling ;-) 2. removed prev_vma and find_vma_prev because the condition checked later was always true 3. moved the free_area_cache/mmap_base check into arch_unmap_area_topdown where i think it belongs. 4. removed the extra free_area_cache setting code in the while loop as it only has to be set when we actually (and successfully) return from this function. The only visible change to the layout should be the following: <nickpiggin@yahoo.com.au> [PATCH] vmscan: reclaim SWAP_CLUSTER_MAX pages in a single pass Here is another small OOM killer improvement. Previously we needed to reclaim SWAP_CLUSTER_MAX pages in a single pass. That should be changed so that we need only reclaim that many pages during the entire try_to_free_pages run, without going OOM. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] stop using "base" argument in __free_pages_bulk() Appended is a patch which stops using the zone->zone_mem_map to calculate the buddy and combined page pointers. It uses the fact that the mem_map array is guaranteed to be contigious for the surrounding (1 << MAX_ORDER) pages. The relative positions of the pages in the physical address space to provide the alignement; which conicidentally fixes the issue where zones are not aligned at MAX_ORDER. There is a very comprehensive comment in the new code explaining the mathematical relationship between a page and its buddy so I won't reproduce it here. This kind of approach is required for CONFIG_NONLINEAR systems where the mem_map is not contiguous within a zone, and the zone->zone_mem_map is not used at all. This patch has been boot-tested on a large variety of systems and architectures: my P4 laptop, 16-way NUMAQ, 16-way Summit, 4-way x86 SMP, ppc64 LPAR, x86_64, and several ia64 configurations. It has been performance-tested on a 16-way NUMAQ. SDET shows a very slight (within margin of error) performance gain. Kernbench shows an approximately ~1% decrease in system time with this patch applied. So, it has a likely positive performance impact. However, the patch has the potential to have a negative performance impact on systems with an expensive page_to_pfn() implementation. But, I think the NUMAQ has one of the more expensive ones around, and it doesn't seem mind too much. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] mempool: protect buffer overflow in mempool_resize - Race in mempool_resize: memcpy can copy at the end of the kmalloced elements. - When new_min_nr is same as min_nr, instead of reallocate and copy, just return, changed '<' to '<='. - Changed while condition to the same sense of if condition from '>' to '<'; it is easy to think with only one of the left and right brains at a time. Signed-off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <gordon.jin@intel.com> [PATCH] Fix mincore cornercases: overflow caused by large "len" This patch fixes 2 cornercases of overflow caused by argument len in sys_mincore(): Case 1: len is so large that will overflow to 0 after page alignment. E.g. len=(size_t)(-1), i.e. 0xff...ff. Expected result: it's overflow and return ENOMEM. Current result: len is aligned to 0, then treated the same as len=0 and return succeed. This cornercase has been fixed in do_mmap_pgoff(), and here sys_mincore() also needs this fix. Case 2: len is a large number but will not overflow after alignment. But start+len will overflow. E.g. len=(size_t)(-PAGE_SIZE), and start>0. Expected result: it's overflow and return ENOMEM. Current result: return EINVAL. Looks like considering len as a non-positive value, probably influenced by manpage. But since the type of len is size_t, i.e. unsigned, it shouldn't be considered as non-positive value. I've also reported this inconsistency to manpage mincore. Signed-off-by: Gordon Jin <gordon.jin@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] copy_pte_range latency fix Ingo's patch to reduce scheduling latencies, by checking for lockbreak in copy_page_range, was in the -VP and -mm patchsets some months ago; but got preempted by the 4level rework, and not reinstated since. Restore it now in copy_pte_range - which mercifully makes it easier. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: unneeded prev_page assignments There is no point in setting ra->prev_page before 'goto out', it will be overwritten anyway. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: cleanup get_next_ra_size() get_next_ra_size() can get all info from file_ra_state. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: factor out duplicated code This patch introduces make_ahead_window() function for simplification of page_cache_readahead. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: cleanup blockable_page_cache_readahead() I think that do_page_cache_readahead() can be inlined in blockable_page_cache_readahead(), this makes the code a bit more readable in my opinion. Also makes check_ra_success() static inline. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: simplify ra->size testing Currently page_cache_readahead() treats ra->size == 0 (first read) and ra->size == -1 (ra_off was called) separately, but does exactly the same in both cases. With this patch we may assume that the reading starts in 'ra_off()' state, so we don't need to consider the first read as a special case. file_ra_state_init() sets ra->prev_page = -1; ra->size = 0; When the page_cache_readahead() is called for the first time it sets ra->size to nonzero value either via get_init_ra_size() or ra_off(). So ra->size == 0 implies that ra->prev_page == -1. I am ignoring the case when readahead is disabled via ra->ra_pages == 0. page_cache_readahead detects sub-page sized reads: if (offset == ra->prev_page && req_size == 1 && ra->size != 0) But if offset == ra->prev_page, then ra->size == 0 can happen only if offset == -1, so there is no need to check ra->size here. If application starts reading 16Tb file from the last page then readahead can't help. First offset==0 read or first sequential detection: if ((ra->size == 0 && offset == 0) || (ra->size == -1 && sequential) could be changed to: if ((ra->size == 0 && sequential) || (ra->size == -1 && sequential) which means: if (sequential && (ra->size == 0 || ra->size == -1)) Random case detection: if (!sequential || (ra->size == 0)) But if sequential == 1, then ra->size can't be 0, this case is already handled before. Now we have: if (offset == ra->prev_page && req_size == 1) /* sub-page reads */ if (sequential && (ra->size == 0 || ra->size == -1)) /* first offset==0 read or first sequential */ if (!sequential) /* random case */ Now ->size is checked only in one place, so ra_off() can set ra->size = 0, and we can just test ->size against 0. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: improve sequential read detection 1. Current code can't always detect sequential reading, in case when read size is not PAGE_CACHE_SIZE aligned. If application reads the file by 4096+512 chunks, we have: 1st read: first read detected, prev_page = 2. 2nd read: offset == 2, the read is considered random. page_cache_readahead() should treat prev_page == offset as sequential access. In this case it is better to ++offset, because of blockable_page_cache_readahead(offset, size). 2. If application reads 4096 bytes with *ppos == 512, we have to read 2 pages, but req_size == 1 in do_generic_mapping_read(). Usually it's not a problem. But in random read case it results in unnecessary page cache misses. ~$ time dd conv=notrunc if=/tmp/GIG of=/tmp/dummy bs=$((4096+512)) 2.6.11-clean: real=370.35 user=0.16 sys=14.66 2.6.11-patched: real=234.49 user=0.19 sys=12.41 Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] readahead: trivial, small comments update On top of "[PATCH 2/2] readahead: improve sequential read detection". Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <marcelo.tosatti@cyclades.com> [PATCH] use find_trylock_page in free_swap_and_cache instead of hand coding Use find_*_page helpers in swap code instead handcoding it. Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com> Acked-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] Bad page state mapcount A small change to the tests for "Bad page state", to avoid one class of the page_remove_rmap BUG reports, giving more information while letting the system continue: check page_mapcount (_mapcount != -1) rather than page_mapped (_mapcount >= 0). And how does _mapcount go bad? In the case under study, it looks sure now that an overheating(?) Pentium III sometimes gets confused by a pair of instructions in the no-buddy-bitmap __free_pages_bulk, and clears the PG_private bit from the _mapcount field while buddying around - changing PG_private value changes the bit cleared from _mapcount. Bad page state mapcount:-4096 would have tracked this down much sooner, and will be recognizable if other cpus show the same aberrant reaction to 2.6.11. The page_remove_rmap BUG does need to be replaced by more permissive and informative handling, but I'm not yet ready to to finalize such a patch. Please admit Colin Harrison to the Order of the Iridescent Penguin, for his tireless testing. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hch@lst.de> [PATCH] put newly registered shrinkers at the tail of the list This way we actually shake dentries before inodes and thus mark more inodes reclaimable once we shake them. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ncunningham@cyclades.com> [PATCH] Speed freeing memory for suspend. Here's a patch I've prepared which improves the speed at which memory is freed prior to suspend. It should be a big gain for swsusp. For suspend2, it isn't used much, but has shown big improvements when I set a very low image size limit and had memory quite full. 1GB P4, 2.6.11+Suspend2 2.1.8. Soft image size limit set to 2MB to emulate Pavel's implementation (eat as much memory as we can). Without patch: Freed 16545 pages in 4000 jiffies = 16.16 MB/s Freed 83281 pages in 14060 jiffies = 23.14 MB/s Freed 237754 pages in 41482 jiffies = 22.39 MB/s With patch: Freed 52257 pages in 6700 jiffies = 30.46 MB/s Freed 105693 pages in 11035 jiffies = 37.41 MB/s Freed 239007 pages in 18284 jiffies = 51.06 MB/s With a less aggressive image size limit (200MB): Without the patch: Freed 14600 pages in 1749 jiffies = 32.61 MB/s (Anomolous!) Freed 88563 pages in 14719 jiffies = 23.50 MB/s Freed 205734 pages in 32389 jiffies = 24.81 MB/s With the patch: Freed 68252 pages in 496 jiffies = 537.52 MB/s Freed 116464 pages in 569 jiffies = 798.54 MB/s Freed 209699 pages in 705 jiffies = 1161.89 MB/s The later pages take more work to get, which accounts for the slower MB/s with smaller numbers of pages to free. Without the patch, though, getting the easier pages also takes longer because we do a far greater number of invocations of shrink_all_memory in order to get the same number of pages. Signed-Off-By: Nigel Cunningham <ncunningham@cyclades.com> Acked-By: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jeffm@suse.com> [PATCH] vfs: adds the S_PRIVATE flag and adds use to security This patch series adds SELinux support to reiserfs. This patch adds an S_PRIVATE flag to inode->i_flags to mark an inode as filesystem-internal. As such, it should be excepted from the security infrastructure to allow the filesystem to perform its own access control. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Acked-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jeffm@suse.com> [PATCH] selinux: internal inode loop needs IS_PRIVATE test This patch applies the IS_PRIVATE test to the selinux internal inode loop. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jeffm@suse.com> [PATCH] reiserfs: private inode abstracted to static inline This patch moves the assignment of i_priv_object to a static inline. This is in preparation for selinux support in reiserfs. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jeffm@suse.com> [PATCH] reiserfs: change reiserfs to use S_PRIVATE This patch changes reiserfs to use the VFS level private inode flags, and eliminates the old reiserfs private inode flag. Signed-off-by: Jeff Mahoney <jeffm@suse.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: add Radstone PPC7D platform support Radstone PPC7D are ppc7447A VME boards with Marvell Discovery-II, dual GigE, dual PMC, 6 serial ports, keyboard/mouse, USB and optional SCSI/VGA. This patch adds support for the PPC7D platform. Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <colin@colino.net> [PATCH] Make therm_adt746x handle latest powerbooks This patch lets therm_adt746x handle the latest powerbooks. In these ones, Apple doesn't put the i2c bus number in the "reg" property of the fan node. Instead, we can get the bus number from the fan node path, which looks like "/proc/device-tree/.../i2c-bus@1/.../fan". Here's a patch that handles both old and new form. Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: Mode 2 PCI-X config space size fix This patch is from Brian King <brking@us.ibm.com>. When working with a PCI-X Mode 2 adapter on a PCI-X Mode 1 PPC64 system, the current code used to determine the config space size of a device results in a PCI Master abort and an EEH error, resulting in the device being taken offline. This patch checks OF to see if the PCI bridge supports PCI-X Mode 2 and fails config accesses beyond 256 bytes if it does not. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: addresses from OF getting truncated to 32-bits This patch is from Jake Moilanen <moilanen@austin.ibm.com>, reformatted by me. The `assigned-addresses' property in the Open Firmware device tree nodes for PCI devices has 64 bits of PCI bus address, but we were only using 32. This patch fixes it so we use all 64. Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: fix init_boot_display link error This patch is from Amos Waterland <apw@us.ibm.com>. In pmac_setup.c, the function init_boot_display as currently written only makes sense with CONFIG_BOOTX_TEXT enabled, and causes a link error if it is not enabled. Signed-off-by: Amos Waterland <apw@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: C99 initializers for hw_interrupt_type This patch is from Thomas Gleixner <tglx@linutronix.de>. Convert the initializers of hw_interrupt_type structures to C99 initializers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: kprobes: handle trap variants while processing probes This patch is from Ananth N Mavinakayanahalli <ananth@in.ibm.com>. While processing a kprobe, we were currently not handling all available trap variants available on PowerPC. This lead to the breakage of BUG() handling in ppc64. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: set pci_io_base dynamically if necessary This patch is from John Rose <johnrose@austin.ibm.com>. Upon DLPAR addition of a PCI Host Brige to a system with purely virtual I/O, set pci_io_base as necessary. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: allow dynamic enablement of EEH This patch is from John Rose <johnrose@austin.ibm.com>. EEH scans the system I/O adapters at boot for EEH-capabilities. If no EEH-capable adapters are found, the subsystem is marked disabled for the life of the system. EEH should allow dynamic enabling of the EEH subsystem when hotplug-adding an adapter. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: add spare timer init This patch adds spare timer initialization for NEC VR41xx. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: Initial checkstack port This provides a port of checkstack for sh64 for the simple frames allocated as an immediate with a single instruction. Stack frame creation on sh64 happens in a couple of different ways, when the frame size is less than 511 bytes an addi or addi.l is typically used, generally along the lines of something like: addi{,.l} r15, -IMM_FRAME_SIZE, r15 For larger frames, this ends up getting split up into a movi/sub pair: movi IMM_FRAME_SIZE, rX sub r15, rX, r15 We currently don't handle the split pair case, as basically any register can be used, and there is no easy way to determine what happens without scanning the prologue multiple times and using some sort of register cache (we already do something similar for the sh64 stack unwinder, but it would be preferable not to do this in perl..). This does have limited usefulness in that we are not easily able to check for huge frames without manual inspection, but this is still useful enough in the general case to be worth doing for the addi/addi.l case as long as people are aware of this caveat. It may be worth revisiting at a later point to try and catch the larger users though. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: Update Richard Curnow's MAINTAINERS info Fairly self explanatory.. Signed-off-by: Richard Curnow <rc@rc0.org.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: Align slab caches on an 8-byte boundary The BYTES_PER_WORD assumption doesn't work out on sh64 when we are using a 32-bit ABI. We want slab caches to be forced to a minimum alignment of 8-bytes, as it was before Anton's change. This was also already discussed at length with Manfred in this thread: http://marc.theaimsgroup.com/?l=linux-kernel&m=110227... Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: defconfig updates Update for the cayman defconfig. We also drop the generic arch/sh64/defconfig as it has very little hope of being kept up to date, so we use the cayman one instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: iomap interface. This adds support for the iomap interface to sh64. As a result of this, we can also clean up a lot of the sh64 common I/O routines. We also add a board-specific ioport_map() for the cayman so we can use iomap generically. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: module support This adds support for modules. Signed-off-by: Richard Curnow <rc@rc0.org.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: generic hardirqs Convert sh64 to use generic hardirqs. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: IDE updates This fixes up a few minor IDE issues on sh64. We also enable cayman on-board IDE in the SuperIO. Signed-off-by: Richard Curnow <rc@rc0.org.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: TMU init bugfix TMU0 initialization was broken when the timer was already started by someone else (for instance, a boot loader). This fixes it. Signed-off-by: Andy Sturges <andy.sturges@st.com> Signed-off-by: Richard Curnow <rc@rc0.org.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: Send cli()/sti() back from whence it came There were a couple of cli()/sti() users left, so we get rid of them.. Hopefully this is the last of this mess. Signed-off-by: James Nelson <james4765@cwazy.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: Beat dcache disabling back into submission Somewhere along the line dcache disabling decided it wanted to stop itself from compiling. So we fix it. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh64: merge updates Mostly random bugfixes and some build fixes, as well as killing off some leftover cruft. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: defconfig updates Nothing to see here, move along. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: generic hardirqs Convert sh to use generic hardirqs. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: hp620 updates This gets hp620 working again.. Signed-off-by: Kristoffer Ericson <kristoffer@jlime.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: framebuffer updates hitfb and pvr2fb were both recently broken by mainline changes, this gets them working properly again. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: Update cpufreq driver for cpumask This updates the sh cpufreq driver for the cpumask changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh: merge updates More random cleanup and build fixes. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kmannth@us.ibm.com> [PATCH] Allow hot-add enabled i386 NUMA box to boot Dave Hanson mentioned I should send this patch to you. I posted it to linux-mm a while ago without complaint. This patch solves a simple problem related to the interpretation on the SRAT table and the info found in the e820. When a possible hot-add area is exposed on my box (IBM x445 with hot add enabled in the bios) my SRAT table correctly exposed a new node from the end of my physical memory to 64gb. In the present kernels the numa KVA areas (based on the SRAT) are calculated before find_max_pfn. The remap area is created for this large non-populated zone and the system dies a while later during bootup. I believe the correct things to do (as did the hot-plug community) the correct thing to do is the keep the node_start_end_pfn data structures focuses on memory that is in the system. That is all this patch does. It ignores any node data (correctly reported by the SRAT) that is above the e820 end of memory. Signed-off-by: <kmannth@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: refactor memory setup Refactor the i386 default and CONFIG_DISCONTIG_MEM setup_memory() functions to share the common bootmem initialisation code. This code is intended to be identical, but there are currently some fixes applied to one and not the other. This patch extracts this common initialisation code. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: consolidate set_max_mapnr_init() implementations discontig.c has its own version of set_max_mapnr_init(). However, all that it really does differently from the mm/init.c version is skip setting max_mapnr (which doesn't exist because there's no mem_map[]). Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: remove-free_all_bootmem() #define in arch/i386/mm/init.c, there's a #define for __free_all_bootmem(): #ifndef CONFIG_DISCONTIGMEM #define __free_all_bootmem() free_all_bootmem() #else #define __free_all_bootmem() free_all_bootmem_node(NODE_DATA(0)) #endif /* !CONFIG_DISCONTIGMEM */ However, both of those functions end up eventually calling the same thing: free_all_bootmem_core(NODE_DATA(0)) This might have once been a placeholder for a more complex bootmem init call, but that never happened. So, kill off the DISCONTIG version, and just call free_all_bootmem() directly in both cases. Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <andrea@novell.com> [PATCH] fix iounmap and a pageattr memleak (x86 and x86-64) Reject zero page vm-area request, align size properly and hide the guard page from the callers like ioremap - this avoids a kernel crash due one more page being passed to change_page_attr Signed-off-by: Andrea Arcangeli <andrea@novell.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <brix@gentoo.org> [PATCH] Determine SCx200 CB address at run-time The current SCx200 drivers use a fixed base address of 0x9000 for the Configuration Block, but some systems (at least the Soekris net4801) uses a base address of 0x6000. This patch first tries the fixed address then - if no configuration block could be found - tries the address written to the Configuration Block Address Scratchpad register by the BIOS. Signed-off-by: Henrik Brix Andersen <brix@gentoo.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] x86: iounmap() isa special case ioremap() has special-case handling for the IS region, but inunmap() does not. So iounmap() generates a warning when a caller correctly performs an ioremap()/iounmap() sequence. Fix that by teaching iounmap() about the IS address range. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kianusch@sk-tech.net> [PATCH] Support for GEODE CPUs Those CPU's are found mostly in embedded systems ... one of the most prominent Hardware using GEODE CPU is probably soekris net4801 (http://www.soekris.com). This patch has been on my homepage (http://www.sk-tech.net/support/soekris.html) for quite a time - but I've been asked several time to have it included in the main kernel. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] make highmem_start access only valid addresses (i386) When CONFIG_HIGHMEM=y, but ZONE_NORMAL isn't quite full, there is, of course, no actual memory at *high_memory. This isn't a problem with normal virt<->phys translations because it's never dereferenced, but CONFIG_NONLINEAR is a bit more finicky. So, don't do __va() in non-existent addresses. Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tglx@linutronix.de> [PATCH] i386: C99 initializers for hw_interrupt_type structures Convert the initializers of hw_interrupt_type structures to C99 initializers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <riel@redhat.com> [PATCH] cpuid takes unsigned arguments Because Xen is compiled with -Wall -Werror, has inherited processor.h from Linux and Fedora is now built with gcc4, I discovered this bug. The few callers I verified all call cpuid with unsigned ints, but the function is defined with signed ints. This trivial patch fixes that. Signed-off-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rlrevell@joe-job.com> [PATCH] x86: clean up FIXME in do_timer_interrupt Clean up the logic in do_timer_interrupt() Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <christoph@graphe.net> [PATCH] Support HPET with a single timer for system time This patch removes the check for the existence of multiple HPET timers. It allows the use of HPET with only a single timer for system time if HPET_EMULATE_RTC is not set. Signed-off-by: Christoph Lameter <christoph@lameter.com> Signed-off-by: Shai Fultheim <Shai@Scalex86.org> Acked-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <Andries.Brouwer@cwi.nl> [PATCH] remove dead cyrix/centaur mtrr init code There are several cases where __init function pointers are stored in a general purpose struct. For example, a SCSI template may contain a __init detect function. Have not yet thought of an elegant way to avoid this. One such case is the mtrr code, where struct mtrr_ops has an init field pointing at __init functions. Unless I overlook something, this case may be easy to settle, since the .init field is never used. The patch below comments out the declaration and initialisation of the .init field of struct mtrr_ops, and puts #if 0 ... #endif around the centaur_mcr_init() and cyrix_arr_init() code. Simultaneously a number of variables are made static. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pfg@sgi.com> [PATCH] Altix: Ignore input during early boot 2.6 Altix console patch to ignore input during early booting Signed-off-by: Patrick Gefre <pfg@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pfg@sgi.com> [PATCH] Altix: ioc4 serial driver support Signed-off-by: Patrick Gefre <pfg@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@ucw.cz> [PATCH] swsusp: do not use higher order memory allocations on suspend This is patch from Rafael, it eliminates order-5 (or worse) allocations during suspend. I did few style/whitespace modifications. It was tested by me, Rafael, and Stefan from SuSE. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@ucw.cz> [PATCH] Update suspend-to-RAM vs. video documentation We got quite long list of machines and tricks needed to get them working. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@ucw.cz> [PATCH] swsusp fails to suspend if CONFIG_DEBUG_PAGEALLOC is also enabled swsusp low-level assembly requires PSE (4mb pages for kernel) and DEBUG_PAGEALLOC disables that capability. Tell people what went wrong, some people seen same problem on VIA cpus... Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <barryn@pobox.com> [PATCH] kconfig: DEBUG_PAGEALLOC and SOFTWARE_SUSPEND are incompatible on i386 On i386, SOFTWARE_SUSPEND requires the CPU to have PSE support, but DEBUG_PAGEALLOC disables PSE. Thus, allowing both options to be enabled simultaneously makes no sense. This patch disables DEBUG_PAGEALLOC if SOFTWARE_SUSPEND is enabled; it also displays a comment to briefly explain why DEBUG_PAGEALLOC is missing in that case. I have tested this patch against oldconfig and menuconfig on 2.6.11-bk2. Signed-off-by: Barry K. Nathan <barryn@pobox.com> Acked-by: Pavel Machek <pavel@ucw.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <didickman@yahoo.com> [PATCH] m32r: use generic bug.h Signed-off-by: Daniel Dickman <didickman@yahoo.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <blaisorblade@yahoo.it> [PATCH] uml: trivial removal of Makefile var That var is used only once, use its value directly. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <schwidefsky@de.ibm.com> [PATCH] s390: soft-float, 4GB swap bug, smp clean & cpu hotplug. s390 core changes: - Add -msoft-float to CFLAGS. - Remove experimantal tag from cpu hotplug. - Allow more than 4GB swap on a single device for 64 bit. - Fix race in machine_restart to make sure all cpus entered stopped state before reipl. - Cleanup: use for_each_online_cpu macro where possible. - Add argument brackets to __FD_SET/__FD_CLEAR/__FD_ZERO. - Reset cpu_present in smp startup to avoid long delays if only one cpu is defined. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <schwidefsky@de.ibm.com> [PATCH] s390: gcc4 compile fixes. Make s390 compile and work with gcc4. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <schwidefsky@de.ibm.com> [PATCH] s390: key management. Add key management system calls. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <cohuck@de.ibm.com> [PATCH] s390: common i/o layer. Common i/o layer changes: - Update scsw information before checking activity control bits in the offline processing. - Clear irb structure after cio initiated I/O completed. - Modify cdev private structure only while holding the lock. - Update scsw information before checking whether we can start path verification. - Only generate a notoper event if the device is not already in the not operation state, otherwise we end up with two unregister calls. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <cohuck@de.ibm.com> [PATCH] s390: irb faking. Common i/o layer changes: - If a device driver tries to start I/O while the common I/O layer wants to start path verification, don't reject the I/O with -EBUSY (which might prompt the driver to retry the next tick) but seemingly accept the I/O and deliver a fake irb with deferred cc 1 after path verification has finished (prompting the driver to retry the I/O). This prevents the device driver from doing useless retries while cio is still busy with path verification. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <edrossma@us.ibm.com> [PATCH] s390: z90crypt reader task rescheduling. z90crypt device driver changes: - Correct the condition for which the reader task is scheduled to run. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <braunu@de.ibm.com> [PATCH] s390: iucv driver init call. iucv changes: - Initialize iucv with subsys_initcall to make sure that it is there before either vmlogrdr or netiucv start using it. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <braunu@de.ibm.com> [PATCH] s390: qeth layer 2, fake_ll and vlan bugs. With Frank Pavlic <pavlic@de.ibm.com> qeth network driver changes: - Using layer 2 mode IPv6 multicast addresses has not been registered at the OSA card (??? FIXME) - We have to allow QETH_IP_THREAD in qeth_set_online too when running in layer 2 mode otherwise multicast addresses won't be registered at the OSA card. - fake_ll improvements for dhcpcd. - Strip ethernet header of VLAN packets before calling skb_pull. This fixes multicast VLAN traffic stalls. - Fix unused variable warning. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ptiedem@de.ibm.com> [PATCH] s390: ctc online/offline bug fix. ctc network driver changes: - Properly initialize ccw array. This fixes the stray oopses after an online/offline cycle. - Correct check for already existing channel. - Add missing kfrees. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zippel@linux-m68k.org> [PATCH] cleanup vc array access This removes as far as possible unneccessary vc_cons lookups by using a pointer to the vc_data structure instead of the index. The hidden currcons argument in console_macros.h is temporarily replaced with a hidden vc pointer. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zippel@linux-m68k.org> [PATCH] remove console_macros.h Remove the macros in console_macros.h and so make the structure references explicit. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zippel@linux-m68k.org> [PATCH] merge vt_struct into vc_data The vt_struct and vc_data are always allocated together, so there is no need for a separate vt_struct structure. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alex@clusterfs.com> [PATCH] jbd: journal overflow fix #2 fix against credits leak in journal_release_buffer() The idea is to charge a buffer in journal_dirty_metadata(), not in journal_get_*_access()). Each buffer has flag call journal_dirty_metadata() sets on the buffer. Signed-off-by: Alex Tomas <alex@clusterfs.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alex@clusterfs.com> [PATCH] JBD: reduce stack and number of journal descriptors Dynamically allocate the holding array for kjournald write patching rather than allocating it on the stack. Signed-off-by: Alex Tomas <alex@clusterfs.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alex@clusterfs.com> [PATCH] JBD: log space management optimization during truncate ext3 calls journal_forget() for freed blocks, but before these blocks go to the transaction and jbd reserves space in log for them (->t_outstanding_credits). also, journal_forget() removes these blocks from the transaction, but doesn't correct log space reservation. for example, removal of 500MB file reserves 136 blocks, but only 10 blocks go to the log. a commit is expensive and correct reservation allows us to avoid needless commits. here is the patch. tested on UP. Signed-off-by: Alex Tomas <alex@clusterfs.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <matthew@wil.cx> [PATCH] Factor out phase 6 of journal_commit_transaction journal_commit_transaction() is 720 lines long. This patch pulls about 55 of them out into their own function, removes a goto and cleans up the control flow a little. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <matthew@wil.cx> [PATCH] ext3 cleanup 1 Rename variables in ext3/balloc.c as was done in ext2 a couple of years ago. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <matthew@wil.cx> [PATCH] ext3: free block accounting fix If we chose to "do_more", we would double-count the amount freed in the second and subsequent block groups. Fix it the same way as was done in ext2 a couple of years ago. Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] ext3_test_root() speedup Reorder test_root testing from 3,5,7 to 7,5,3 so that average case becomes good. Even number check is added. Signed-off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <minyard@acm.org> [PATCH] Fix race between the NMI code and the CMOS clock This patch fixes a race between the CMOS clock setting and the NMI code. The NMI code indiscriminatly sets index registers and values in the same place the CMOS clock is set. If you are setting the CMOS clock and an NMI occurs, Bad values could be written to or read from the CMOS RAM, or the NMI operation might not occur correctly. Fixing this requires creating a special lock so the NMI code can know its CPU owns the lock an "do the right thing" in that case. This was discovered and the fix has been tested by a very demanding customer who tests the heck of out the software we deliver. Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <Liam.Girdwood@wolfsonmicro.com> [PATCH] OSS Support for AC97 low power codecs This is a resend of a patch that has been applied to 2.4. The low power codec functionality has also now been included in ALSA. It checks the codec ID before doing an AC97 register reset. This allows the kernel to support low power codecs that are powered down by a reset command. This patch also fixes some other minor issues. Changes:- - Added AC97_DEFAULT_POWER_OFF to ac97_codec_ids[] - ac97_probe now checks hardwired codec ID's before sending a reset - Added support for WM9713 - Moved the codec specific inits after the mixer setup as some init - tings were being clobbered. - Added extra check so that default_digital_ops doesn't overwrite a valid codec_ops. (SPDIF) Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dhowells@redhat.com> [PATCH] Fix kallsyms/insmod/rmmod race The attached patch fixes a race between kallsyms and insmod/rmmod. The problem is this: (1) The various kallsyms functions poke around in the module list without any locking so that they can be called from the oops handler. (2) Although insmod and rmmod use locks to exclude each other, these have no effect on the kallsyms function. (3) Although rmmod modifies the module state with the machine "stopped", it hasn't removed the metadata from the module metadata list, meaning that as soon as the machine is "restarted", the metadata can be observed by kallsyms. It's not possible to say that an item in that list should be ignored if it's state is marked as inactive - you can't get at the state information because you can't trust the metadata in which it is embedded. Furthermore, list linkage information is embedded in the metadata too, so you can't trust that either... (4) kallsyms may be walking the module list without a lock whilst either insmod or rmmod are busy changing it. insmod probably isn't a problem since nothing is going a way, but rmmod is as it's deleting an entry. (5) Therefore nothing that uses these functions can in any way trust any pointers to "static" data (such as module symbol names or module names) that are returned. (6) On ppc64 the problems are exacerbated since the hypervisor may reschedule bits of the kernel, making operations that appear adjacent occur a long time apart. This patch fixes the race by only linking/unlinking modules into/from the master module list with the machine in the "stopped" state. This means that any "static" information can be trusted as far as the next kernel reschedule on any given CPU without the need to hold any locks. However, I'm not sure how this is affected by preemption. I suspect more work may need to be done in that case, but I'm not entirely sure. This also means that rmmod has to bump the machine into the stopped state twice... but since that shouldn't be a common operation, I don't think that's a problem. I've amended this patch to not get spinlocks whilst in the machine locked state - there's no point as nothing else can be holding spinlocks. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <j.blunck@tu-harburg.de> [PATCH] d_drop should use per dentry lock d_drop() must use the dentry->d_lock spinlock. In some cases __d_drop() was used without holding the dentry->d_lock spinlock, too. This could end in a race with __d_lookup(). Signed-off-by: Jan Blunck <j.blunck@tu-harburg.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <axboe@suse.de> [PATCH] Add struct request end_io callback This is needed for several things, one in-tree user which I will introduce after this patch. This adds a ->end_io callback to struct request, so it can be used with async io of any sort. Right now users have to wait for completion in a blocking manner. In the next iteration, ->waiting can be folded into ->end_io_data since it is just a special case of that use. From: Peter Osterlund <petero2@telia.com> The problem is that the add-struct-request-end_io-callback patch forgot to update pktcdvd.c. This patch fixes it. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Peter Osterlund <petero2@telia.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <axboe@suse.de> [PATCH] rework core barrier support This reworks the core barrier support to be a lot nicer, so that all the nasty code resides outside of drivers/ide. It requires minimal changes to support in a driver, I've added SCSI support as an example. The ide code is adapted to the new code. With this patch, we support full barriers on sata now. Bart has acked the addition to -mm, I would like for this to be submitted as soon as 2.6.12 opens. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <axboe@suse.de> [PATCH] scsi_io_completion sense copy For the flush generated requests, we don't have room for sense info right now. This might change in the future so that the sd end_io function can make a better judgement on what to do about an error. So check this in scsi_io_completion(), only copy sense data to request if it has space assigned to it. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <axboe@suse.de> [PATCH] blk_execute_rq() oops on fast completion blk_execute_rq() can oops in wait_for_completion(), if the request has completed before we call wait_for_completion() because blk_end_sync_rq() clears ->waiting when it is entered. Fix this by always using the on-stack completion variable instead. Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mingo@elte.hu> [PATCH] annotate /proc/<PID>/maps with [heap]/[stack]/[vdso] markers This patch makes the /proc/<PID>/maps file easier to parse (both for humans and for applications), by annotating the heap, stack and vdso mappings with [heap], [stack] and [vdso] markers. It makes it easier/faster to determine at a quick glance whether an application has a secure VM layout, and it also makes it easier for tools to determine whether e.g. the heap or stack is executable or not. new maps file, on a patched kernel: 001c4000-001d9000 r-xp 00000000 03:01 19954 /lib/ld-2.3.3.so 001d9000-001db000 rw-p 00014000 03:01 19954 /lib/ld-2.3.3.so 001dd000-002fb000 r-xp 00000000 03:01 19960 /lib/tls/libc-2.3.3.so 002fb000-002fd000 r--p 0011d000 03:01 19960 /lib/tls/libc-2.3.3.so 002fd000-002ff000 rw-p 0011f000 03:01 19960 /lib/tls/libc-2.3.3.so 002ff000-00301000 rw-p 002ff000 00:00 0 08048000-0804c000 r-xp 00000000 03:01 31968 /bin/cat 0804c000-0804d000 rw-p 00003000 03:01 31968 /bin/cat 0804d000-0806e000 rw-p 0804d000 00:00 0 [heap] b7dbc000-b7dbd000 r--p 009d1000 03:01 83628 /usr/lib/locale/locale-archive b7dbd000-b7dc4000 r--p 0097d000 03:01 83628 /usr/lib/locale/locale-archive b7dc4000-b7df1000 r--p 0094a000 03:01 83628 /usr/lib/locale/locale-archive b7df1000-b7ff1000 r--p 00000000 03:01 83628 /usr/lib/locale/locale-archive b7ff1000-b7ff2000 rw-p b7ff1000 00:00 0 bffeb000-c0000000 rw-p bffeb000 00:00 0 [stack] ffffe000-fffff000 ---p 00000000 00:00 0 [vdso] Tested on x86, but should work on all architectures. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] serial: add NEC VR4100 series serial support This patch adds serial driver for NEC VR4100 series serial interface unit. The new device numbers have been recorded by LANANA. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] serial: add the output interface control to VR41xx SIU driver This patch adds the output interface control to VR41xx SIU driver. And obsolete function for VR41xx SIU is removed. And add __init for the function used only for initialization. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mingo@elte.hu> [PATCH] sys_setpriority() euid semantics fix What _is_ inconsistent is kernel/sys.c's setpriority()/set_one_prio(). It checks current->euid|uid against p->uid, which makes little sense, but is how we've been doing it ever since. It's a Linux quirk documented in the manpage. To make things funnier, SuS requires current->euid|uid match against p->euid. The patch below fixes it (and brings the logic in line with what setscheduler()/setaffinity() does), but if we do it then it should be done only in 2.6.12 or later, after good exposure in -mm. (Worst-case this could break an application but i highly doubt it: it at most could deny renicing another task to positive (or in very rare cases, to negative) nice values, which no application should crash on something like that, normally.) Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arun.sharma@intel.com> [PATCH] add TCSBRKP to compat_ioctl.h Move ioctl TCSBRKP support to compat layer. Same rationale as TCSBRK. - Remove corresponding code under ppc64, sparc64 and s390. - Use ULONG_IOCTL() instead of COMPATIBLE_IOCTL(), since the argument is int, not pointer. Signed-off-by: Gordon Jin <gordon.jin@intel.com> Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] serial: update vr41xx_siu This patch updates serial driver for VR41xx serial unit. Some check are added to verify_port. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <petrides@redhat.com> [PATCH] minor conceptual fix for /proc/kcore header size While investigating the 2.4 memory corruption problem fixed by the patch previously posted, it was noticed that the 2.6 version of get_kcore_size() inappropriately uses sizeof(struct memelfnote) in its calculation of the /proc/kcore ELF header size. What is actually stored in the header is an "elf_note" structure plus the 4 ASCII chars "CORE". It just so happens that on 32-bit arches, both calculations result in the same value (16). But on 64-bit arches, the allocated size (24) is larger than necessary (16). This does not result in any possible data corruption, but it might be nice to correct this "conceptual" error. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] add compiler-gcc4.h With the release of gcc 4.0 being only a few months away and people already tring compiling with it, it's time for adding a compiler-gcc4.h . This patch contains the following changes: - remove compiler-gcc+.h - compiler-gcc4.h: new file based on a corrected compiler-gcc+.h - compiler.h: include compiler-gcc4.h for gcc 4 - compiler.h: #error for gcc > 4 - compiler-gcc3.h: remove __compiler_offsetof (there will never be a gcc 3.5) small indention corrections I've tested the compilation with both gcc 3.4.4 and a recent gcc 4.0 snapshot from Debian experimental. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <shemminger@osdl.org> [PATCH] convert /proc/driver/rtc to seq_file. The /proc/driver/rtc interface didn't have any module owner hook. The simplest fix is to just convert this to the single version of seq_file. Also, fix initialization of rtc_dev to use C99 form. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ken@mvista.com> [PATCH] drivers/char/lp.c race fix In lp_write(), copy_from_user() is called to copy data into a statically allocated kernel buffer before down_interruptible() is called. If a second thread of execution comes in between the copy_from_user() and the down_interruptible() calls, silent data corruption could result. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mingo@elte.hu> [PATCH] clean up and unify asm-*/resource.h files This patch does the final consolidation of asm-*/resource.h file, without changing any of the rlimit definitions on any architecture. Primarily it removes the __ARCH_RLIMIT_ORDER method and replaces it with a more compact and isolated one that allows architectures to define only the offending rlimits. This method has the positive effect that adding a new rlimit can now be purely done via changing asm-generic/resource.h alone. Previously one would have to patch 4 other (sparc, sparc64, alpha and mips) resource.h files. The patch also does style unification, whitespace cleanups and simplification of resource.h files and cleans up the asm-generic/resource.h file as well. I've added more comments too. This patch should have no effect on any code on any architecture. (i.e. it's a pure identity patch.) Tested on x86 and carefully reviewed to make sure that Sparc, Sparc64, MIPS and Alpha rlimits are still the same as required by the ABI. Signed-off-by: Ingo Molnar <mingo@elte.hu> Acked-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dmo@osdl.org> [PATCH] add local bio pool support and modify dm I've had this patch reviewed by Jens, and incorporated his recommended fixes. The patch adds new interfaces to bio.c that support the creation of local bio and bvec pools. This is important for layered drivers that need to allocate new bio and bvec structures in response to bio's submitted to it from higher up. The layered drivers can allocate local pools of bio structures to preclude deadlock under global bio pool exhaustion. The device mapper source files have been modified to remove duplicate bio code, and to use the new interfaces to create local bio pools. From: Dave Olien <dmo@osdl.org> Change bio_clone() to use the global bio_set pool instead of the bio_set pool associated with the bio argument. This is because raid5 and raid6 bio's are not allocated from a bio_set and have no bio_set associated with them. This patch along with the patch Linux just accepted allows raid5 and raid6 to function. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jack@suse.cz> [PATCH] Implement quota reading and writing functions for UFS. Attached patch adds functions ufs_quota_read() and ufs_quota_write() to the UFS code. So quotas for UFS should work again (they were broken by the quota io redesign). I don't actually think the patch is too much important as I'm not sure anybody uses quotas on UFS but we're in the "stable" branch so just dropping a support did not seem right to me. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <zwane@arm.linux.org.uk> [PATCH] Run softirqs on proper processor on offline We take down ksoftirqds at CPU_DEAD time, so there is a brief period whereupon there is a ksoftirqd thread for an offline processor, it is at this point that ->cpus_allowed won't have it pinned anymore. An online processor would then take down that ksoftirqd and exit it. Ensure that we only offline the processor when it's safe and never run softirqs in another processor's ksoftirqd context. This also gets rid of the warnings in ksoftirqd on cpu offline. Signed-off-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <aia21@cam.ac.uk> [PATCH] a_ops-based loop I/O Implements fallback to file_operations->write in the case that aops->{prepare,commit}_write are not present on the backing filesystem. The fallback happens in two different ways: - For normal loop devices, i.e. ones which do not do transformation on the data but simply pass it along, we simply call fops->write. This should be pretty much just as fast as using aops->{prepare,commit}_write directly. - For all other loop devices (e.g. xor and cryptoloop), i.e. all the ones which may be doing transformations on the data, we allocate and map a page (once for each bio), then for each bio vec we copy the bio vec page data to our mapped page, apply the loop transformation, and use fops->write to write out the transformed data from our page. Once all bio vecs from the bio are done, we unmap and free the page. This approach is the absolute minimum of overhead I could come up with and for performance hungry people, as you can see I left the address space operations method in place for filesystems which implement aops->{prepare,commit}_write. I have tested this patch with normal loop devices using aops->{prepare,commit}_write on the backing filesystem, with normal loop devices using the fops->write code path and with cryptoloop devices using the double buffering + fops->write code path. Signed-off-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tim.bird@am.sony.com> [PATCH] add timing information to printk messages Here's a little patch which is useful for showing timing information for kernel bootup activities. This patch adds a new Kconfig option under "Kernel Hacking" and a new option for the kernel command line. It also provides a script for showing delta information. Note that the timing data may not be correct on some platforms until after time_init() is called. Recently (as of about 2.6.10) I found that the message log produced by dmesg is truncated when I use this feature. That is, the first few printk messages of the boot sequence are not in the dmesg output, although they are printed to console during startup. This is a new behavior - dmesg output was fine as of 2.6.9. Increasing CONFIG_LOG_BUF_SHIFT had no effect on the truncation. Has something changed with printk recently? For more information on this patch, see: http://tree.celinuxforum.org/CelfPubWiki/InstrumentedPrintk Here's some sample output: ... [4294667.296000] Kernel command line: ro root=/dev/nfs ip=dhcp hdc=ide-scsi console=vga console=ttyS0,115200 [4294667.296000] ide_setup: hdc=ide-scsi [4294667.296000] Initializing CPU#0 [4294667.296000] PID hash table entries: 512 (order: 9, 8192 bytes) [ 0.000000] Detected 1995.620 MHz processor. [ 21.397369] Using tsc for high-res timesource [ 21.399820] Console: colour VGA+ 80x25 [ 21.537244] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 21.544547] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 21.555066] Memory: 125076k/130240k available (2002k kernel code, 4556k reserved, 1006k data, 140k init, 0k highmem) [ 21.565775] Checking if this processor honours the WP bit even in supervisor mode... Ok. [ 21.574089] Calibrating delay loop... 3940.35 BogoMIPS (lpj=1970176) [ 21.596511] Mount-cache hash table entries: 512 (order: 0, 4096 bytes) [ 21.603263] CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000 [ 21.603276] CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000 00004400 00000000 00000000 [ 21.603287] CPU: Trace cache: 12K uops, L1 D cache: 8K [ 21.608884] CPU: L2 cache: 128K ... And now the patch... Signed-off-by: Tim Bird <tim.bird@am.sony.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <andrea@cpushare.com> [PATCH] seccomp: secure computing support I'd need it merged into mainline at some point, unless anybody has strong arguments against it. All I can guarantee here, is that I'll back it out myself in the future, iff Cpushare will fail and nobody else started using it in the meantime for similar security purposes. (akpm: project details are at http://www.cpushare.com/technical. It seems like a good idea to me, and one which is worth supporting. I agree that for this to be successful, the added robustness of Andrea's simple and specific jail is worthwhile). Signed-off-by: Andrea Arcangeli <andrea@cpushare.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] minor bttv driver update Just a new PCI Subsystem ID and a PM fix from Pavel. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] tv tuner module update. Did some code reorganization: split up the source into four files: - tuner-core.c for all the interfacing stuff (register driver, handle insmod options, react on v4l ioctls, ...), - tuner-simple.c for all those trivial 4-byte-command-sequence tuner chips. - mt20xx.c for the mt2032 and mt2050 tuners. - tda8290.c for the tda8290/8272 combo (this code is new). I also did a number of cleanups like using dev_printk() for the messages everythere. There should be no functional changes beside the new support for the tda8290 tuner. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rene.scharfe@lsrfire.ath.cx> [PATCH] remove mount option parsing from procfs This patch removes the mount options of the proc filesystem. They don't have any effect since 2.4.something. Only proc_fill_super() calls parse_options, notably proc_remount() does not. And proc_fill_super() is only called at the very first mount which in turn is the one caused by kern_mount() in fs/proc/root.c and that passes a NULL pointer as mount options string. It is called only once because proc is a filesystem with a single super_block (i.e. it uses get_sb_single()). Since noone seems to miss the uid and gid options so far I suggest to simply remove them. Their function can be easily performed in userspace. E.g. this (if it worked like intended): # mount -t proc -o uid=procuser,gid=procgrp proc /proc can be done like so, probably in some init script: # mount -t proc proc /proc && chown procuser:procgrp /proc But I don't see why anyone would want to do that in the first place. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <smurf@smurf.noris.de> [PATCH] CREDITS Update CREDITS update for Mattihas Urlichs. Signed-Off-By: Matthias Urlichs <smurf@debian.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <smurf@smurf.noris.de> [PATCH] bksend example script fix The "bksend" example script doesn't work if PAGER (used by "bk changes") is set to something which doesn't fallback to plain stdout if its output isn't a tty. Fixed by forcing PAGER to be /bin/cat. Signed-Off-By: Matthias Urlichs <smurf@debian.org> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pbadari@us.ibm.com> [PATCH] export kallsyms_lookup_name() Export kallsyms_lookup_name() for kprobe/jprobe module use. (akpm: modules which use kprobes/jrobes are usually problem-specific and will not be merged into the mainline kernel, so we we're actually to see actual users of this patch merged) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pbadari@us.ibm.com> [PATCH] Add nobh_writepage() support Add nobh_wripage() support for the filesystems which uses nobh_prepare_write/nobh_commit_write(). Idea here is to reduce unnecessary bufferhead creation/attachment to the page through pageout()->block_write_full_page(). nobh_wripage() tries to operate by directly creating bios, but it falls back to __block_write_full_page() if it can't make progress. Note that this is not really generic routine and can't be used for filesystems which uses page->Private for anything other than buffer heads. Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <a.llano@usyscom.com> [PATCH] Fix 1-Wire Dallas in bigendian machines I've been testing the 1-Wire Dallas in a bigendian machine (through a GPIO) and I've found some problems that can easily addressed with the provided patch. (inline at the end of the message). I have a question about the implementation of w1_smem. In the line 90 of drivers/w1/w1_smem.c. for (i = 0; i < 9; ++i) count += sprintf(buf + count, "%02x ", ((u8 *)&sl->reg_num)[i]); I don't see why this loop is execute 9 times when the provided reg_num is 8 bytes long. I don't understand the purpose of the last byte. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <vs@namesys.com> [PATCH] reiserfs: return -EIO instead of calling BUG() when rename goes wrong This patch makes reiserfs to return -EIO when rename-ing went wrong instead of calling BUG(). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dhowells@redhat.com> [PATCH] Keys: Doc update on locking The attached patch updates the documentation on the kernel keys to describe the locking associated with keys and key type operations. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alexn@dsv.su.se> [PATCH] ext3_new_inode() failure handling missing check There's a missing failure handling check here that would possibly lead to a null dereference later on, I'm not sure about the correct return value however. I haven't tried it as I'm not sure how to trigger the case ;) Found by the Coverity tool. Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <Matthias.Kunze@gmx-topmail.de> [PATCH] loglevel boot option Add a boot-time option to set the loglevel. We already have `quiet' and `debug', which set it to specific levels. This is better. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <peter@p12n.org> [PATCH] cross-compile scripts/lxdialog/ on AIX AIX curses.h defines macros 'clear_screen' and 'color_names' but does not define 'scroll()'. Signed-Off-By: Peter Samuelson <peter@p12n.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adobriyan@mail.ru> [PATCH] sparc: use initalisers for struct resource For when the layout of `struct resource' changes. Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru> Acked-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <Andries.Brouwer@cwi.nl> [PATCH] partitions/msdos.c fix A well-known kernel bug is that it guesses at the partition type and the partitions on any disk it encounters. This is bad because needless I/O is done, slowing down the boot, sometimes quite a lot, especially when I/O errors occur. And it is bad because sometimes we guess wrong. In other words, we need the user space command `partition', where "partition -t dos /dev/sda" reads a DOS-type partition table. (And "partition /dev/sda" tries all known heuristics to decide what type of partitioning might be present.) The two variants are: (i) partition tells the kernel to do the partition table reading, and (ii) partition uses partx to read the partition table and tells the kernel one-by-one about the partitions found this way. Since this is a fundamental change, a long transition period is needed, and that period could start with a kernel boot parameter telling the kernel not to do partition table parsing on a particular disk, or a particular type of disks, or all disks. This could have been the intro to a patch doing that, but is not. (It is just an RFC.) The tiny patch below prompted the above - it was suggested by Uwe Bonnes who encountered USB devices without partition table where our present heuristics did not suffice to stop partition table parsing. It causes the kernel to ignore partitions of type 0. A band-aid. I think nobody uses such partitions seriously, but nevertheless this should probably live in -mm for a while to see if anybody complains. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ntl@pobox.com> [PATCH] explicitly bind idle tasks With hotplug cpu and preempt, we tend to see smp_processor_id warnings from idle loop code because it's always checking whether its cpu has gone offline. Replacing every use of smp_processor_id with _smp_processor_id in all idle loop code is one solution; another way is explicitly binding idle threads to their cpus (the smp_processor_id warning does not fire if the caller is bound only to the calling cpu). This has the (admittedly slight) advantage of letting us know if an idle thread ever runs on the wrong cpu. Signed-off-by: Nathan Lynch <ntl@pobox.com> Acked-by: Joel Schopp <jschopp@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <minyard@acm.org> [PATCH] Minor cleanups to the IPMI driver This patch cleans up the DMI handling so that multiple interfaces can be reported from the DMI tables and so that the DMI slave address can be transferred up to the upper layer. It also adds an option to specify the slave address as an init parm and removes some unnecessary initializers. This patch also adds inc/dec usecount functions for the SMIs so they can modify the usecounts of modules they use (added because the SMB driver uses the I2C code). Signed-off-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jack@suse.cz> [PATCH] Quotactl changes for XFS Attached patch from Nathan splits the checks done in quotactl() in XFS and VFS parts (it's mostly just moving of code back and forth). It's done mainly because XFS guys would like to implement more types of quotas and I don't want them to slow down the general VFS case. Signed-off-by: Nathan Scott <nathans@sgi.com> Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jmoyer@redhat.com> [PATCH] autofs4 patch: autofs4_wait can leak memory There is a memory in the autofs4_wait function, if multiple processes are waiting on the same queue: name = kmalloc(NAME_MAX + 1, GFP_KERNEL); if (!name) return -ENOMEM; ... if ( !wq ) { /* Create a new wait queue */ wq = kmalloc(sizeof(struct autofs_wait_queue), GFP_KERNEL); if ( !wq ) { kfree(name); up(&sbi->wq_sem); return -ENOMEM; } ... wq->name = name; ... } else { atomic_inc(&wq->wait_ctr); up(&sbi->wq_sem); ... } In the else clause, we forget to free the name we kmalloc'd above. This is pretty easy to trigger with the following reproducer: setup an automount map as follows: for n in `seq 1 48`; do echo "$n server:/export/$n" >> /etc/auto.test; done setup a master map entry to point at this: echo "/test /etc/auto.test --timeout=1" >> /etc/auto.master Now, assuming the nfs server was setup to export said directories, run the following shell script in two xterms: #!/bin/sh while true; do for n in `seq 1 48`; do ls /test/$n done sleep 2 done and watch the size-256 slab cache grow Within 4 minutes, I had the size-256 cache grow to 384k. On a kernel with the below patch applied, the size-256 remained constant during an over-night run. Signed-off-by: Jeff Moyer <jmoyer@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <panagiotis.issaris@mech.kuleuven.ac.be> [PATCH] efi: fix failure handling The EFI driver allocates memory and writes into it without checking the success of the allocation. Furthermore, on failure of the firmware_register() it doesn't free the allocated memory and on failure of the subsys_create_file() calls it returns zero instead of the errorcode. Signed-off-by: Panagiotis Issaris <panagiotis.issaris@mech.kuleuven.ac.be> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulkf@microgate.com> [PATCH] fix register access typo in synclinkmp Fix register access typo in synclinkmp.c that caused value to be written to wrong register. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] atm/lanai: fix section references atm/lanai: fix text section references to __init text; they should be __devinit instead of __init; Error: ./drivers/atm/lanai.o .text refers to 0000000000002105 R_X86_64_PC32 .init.text+0x0000000000000021 Error: ./drivers/atm/lanai.o .text refers to 0000000000002116 R_X86_64_PC32 .init.text+0x0000000000000021 Error: ./drivers/atm/lanai.o .text refers to 0000000000002132 R_X86_64_PC32 .init.text+0x0000000000000021 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] atm/ambassador: fix init section references atm/ambassador: fix text section references to __init text and __initdata; The biggest negative about this AFAIK is that it makes ucode_data non-initdata, and that moves about 8 KB of data from .init.data to .data. Similarly, .text increases by approx. 1300 bytes (on x86-32). Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a07 R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a45 R_X86_64_32S .init.data+0x0000000000000040 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a7c R_X86_64_PC32 .init.data+0x0000000000000020 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002a83 R_X86_64_PC32 .init.data+0x000000000000001c Error: ./drivers/atm/ambassador.o .text refers to 0000000000002b40 R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002bbc R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c0f R_X86_64_32S .init.data+0x0000000000000024 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c17 R_X86_64_32S .init.data+0x0000000000000020 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c3c R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c6a R_X86_64_PC32 .init.text+0x0000000000000149 Error: ./drivers/atm/ambassador.o .text refers to 0000000000002c77 R_X86_64_32S .init.data+0x0000000000000040 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] atm/zatm: fix section references atm/zatm: fix text section references to __init text and __initdata; they should be __devinit instead of __init; Error: ./drivers/atm/zatm.o .text refers to 0000000000001abb R_X86_64_PC32 .init.text+0x0000000000000154 Error: ./drivers/atm/zatm.o .text refers to 0000000000001ad3 R_X86_64_PC32 .init.text+0x0000000000000154 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/cs4281: fix initdata section references oss/cs4281: fix initdata section references: Error: ./sound/oss/cs4281/cs4281.o .text refers to 0000000000006dae R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cs4281/cs4281.o .text refers to 0000000000006db6 R_X86_64_32S .init.data Error: ./sound/oss/cs4281/cs4281m.o .text refers to 0000000000006dae R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cs4281/cs4281m.o .text refers to 0000000000006db6 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/cmpci: fix initdata section references oss/cmpci: fix initdata section reference: Error: ./sound/oss/cmpci.o .text refers to 000000000000418e R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/cmpci.o .text refers to 0000000000004196 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/es1370: fix initdata section references oss/es1370: fix initdata section reference: Error: ./sound/oss/es1370.o .text refers to 00000000000042bd R_X86_64_32S .init.data+0x0000000000000024 Error: ./sound/oss/es1370.o .text refers to 00000000000042c5 R_X86_64_32S .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/esssolo1: fix initdata section references oss/esssolo1: fix initdata section reference: Error: ./sound/oss/esssolo1.o .text refers to 0000000000000bab R_X86_64_32S .init.data+0x0000000000000004 Error: ./sound/oss/esssolo1.o .text refers to 0000000000000bb2 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/nm256: fix section references oss/nm256_audio: fix init text section reference: Error: ./sound/oss/nm256_audio.o .text refers to 0000000000001847 R_X86_64_PC32 .init.text+0x0000000000000018 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/pss: fix section references oss/pss: fix initdata reference used in exit: Error: ./sound/oss/pss.o .exit.text refers to 000000000000003f R_X86_64_PC32 .init.data+0x0000000000000003 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] oss/sscape: fix section references oss/sscape: fix initdata reference used in exit: Error: ./sound/oss/sscape.o .exit.text refers to 000000000000007d R_X86_64_PC32 .init.data+0x0000000000000003 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: introduce the CONFIG_BASE_SMALL flag This patch series introduced a new pair of CONFIG_EMBEDDED options call CONFIG_BASE_FULL/CONFIG_BASE_SMALL. Disabling CONFIG_BASE_FULL sets the boolean CONFIG_BASE_SMALL to 1 and it is used to shrink a number of core data structures. The space savings for the current batch is around 14k. This patch: Add CONFIG_BASE_SMALL for miscellaneous core size that don't warrant their own options. Example users to follow. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink chrdevs hash CONFIG_BASE_SMALL degrade char dev hash table to linked list Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink PID tables CONFIG_BASE_SMALL reduce size of pidmap table for small machines Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink UID hash CONFIG_BASE_SMALL reduce UID lookup hash Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink futex queues CONFIG_BASE_SMALL reduce futex hash table Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink timer hashes CONFIG_BASE_SMALL reduce timer list hashes Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] base-small: shrink console buffer CONFIG_BASE_SMALL reduce console transfer buffer Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] lib/sort: Heapsort implementation of sort() This patch adds a generic array sorting library routine. This is meant to replace qsort, which has two problem areas for kernel use. The first issue is quadratic worst-case performance. While quicksort worst-case datasets are rarely encountered in normal scenarios, it is in fact quite easy to construct worst cases for almost all quicksort algorithms given source or access to an element comparison callback. This could allow attackers to cause sorts that would otherwise take less than a millisecond to take seconds and sorts that should take less than a second to take weeks or months. Fixing this problem requires randomizing pivot selection with a secure random number generator, which is rather expensive. The second is that quicksort's recursion tracking requires either nontrivial amounts of stack space or dynamic memory allocation and out of memory error handling. By comparison, heapsort has both O(n log n) average and worst-case performance and practically no extra storage requirements. This version runs within 70-90% of the average performance of optimized quicksort so it should be an acceptable replacement wherever quicksort would be used in the kernel. Note that this function has an extra parameter for passing in an optimized swapping function. This is worth 10% or more over the typical byte-by-byte exchange functions. Benchmarks: qsort: glibc variant 1189 bytes (+ 256/1024 stack) qsort_3f: my simplified variant 459 bytes (+ 256/1024 stack) heapsort: the version below 346 bytes shellsort: an optimized shellsort 196 bytes P4 1.8GHz Opteron 1.4GHz (32-bit) size algorithm cycles relative cycles relative 100: qsort: 38682 100.00% 27631 100.00% qsort_3f: 36277 106.63% 22406 123.32% heapsort: 43574 88.77% 30301 91.19% shellsort: 39087 98.97% 25139 109.91% 200: qsort: 86468 100.00% 61148 100.00% qsort_3f: 78918 109.57% 48959 124.90% heapsort: 98040 88.20% 68235 89.61% shellsort: 95688 90.36% 62279 98.18% 400: qsort: 187720 100.00% 131313 100.00% qsort_3f: 174905 107.33% 107954 121.64% heapsort: 223896 83.84% 154241 85.13% shellsort: 223037 84.17% 148990 88.14% 800: qsort: 407060 100.00% 287460 100.00% qsort_3f: 385106 105.70% 239131 120.21% heapsort: 484662 83.99% 340099 84.52% shellsort: 537110 75.79% 354755 81.03% 1600: qsort: 879596 100.00% 621331 100.00% qsort_3f: 861568 102.09% 522013 119.03% heapsort: 1079750 81.46% 746677 83.21% shellsort: 1234243 71.27% 820782 75.70% 3200: qsort: 1903902 100.00% 1342126 100.00% qsort_3f: 1908816 99.74% 1131496 118.62% heapsort: 2515493 75.69% 1630333 82.32% shellsort: 2985339 63.78% 1964794 68.31% 6400: qsort: 4046370 100.00% 2909215 100.00% qsort_3f: 4164468 97.16% 2468393 117.86% heapsort: 5150659 78.56% 3533585 82.33% shellsort: 6650225 60.85% 4429849 65.67% 12800: qsort: 8729730 100.00% 6185097 100.00% qsort_3f: 8776885 99.46% 5288826 116.95% heapsort: 11064224 78.90% 7603061 81.35% shellsort: 15487905 56.36% 10305163 60.02% 25600: qsort: 18357770 100.00% 13172205 100.00% qsort_3f: 18687842 98.23% 11337115 116.19% heapsort: 24121241 76.11% 16612122 79.29% shellsort: 35552814 51.64% 24106987 54.64% 51200: qsort: 38658883 100.00% 28008505 100.00% qsort_3f: 39498463 97.87% 24339675 115.07% heapsort: 50553552 76.47% 37013828 75.67% shellsort: 82602416 46.80% 56201889 49.84% 102400: qsort: 81197794 100.00% 58918933 100.00% qsort_3f: 84257930 96.37% 51986219 113.34% heapsort: 110540577 73.46% 81419675 72.36% shellsort: 191303132 42.44% 129786472 45.40% From: Zou Nan hai <nanhai.zou@intel.com> The new sort routine only works if there are an even number of entries in the ia64 exception fix-up tables. If the number of entries is odd the sort fails, and then random get_user/put_user calls can fail. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] sort: link it in We cannot tell at build time whether some module may want it. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] lib/sort: Replace qsort in XFS Point XFS qsort at lib/sort in a way that makes it happy. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] lib/sort: Replace insertion sort in exception tables Replace exception table insertion sort with lib/sort Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] lib/sort: Replace insertion sort in IA64 exception tables Switch IA64 exception tables to lib/sort. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] lib/sort: Use generic sort on x86_64 x86_64 wasn't doing anything special in its sort_extable. Use the generic lib/extable sort. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: cleanup waitqueue logic, fix missed wakeup Original code checked in output pool for missed wakeup avoidance, while waker (batch_entropy_process) checked input pool which could result in a missed wakeup. - Move to wait_event_interruptible style - Delete superfluous waitqueue Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill pool clearing Remove pool clearing. We've only ever cleared one of three pools and there's no good reason to do it. Instead just reset the entropy count. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: combine legacy ioctls ZAPENTCNT is now effectively identical to RNDCLEARPOOL, fall through Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: re-init all pools on zero - Re-init all three pools in ioctls - Clear entropy count in init_std_data under a lock - Add kerneldoc comment Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: simplify initialization Simplify the init code Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill memsets of static data Remove redundant memsets of BSS data Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill dead extract_state struct Remove unused extract_timer_state struct. It was formerly used to feedback zero-entropy timing samples while extracting entropy, but that had a tendency to overwhelm the batch processing queue and prevent storing real samples. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill 2.2 compat waitqueue defs Remove Linux 2.2 compatibility cruft. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill redundant rotate_left definitions We've got three definitions of rotate_left. Remove x86 and duplicate rotate definitions. Remaining definition is fixed up such that recent gcc will generate rol instructions on x86 at least. A later patch will move this to bitops and clean up the other tree users. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] rol32 thinko This thinko.. makes things a bit more arbitrary than we'd like. I've re-audited the other rotate conversions. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: kill misnamed log2 Remove incorrectly named ln (it's log2!) and x86 asm function and replace with fls bitop. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: More meaningful pool names Give pools more meaningful names. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Static allocation of pools As we no longer allow resizing of pools, it makes sense to allocate and initialize them statically. Remove create_entropy_store and simplify rand_initialize. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Static sysctl bits Static initialization for sysctl support Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Catastrophic reseed checks When reseeding, we must always do a "catastrophic reseed" where we pull enough new bits to make the new state unguessable from outputs even if we knew the old state. So we must do the checks against the minimum reseed amount under the pool lock in extract_entropy. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Entropy reservation accounting Additional parameter to allow keeping an entropy reserve in the input pool. Groundwork for proper /dev/urandom vs /dev/random starvation prevention. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Reservation flag in pool struct Move the limit flag to the pool struct, begin process of eliminating extract flags. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Reseed pointer in pool struct Put pointer to reseed pool in pool struct and automatically pull entropy from it if it is set. This lets us remove the EXTRACT_SECONDARY flag. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Break up extract_user Break apart extract_entropy into kernel and user versions, remove last extract flag and some unnecessary variables. This makes the code more readable and amenable to sparse. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Remove dead MD5 copy Remove long-dead md5 code. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Simplify hash folding Simplify output hash folding Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Clean up hash buffering Clean up buffer usage for SHA and reseed. This makes the code more readable and reduces worst-case stack usage. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Remove entropy batching Rather than batching up entropy samples, resulting in longer lock hold times when we actually process the samples, mix in samples immediately. The trickle code should eliminate almost all the additional interrupt-time overhead this would otherwise incur, with or without locking. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Create new rol32/ror32 bitops Add rol32 and ror32 bitops to bitops.h Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Use them throughout the tree Move users of private rotl/rotr functions to rol32/ror32. Crypto bits verified with tcrypt. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Kill the SHA variants Kill the unrolled SHA variants, they're unused and duplicate code in cryptoapi. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Cleanup SHA interface Clean up SHA hash function for moving to lib/ Do proper endian conversion Provide sha_init function Add kerneldoc Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Move SHA code to lib/ Move random SHA code to lib/. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Replace SHA with faster version A replacement SHA routine that's slightly larger, but over twice as fast. It's also faster and much smaller than the cryptolib version. size speed buffer size original: 350B 2.3us 320B cryptolib: 5776B 1.2us 80B this code: 466B 1.0us 320B alternate: 2112B 1.0us 80B Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Update cryptolib to use SHA fro lib Drop the cryptolib SHA implementation and use the faster and much smaller SHA implementation from lib/. Saves about 5K. This also saves time by doing one memset per update call rather than one per SHA block. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Move halfmd4 to lib Move half-MD4 hash to /lib where we can share it with htree. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Kill duplicate halfmd4 in ext3 htree Replace duplicate halfMD4 code with call to lib/ Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Simplify and shrink syncookie code Simplify syncookie initialization Refactor syncookie code with separate hash function Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] random: Move syncookies to net/ Move syncookie code off to networking land. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] lib/parser.o linkage fix It's possible to define .configs in which there are no references in vmlinux to lib/parser.o. So you cannot load any filesystem modules. Arrange for parser.o to be statically linked. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] Speed up /proc/pid/maps This patch uses find_vma() to improve the read response of /proc/pid/maps. It attempts to make the liner scan instead of quadratic walk and utilise rb tree. Reading the file was doing sequential scan from the begining to file position all the time, and taking a quite long time. The improvements came from f_version/m_version and resulting in mmap_cache match. Even if mmap_cache does not match, rb tree walk should be faster than sequential walk. First attempt was to put the state across read system calls into private data. Later got inspiration from wli's pid patch using f_version in readdir of /proc. Other advantage is, f_version will be cleared automatically by lseek. The test program creates 32K maps and splits them into two(limited by max_map_count sysctl) using mprotect(0). After the patch, the read time improves from many seconds to milliseconds, and does not grow superlinearly with number of read calls. Help taken from Peter Swain in idea and testing. After the patch: Reading /proc/self/maps:65528 time: 0 secs and 780728 usecs buf:4096 bytes:3811362 Reading /proc/self/maps:65528 time: 1 secs and 117573 usecs buf:1024 bytes:3866627 Reading /proc/self/maps:65528 time: 0 secs and 473459 usecs buf: 256 bytes:3866627 Reading /proc/self/maps:65528 time: 0 secs and 901288 usecs buf: 64 bytes:3866627 Reading /proc/self/maps:65528 time: 1 secs and 480185 usecs buf: 16 bytes:3866627 Reading /proc/self/maps:65528 time: 1 secs and 636268 usecs buf: 4 bytes:3866627 Reading /proc/self/maps:65528 time: 4 secs and 118327 usecs buf: 1 bytes:3866627 Before the patch: Reading /proc/self/maps:65528 time: 4 secs and 359556 usecs buf:4096 bytes:3866647 Reading /proc/self/maps:65528 time:16 secs and 218584 usecs buf:1024 bytes:3866688 Reading /proc/self/maps:65528 time:67 secs and 870200 usecs buf: 256 bytes:3866688 Reading /proc/self/maps:65528 time:255 secs and 186934 usecs buf: 64 bytes:3866688 Small reads never completed. Signed-off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] posix-timers: tidy up clock interfaces and consolidate dispatch logic This patch cleans up the posix-timers interfaces for defining clocks, and the calls to them. It fixes some sloppy types, adds a clockid_t parameter to the calls that lacked it, and adds a function pointer that can be used for clock_getres. It further cleans up the posix-timers.c code using the k_clock function pointers or default functions when no hooks are supplied, consolidating repeated code into shared inline functions or macros. This paves the way for adding the CPU clock hooks. The mmtimer.c changes are untested, but obviously can't be wrong. There aren't any other struct k_clock definitions in the tree, but any others would need to be updated for the function signature changes. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] posix-timers: high-resolution CPU clocks for POSIX clock_* syscalls This patch provides support for thread and process CPU time clocks in the POSIX clock interface. Both the existing utime and utime+stime information (already available via getrusage et al) can be used, as well as a new (potentially) more precise and accurate clock (which cannot distinguish user from system time). The clock used is that provided by the `sched_clock' function already used internally by the scheduler. This gives a way for platforms to provide the highest-resolution CPU time tracking that is available cheaply, and some already do so (such as x86 using TSC). Because this clock is already sampled internally by the scheduler, this new tracking adds only the tiniest new overhead to accomplish the bookkeeping. Some notes: This allows per-thread clocks to be accessed only by other threads in the same process. The only POSIX calls that access these are defined only for in-process use, and having this check is necessary for the userland implementations of the POSIX clock functions to robustly refuse stale clockid_t's in the face of potential PID reuse. This makes no constraint on who can see whose per-process clocks. This information is already available for the VIRT and PROF (i.e. utime and stime) information via /proc. I am open to suggestions on if/how security constraints on who can see whose clocks should be imposed. The SCHED clock information is now available only via clock_* syscalls. This means that per-thread information is not available outside the process. Perhaps /proc should show sched_time as well? This would let ps et al show this more-accurate information. When this code is merged, it will be supported in glibc. I have written the support and added some test programs for glibc, which are what I mainly used to test the new kernel code. You can get those here: http://people.redhat.com/roland/glibc/kernel-cpuclocks.patch Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] posix-timers: tidy up clock interfaces and consolidate dispatch logic cleanup > We do need to do one or the other. I assume the current indecision is > pending some benchmarking work? That was more or less the idea. But I kind of figured someone would just tell me which one to do without actually doing any timings. This patch (applies after the cpuclocks patch) makes the one decision, to use conditional branches rather than indirect calls in the common case. That is consistent with what the old code did. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] posix-timers: fix posix-timers signals lock order The posix-timers code establishes the locking order that k_itimer locks are outside siglocks. However, when the signal code calls back into the posix-timers code to reload a timer after its signal is dequeued, it holds a siglock while calling do_schedule_next_timer, which gets a timer lock. I'm not sure there is any deadlock scenario possible using the real-time POSIX timers, because of the intricate arrangement of timer firing and resetting synchronization. But with the new CPU timers code, this deadlock pops up right away. Dropping the siglock here certainly doesn't hurt in the real-time timer cases, and it really seems like the right thing here to keep the locking details in the interface between signals and posix-timers code comprehensible. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] posix-timers: CPU clock support for POSIX timers POSIX requires that when you claim _POSIX_CPUTIME and _POSIX_THREAD_CPUTIME, not only the clock_* calls but also timer_* calls must support the thread and process CPU time clocks. This patch provides that support, building on my recent additions to support these clocks in the POSIX clock_* interfaces. This patch will not work without those changes, as well as the patch fixing the timer lock-siglock deadlock problem. The apparent pervasive changes to posix-timers.c are simply that some fields of struct k_itimer have changed name and moved into a union. This was appropriate since the data structures required for the existing real-time timer support and for the new thread/process CPU-time timers are quite different. The glibc patches to support CPU time clocks using the new kernel support is in http://people.redhat.com/roland/glibc/kernel-cpuclocks.patch, and that includes tests for the timer support (if you build glibc with NPTL). From: Christoph Lameter <clameter@sgi.com> Your patch breaks the mmtimer driver because it used k_itimer values for its own purposes. Here is a fix by defining an additional structure in k_itimer (same approach for mmtimer as the cpu timers): From: Roland McGrath <roland@redhat.com> Fix bug identified by Alexander Nyberg <alexn@dsv.su.se> > The problem arises from code touching the union in alloc_posix_timer() > which makes firing go non-zero. When firing is checked in > posix_cpu_timer_set() it will be positive causing an infinite loop. > > So either the below fix or preferably move the INIT_LIST_HEAD(x) from > alloc_posix_timer() to somewhere later where it doesn't disturb the other > union members. Thanks for finding this problem. The latter is what I think is the right solution. This patch does that, and also removes some superfluous rezeroing. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] PANIC in check_process_timers() It was intended that such things would not be possible because getting into that code in the first place should be ruled out while exiting. That removes the requirement for any special case check in the common path. But, it was done too late since it hadn't occurred to me that ->live going zero itself created a problem. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] make ITIMER_REAL per-process POSIX requires that setitimer, getitimer, and alarm work on a per-process basis. Currently, Linux implements these for individual threads. This patch fixes these semantics for the ITIMER_REAL timer (which generates SIGALRM), making it shared by all threads in a process (thread group). Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] make ITIMER_PROF, ITIMER_VIRTUAL per-process POSIX requires that setitimer, getitimer, and alarm work on a per-process basis. Currently, Linux implements these for individual threads. This patch fixes these semantics for the ITIMER_PROF timer (which generates SIGPROF) and the ITIMER_VIRTUAL timer (which generates SIGVTALRM), making them shared by all threads in a process (thread group). This patch should be applied after the one that fixes ITIMER_REAL. The essential machinery for these timers is tied into the new posix-timers code for process CPU clocks and timers. This patch requires the cputimers patch and its dependencies. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] make RLIMIT_CPU/SIGXCPU per-process POSIX requires that the RLIMIT_CPU resource limit that generates SIGXCPU be counted on a per-process basis. Currently, Linux implements this for individual threads. This patch fixes the semantics to conform with POSIX. The essential machinery for the process CPU limit is is tied into the new posix-timers code for process CPU clocks and timers. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] override RLIMIT_SIGPENDING for non-RT signals I can read POSIX to say that the siginfo_t data must be available when `kill' was used, as well. This patch makes it allocate the siginfo_t, even when that exceeds {RLIMIT_SIGPENDING}, for any non-RT signal (< SIGRTMIN) not sent by sigqueue (actually, any signal that couldn't have been faked by a sigqueue call). Of course, in an extreme memory shortage situation, you are SOL and violate POSIX a little before you die horribly from being out of memory anyway. The LEGACY_QUEUE logic already ensures that, for non-RT signals, at most one is ever on the queue. So there really is no risk at all of unbounded resource consumption; the usage can reach {RLIMIT_SIGPENDING} + 31, is all. It's already the case that the limit can be exceeded by (in theory) up to {RLIMIT_NPROC}-1 in race conditions because the bump and the limit check are not atomic. (Obviously you can only get anywhere near that many with assloads of preemption, but exceeding it by a few is not too unlikely.) This patch also fixes that accounting so that it should not be possible to exceed {RLIMIT_SIGPENDING} + SIGRTMIN-1 queue items per user in races. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] show RLIMIT_SIGPENDING usage in /proc/PID/status Jeremy mentioned the aggravation of not being able to tell when your processes are using up signal queue entries and hitting the RLIMIT_SIGPENDING limit. This patch adds a line to /proc/PID/status showing how many queue items are in use, and allowed, for your uid. I can certainly see the appeal of having a display of the number of queued items specific to each process, and even the items within the process broken down per signal number. However, those are not things that are directly counted, and ascertaining them requires iterating through the queue. This patch instead gives what can be readily determined in constant time using the accounting already done. I'm not sure something more complex is warranted just to facilitate one particular debugging need. With this, you can see quickly that this particular problem has come up. Then examination of each process's SigPnd/ShdPnd lines ought to give you an indication of which processes have any queued RT signals sitting around for a long time, and you can then attack those programs directly, though there is no way after the fact to determine how many queued signals with the same number a given process has (short of killing it and seeing the usage drop). Note you may still have a mystery if the leaking programs are not leaving pending RT signals queued, but rather preallocating queue items via timer_create. That usage is not readily apparent in any /proc information. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] set RLIMIT_SIGPENDING limit based on RLIMIT_NPROC While looking into the issues Jeremy had with the RLIMIT_SIGPENDING limit, it occurred to me that the normal setting of this limit is bizarrely low. The initial hard limit setting (MAX_SIGPENDING) was taken from the old max_queued_signals parameter, which was for the entire system in aggregate. But even as a per-user limit, the 1024 value is incongruously low for this. On my machine, RLIMIT_NPROC allows me 8192 processes, but only 1024 queued signals, i.e. fewer even than one pending signal in each process. (To me, this really puts in doubt the sensibility of using a per-user limit for this rather than a per-process one, i.e. counted in sighand_struct or signal_struct, which could have a much smaller reasonable value. I don't recall the rationale for making this new limit per-user in the first place.) This patch sets the default RLIMIT_SIGPENDING limit at boot time, using the calculation that decides the default RLIMIT_NPROC limit. This uses the same value for those two limits, which I think is still pretty conservative on the RLIMIT_SIGPENDING value. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <andrea@suse.de> [PATCH] remove vmalloc guard page knowledge from arch code Now that we cleaned up the guard page handling in vmalloc, we have to remove the p-PAGE_SIZE hack that was put in there for the original guard page handling. This also removes some spurious tab. Signed-off-by: Andrea Arcangeli <andrea@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] ppc64: "invert" dma mapping routines This patch "inverts" the PPC64 dma mapping routines so that the pci_ and vio_ ... routines are implemented in terms of the dma_ ... routines (the vio_ routines disappear anyway as noone uses them directly any more). The most noticable change after this patch is applied will be that the flags passed to dma_alloc_coherent will now be honoured (whereas they were previously silently ignored since we used to just call pci_alloc_consistent). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: error code cleanups for rtas wrappers This patch is from John Rose <johnrose@austin.ibm.com> This patch changes the rtas wrapper functions in rtas.c to map RTAS failure codes to conventional error values. The goal is to make failure conditions obvious in the wrapper functions and in the caller code. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: error code cleanups rpa(php,dlpar) This patch is from John Rose <johnrose@austin.ibm.com> This patch changes the RPA PCI Hotplug and DLPAR modules to use more conventional error values for return codes. The goal is to make failure conditions obvious in the wrapper functions and in the caller code. Signed-off-by: John Rose <johnrose@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: call idle_task_exit with irqs disabled This patch is from Nathan Lynch <ntl@pobox.com>. Seeing this very occasionally during cpu hotplug testing: Badness in slb_flush_and_rebolt at arch/ppc64/mm/slb.c:52 Call Trace: [c0000000ef0efbe0] [c0000000000127a0] .__switch_to+0xa4/0xf0 (unreliable) [c0000000ef0efc80] [c000000000050178] .idle_task_exit+0xbc/0x15c [c0000000ef0efd10] [c00000000000d108] .cpu_die+0x18/0x68 [c0000000ef0efd90] [c00000000001023c] .dedicated_idle+0x1fc/0x254 [c0000000ef0efe80] [c00000000000fc80] .cpu_idle+0x3c/0x54 [c0000000ef0eff00] [c00000000003aa90] .start_secondary+0x108/0x148 [c0000000ef0eff90] [c00000000000bd28] .enable_64b_mode+0x0/0x28 idle_task_exit can result in a call to slb_flush_and_rebolt, which must not be called with interrupts enabled. Make the call with interrupts disabled. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: update irq affinity mask when migrating irqs This patch is from Nathan Lynch <ntl@pobox.com>. When offlining a cpu, any device interrupts which are bound to the cpu have their affinity forcibly reset to all cpus (the default). However, the value in /proc/irq/XXX/smp_affinity remains unchanged. Since we're doing this while all the other cpus are stopped, it should be safe to just call desc->handler->set_affinity and manually update the irq_affinity array. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <paulus@samba.org> [PATCH] ppc64: fix eeh.h compile warnings This patch is from Nathan Lynch <ntl@pobox.com>. Use static inlines instead of #defines for stub functions when CONFIG_EEH=n, to eliminate "statement with no effect" warnings with some toolchains. Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rmk@flint.arm.linux.org.uk> [SERIAL] Add PCI state save/restore and PCI power state management Resolve a problem where a Sony Ericsson GC79 Cardbus device was not being correctly resumed across a S3 suspend, as reported by Hendrik Hoeth. Signed-off-by: Russell King <rmk@arm.linux.org.uk> <buytenh@org.rmk.(none)> [ARM PATCH] 2517/1: more ixp2000 typo fixes Patch from Lennert Buytenhek Another round of ixp2000 typo fixes. Signed-off-by: Lennert Buytenhek Signed-off-by: Russell King <rpurdie@net.rmk.(none)> [ARM PATCH] 2522/1: Sharp SCOOP - Add mutliple device support Patch from Richard Purdie Sharp SCOOP: Devices with multiple scoop interfaces are now available so: * add support for mutliple device support to the driver * Update corgi, collie and poodle to share the scoop device structure so a device can be selected in drivers * Update drivers to use the device structures Signed-off-by: Richard Purdie Signed-off-by: Russell King <rmk@flint.arm.linux.org.uk> [ARM] Fix build error in rtctime.c Oops, it broke. Glue the bits back together, replacing yrs with tm->tm_year + 1900. I will not merge untested changes into Linus' tree. I will not merge untested changes into Linus' tree. I will not merge untested changes into Linus' tree. I will not ... Signed-off-by: Russell King <rmk@arm.linux.org.uk> <tony@com.rmk.(none)> [ARM PATCH] 2451/1: OMAP 32KHz timer and 64-bit sched_clock, take 3 Patch from Tony Lindgren This patch adds support for 32k timer on OMAP 16xx, and 64-bit sched clock to the MPU timer. This is an update version of ARM patch 2337/1. The 32k timer modulo code has been left out, and the dynamic tick (VST) timer will be submitted in a separate patch. Signed-off-by: Tony Lindgren Signed-off-by: Russell King <stevef@stevef95.austin.ibm.com> [CIFS] Add support for setting timestaps by handle for NT4 servers Signed-off-by: Steve French (sfrench@us.ibm.com) <stevef@stevef95.austin.ibm.com> [CIFS] add new statfs call for posix extensions Signed-off-by: Steve French (sfrench@us.ibm.com) <davem@northbeach.davemloft.net> [BTTV]: Declare bttvs[] array after struct layout. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [RXRPC]: Push module_{init,exit}() after function definitions. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [AFS]: Push module_{init,exit}() after function definitions. Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [SCSI_ACARD]: Eliminate bogus virt_to_bus() call in atp870u.c prdaddr is set by the pci_alloc_consistent() call to portably specify the DMA address. There is no need to recompute it again using the deprecated virt_to_bus() on the pointer returned from pci_alloc_consistent(). Signed-off-by: David S. Miller <davem@davemloft.net> <davem@northbeach.davemloft.net> [SPARC64]: Fix inline assembler in init_irqwork_curcpu(). 'tmp' cannot be a global register, because we are going into the interrupt globals by writing to pstate. Since we did not specify any particular register, gcc could use anything, and in fact because of this I am surprised we did not hit this bug earlier. Signed-off-by: David S. Miller <davem@davemloft.net> <airlied@starflyer.(none)> drm: fixup CREDITS and MAINTAINERS Add myself to MAINTAINERS for drm, and fixup my CREDITS. Signed-off-by: Dave Airlie <airlied@linux.ie> <torvalds@ppc970.osdl.org> epoll: return proper error on overflow condition Noted by Georgi Guninski. <gregkh@suse.de> Linux 2.6.11.2 <willy@parisc-linux.org> [PATCH] PA-RISC assembler cleanups and fixes - Convert ldil/ldo to using the load32 macro. Signed-Off-By: Kyle McMartin <kyle@parisc-linux.org> - loop on signal delivery like other archs - unify VM initialization code for 32/64-bit Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Sparse annotations and cleanup warnings for PA-RISC - Missing UL on large integers - 0/NULL confusion - __user annotations - C99-style array elements Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] ALSA Harmony fixes - The entire silence buffer is now being filled, instead of just 1/8th of it. - The silence buffer is now prepared during initialisation of the driver. - snd_pcm_format_size() is missing from the ALSA headers: using snd_pcm_format_physical_width() instead. Signed-off-by: Stuart Brady <sdbrady@ntlworld.com> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Improve PA-RISC make configcheck Fix "make configcheck | fgrep 'not needed' | fgrep parisc" Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC irq handling improvements - Move the bits_wide parameter from txn_alloc_data to txn_alloc_irq. It's too late by the time it hits txn_alloc_data(), we can only panic. In txn_alloc_irq, we can fail the allocation and continue. - Also fix a bug where we'd only allow up to half the interrupts to be allocated. Not a problem for iosapic machines, but might have sucked on a really big GSC-based machine. - Add missing irq_enter() / irq_exit() - Allow interrupt processing to be interrupted by the timer tick so we actually account hard interrupts. Also speed up the handling of CPU interrupts by not masking with cpu_eiem again. - Remove sufficiently obsolete DEBUG_IRQ code - Remove limit on times around the loop. If we exit the loop while interrupts are still pending, we'll only be re-interrupted as soon as we exit the function. - Remove unnecessary includes Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <axboe@suse.de> [PATCH] barrier rework updates As promised to Andrew, here are the latest bits that fixup the block io barrier handling. - Add io scheduler ->deactivate hook to tell the io scheduler is a request is suspended from the block layer. cfq and as needs this hook. - Locking updates - Make sure a driver doesn't reuse the flush rq before a previous one has completed - Typo in the scsi_io_completion() function, the bit shift was wrong - sd needs proper timeout on the flush - remove silly debug leftover in ide-disk wrt "hdc" Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arjan@infradead.org> [PATCH] Kobject: remove some unneeded exports kobject_get_path and kobject_rename are only used by the sysfs core code and not aren't really driver-ish code. Remove the unused exports Signed-off-by: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <rddunlap@osdl.org> [PATCH] Add 2.4.x cpufreq /proc and sysctl interface removal feature-removal-schedule Add 2.4.x cpufreq /proc and sysctl interface removal to the feature-removal-schedule. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <linux@dominikbrodowski.de> [PATCH] cpufreq 2.4 interface removal schedule Even though these 2.4. interfaces are already gone in Dave Jones' cpufreq bitkeeper tree, here's a patch which properly announces it in Documentation/feature-removal-schedule.txt: Add meaningful content concerning the removal of deprecated interfaces to the cpufreq core. Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <rmk+lkml@arm.linux.org.uk> [PATCH] driver core: Separate platform device name from platform device number Separate platform device name from platform device number such that names ending with numbers aren't confusing. Signed-off-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <kay.sievers@vrfy.org> [PATCH] class core: export MAJOR/MINOR to the hotplug env Move the creation of the sysfs "dev" file of a class device into the driver core. The struct class_device contains a dev_t value now. If set, the driver core will create the "dev" file containing the major/minor numbers automatically. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <kay.sievers@vrfy.org> [PATCH] block core: export MAJOR/MINOR to the hotplug env Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <kay.sievers@vrfy.org> [PATCH] class_simple: pass dev_t to the class core Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <kay.sievers@vrfy.org> [PATCH] usb: class driver pass dev_t to the class core Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kay.sievers@vrfy.org> [PATCH] i2c: class driver pass dev_t to the class core Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kay.sievers@vrfy.org> [PATCH] videodev: pass dev_t to the class core Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <Michael.Waychison@Sun.COM> [PATCH] driver core: clean driver unload Get rid of semaphore abuse by converting device_driver->unload_sem semaphore to device_driver->unloaded completion. This should get rid of any confusion as well as save a few bytes in the process. Signed-off-by: Mike Waychison <michael.waychison@sun.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kay.sievers@vrfy.org> [PATCH] Driver core: add "bus" symlink to class/block devices On Tue, Feb 15, 2005 at 09:53:44PM +0100, Kay Sievers wrote: > Add a "bus" symlink to the class and block devices, just like the "driver" > and "device" links. This may be a huge speed gain for e.g. udev to determine > the bus value of a device, as we currently need to do a brute-force scan in > /sys/bus/* to find this value. Hmm, while playing around with it, I think we should create the "bus" link on the physical device on not on the class device. Also the current "driver" link at the class device should be removed, cause class devices don't have a driver. Block devices never had this misleading symlink. From the class device we point with the "device" link to the physical device, and only the physical device should have the "driver" and the "bus" link, as it represents the real relationship. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kay.sievers@vrfy.org> [PATCH] floppy.c: pass physical device to device registration With this patch the floppy driver creates the usual symlink in sysfs to the physical device backing the block device: $tree /sys/block/ /sys/block/ |-- fd0 | |-- dev | |-- device -> ../../devices/platform/floppy0 ... Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] kset: make ksets have a spinlock, and use that to lock their lists Do this instead of using the rwsem of a subsys. Smaller, faster, and I'm trying to get rid of the rwsem in the subsys. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] sysdev: make system_subsys static as no one else needs access to it. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] kref: make kref_put return if this was the last put call. This is needed for the upcoming klist code from Pat. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <kjhall@us.ibm.com> [PATCH] Add TPM hardware enablement driver This patch is a device driver to enable new hardware. The new hardware is the TPM chip as described by specifications at <http://www.trustedcomputinggroup.org>>. The TPM chip will enable you to use hardware to securely store and protect your keys and personal data. To use the chip according to the specification, you will need the Trusted Software Stack (TSS) of which an implementation for Linux is available at: <http://sourceforge.net/projects/trousers>>. Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com> Signed-off-by: Reiner Sailer <sailer@watson.ibm.com> Signed-off-by: Dave Safford <safford@watson.ibm.com> Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <kjhall@us.ibm.com> [PATCH] tpm: fix cause of SMP stack traces There were misplaced spinlock acquires and releases in the probe, close and release paths which were causing might_sleep and schedule while atomic error messages accompanied by stack traces when the kernel was compiled with SMP support. Bug reported by Reben Jenster <ruben@hotheads.de> Signed-off-by: Kylene Hall <kjhall@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <akpm@osdl.org> [PATCH] tpm_msc-build-fix With older gcc's: drivers/char/tpm/tpm_nsc.c:238: unknown field `fops' specified in initializer drivers/char/tpm/tpm_nsc.c:238: warning: missing braces around initializer Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <akpm@osdl.org> [PATCH] tpm_atmel build fix drivers/char/tpm/tpm_atmel.c:131: unknown field `fops' specified in initializer drivers/char/tpm/tpm_atmel.c:131: warning: missing braces around initializer Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <akpm@osdl.org> [PATCH] tpm-build-fix drivers/char/tpm/tpm.c: In function `show_pcrs': drivers/char/tpm/tpm.c:228: warning: passing arg 1 of `tpm_transmit' from incompatible pointer type drivers/char/tpm/tpm.c:238: warning: passing arg 1 of `tpm_transmit' from incompatible pointer type Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <alexn@dsv.su.se> [PATCH] AoE warning on 64-bit archs I just accidently built AoE on x86-64 and it emits a warning due to conversion of types of different size, trivial fix: Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ecashin@coraid.com> [PATCH] aoe: add documentation for udev users add documentation for udev users Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ecashin@coraid.com> [PATCH] aoe: update documentation for udev users Bodo Eggert <7eggert@gmx.de> writes: > Ed L Cashin <ecashin@coraid.com> wrote: > >> +if=A0test=A0-z=A0"$conf";=A0then >> +=A0=A0=A0=A0=A0=A0=A0=A0conf=3D"`find=A0/etc=A0-type=A0f=A0-name=A0udev= .conf=A02>=A0/dev/null`" >> +fi >> +if=A0test=A0-z=A0"$conf"=A0||=A0test=A0!=A0-r=A0$conf;=A0then >> +=A0=A0=A0=A0=A0=A0=A0=A0echo=A0"$me=A0Error:=A0could=A0not=A0find=A0rea= dable=A0udev.conf=A0in=A0/etc"=A01>&2 >> +=A0=A0=A0=A0=A0=A0=A0=A0exit=A01 >> +fi > > This will fail and print > --- > bash: test: etc/udev.conf: binary operator expected > --- > if there is more than one udev.conf. > > Fix: Always put quotes around variables. Thanks. With the changes below, it still will complain if it finds more than one udev.conf, but only if /etc/udev/udev.conf doesn't exist. Quote all shell variables, and use /etc/udev/udev.conf if available. Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ecashin@coraid.com> [PATCH] aoe: fail IO on disk errors This patch makes disk errors fail the IO instead of getting logged and ignored. Fail IO on disk errors Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ecashin@coraid.com> [PATCH] aoe status.sh: handle sysfs not in /etc/mtab Suse 9.1 Pro doesn't put /sys in /etc/mtab. This patch makes the example aoe status.sh script work when sysfs is mounted but `mount` doesn't mention sysfs. aoe status.sh: handle sysfs not in /etc/mtab Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ecashin@coraid.com> [PATCH] aoe: drivers/block/aoe/aoechr.c cleanups Adrian Bunk <bunk@stusta.de> writes: > This patch contains the following cleanups: > - make the needlessly global struct aoe_fops static > - #if 0 the unused global function aoechr_hdump Thanks for the patch. The original patch leaves the prototype for aoechr_hdump in aoe.h, but since this function is just for debugging, it seems better to just take both prototype and definition out. remove aoechr_hdump make aoe_fops static Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Ed L. Cashin <ecashin@coraid.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <dhowells@redhat.com> [PATCH] rwsem: Make rwsems use interrupt disabling spinlocks The attached patch makes read/write semaphores use interrupt disabling spinlocks in the slow path, thus rendering the up functions and trylock functions available for use in interrupt context. This matches the regular semaphore behaviour. I've assumed that the normal down functions must be called with interrupts enabled (since they might schedule), and used the irq-disabling spinlock variants that don't save the flags. Signed-Off-By: David Howells <dhowells@redhat.com> Tested-by: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] sis900 kernel oops fix From: Herbert Xu <herbert@gondor.apana.org.au> Fix bug #4223. OK, this happened because we got preempted before sis900_mii_probe finished setting the sis_priv->mii. Theoretically this can happen with SMP as well but I suppose the number of SMP machines with sis900 is fairly small. Anyway, the fix is to make sure that sis900_mii_probe is done before the device can be opened. This patch does it by moving the setup before register_netdevice. Since the netdev name is not available before register_netdev, I've changed the relevant printk's to use pci_name instead. Note that one of those printk's may be called after register_netdev as well. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <olof@austin.ibm.com> [PATCH] [VIA RHINE] older chips oops on shutdown I'm oopsing on shutdown on a machine that has a Via Rhine adapter in it: Unable to handle kernel paging request at virtual address e0803003 [...] EIP is at ioread8+0x2c/0x40 Call Trace: [<c0103d5f>] show_stack+0x7f/0xa0 [<c0103efa>] show_registers+0x15a/0x1c0 [<c01040ce>] die+0xce/0x150 [<c0113406>] do_page_fault+0x356/0x692 [<c01039ff>] error_code+0x2b/0x30 [<c026b490>] rhine_shutdown+0x60/0x140 [<c0253ad9>] device_shutdown+0x89/0x8b [<c012461c>] sys_reboot+0xac/0x200 [<c0102f71>] sysenter_past_esp+0x52/0x75 Seems like it is the ioread8 in: /* Hit power state D3 (sleep) */ iowrite8(ioread8(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW); that fails. StickyHW is 0x83. lspci says: 0000:00:07.0 Ethernet controller: VIA Technologies, Inc. VT86C100A [Rhine] (rev 06) Flags: bus master, medium devsel, latency 32, IRQ 18 I/O ports at ec00 [size=128] Memory at dfffff80 (32-bit, non-prefetchable) [size=128] In other words, it's trying to read outside of the I/O range (0x80), which matches the fauling address. I'm guessing my chip revision doesn't support WOL, it's a crappy noname card. It does seem as if rhine_power_init checks quirks for rqWOL before touching any registers. Should rhine_shutdown do the same? Proposed patch below, which resolves the problem on my system. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <paul.mundt@nokia.com> [PATCH] Add SuperHyway bus subsystem Signed-off-by: Paul Mundt <paul.mundt@nokia.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> <gregkh@suse.de> [PATCH] USB: move usb core to use class_simple instead of it's own class functions. This is needed if the class code is going to be made easier to use, and it makes the code smaller and easier to understand. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <ben-linux@org.rmk.(none)> [ARM PATCH] 2521/2: S3C2410 - update documentation Patch from Ben Dooks Update info on supported CPUs, add Lucas to the list of contributors. Add section on adding new machines Signed-off-by: Ben Dooks Signed-off-by: Russell King <stevef@stevef95.austin.ibm.com> [CIFS] Add new cifs posix qfs info level for improved handling of statfs Signed-off-by: Steve French (sfrench@us.ibm.com) <ben-linux@org.rmk.(none)> [ARM PATCH] 2526/1: S3C2410 - s3c2400 uart support Patch from Ben Dooks Support for s3c2400 uarts in the s3c2410.c driver, to go with the s3c2410 and s3c2440 support already in there. Add PORT_S3C2400 to include/linux/serial_core.h Signed-off-by: Ben Dooks Signed-off-by: Russell King <gregkh@suse.de> [PATCH] kmap: remove usage of rwsem from kobj_map. This forces the caller to provide the lock, but as they all already had one, it's not a big change. It also removes the now-unneeded cdev_subsys. Thanks to Jon Corbet for reminding me about that. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] debufs: make built in types add a \n to their output Thanks to Alessandro Rubini <rubini@gnudd.com> for pointing this out. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] debugfs: fix bool built-in type. Thanks to Alessandro Rubini <rubini@gnudd.com> for pointing this out. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] sysdev: fix the name of the list of drivers to be a sane name Heh, "global_drivers" as a static... Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] sysdev: remove the rwsem usage from this subsystem. If further finer grained locking is needed, we can add a lock to the sysdev_class to lock the class drivers list. But if you do that, remember the global list also is still there and needs to be protected. That's why I went with a simple lock for everything. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> [PATCH] class: add a semaphore to struct class, and use that instead of the subsystem rwsem. This moves us away from using the rwsem, although recursive adds and removes of class devices is not yet possible (nor is it really known if it even is needed.) So this simple change is done instead. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <stevef@smf-t23.(none)> [CIFS] fix build break Signed-off-by: Steve French (sfrench@us.ibm.com) <bdschuym@pandora.be> [NETFILTER]: Reduce call chain length in netfilter (take 2) This is a second try to fix the long chain call lengths in netfilter. The difference with the previous patch is that I got rid of the extra argument. I somehow didn't see it could be done without using the 'int *ret2' argument. A comment on the number of arguments to nf_hook_slow: I don't think the number of arguments should be decreased. For the bridge-nf code, f.e., the indev argument does not equal (*pskb)->dev (this is an answer to a question of Rusty in the old thread). A comment on the argument change of nf_hook_slow (sk_buff * to sk_buff **) and the bad influence on tail call optimization possibilities. From the discussion in the old thread it became clear that no tail call is generated for the current code. So, I don't see why this is a reason not to accept the patch. Furthermore, if gcc ever would become able of doing the current code with a tail call, it should be very easy to change the code back to the original. In the meantime, I think this patch is the best known solution. Signed-off-by: David S. Miller <davem@davemloft.net> <horms@verge.net.au> [IPVS]: Fix comment typos. Signed-off-by: David S. Miller <davem@davemloft.net> <wensong@linux-vs.org> [IPVS]: Fix that the WRR scheduler works correctly when server is updated or overloaded Here is the patch to make the WRR scheduler work correctly when server is updated with new weight or marked overloaded. Please check and apply it to kernel 2.6. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV6]: Handle loopback restration errors in addrconf_init() Let's also clean up loopback's ipv6 structure in addrconf_cleanup even though it never happens currently :) Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@13thfloor.at> [NET]: Passcred cleanup in struct sock struct socket uses a 'bool' (unsigned char) to 'flag' the pass-credential option for sockets (which can be easily replaced by a flag) Signed-off-by: David S. Miller <davem@davemloft.net> <bunk@stusta.de> [SUNHME]: make a struct static This patch makes a needlessly global struct static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net> <kaber@trash.net> [XFRM]: Fix ICMP tempsel The selector ports are initialized to fl_ip_sport/fl_ip_dport instead of xfrm_flowi_sport(fl)/xfrm_flowi_dport(fl). This is wrong for ICMP, type and code should be stored in sport and dport, in struct flowi both are contained in fl_ip_sport. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <stevef@smfhome.smfdom> [CIFS] null pointer fixes pointed out by the coverity tool. Remove redundant checks for null SMBs (in the cases where the can not be null) - pointed out by the coverity code checker tool as well. Signed-off-by: Steve French (sfrench@us.ibm.com) <herbert@gondor.apana.org.au> [NET]: Fix CHECKSUM_HW wrt. packet trimming. When something, on receive, between a CHECKSUM_HW using driver and the code validating skb->csum trims the head of the packet we have to reset skb->ip_summed back to CHECKSUM_NONE because this kind of change invalidates the skb->csum value calculated by the driver. Various spots handle this properly, but not all. So abstract these actions into helper routines in order to avoid code duplication. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <stevef@smfhome.smfdom> [CIFS] Fix compile warning Signed-off-by: Steve French (sfrench@us.ibm.com) <shemminger@osdl.org> [NET]: Kill dead externs in netdevice.h The following definitions are historical relics. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [NET]: Remove dead skb_iter code The code to iterate over skb_frags is defined but not used by any existing kernel code. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NEIGH]: rtnetlink neighbour cleanups Signed-off-by: Thomas Graf <tgraf@suug.ch> Acked-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NEIGH]: Provide number of probes to userspace Provides number of probes done so far to userspace, quite useful for debugging. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <russb@emc.com> [PATCH] AHCI: fix fatal error int handling I noticed that the AHCI CI (cmd issue) reg wasn't getting cleared after error ints resulting in no further commands being successfully issued to the port. This patch fixes. All that's really needed is the 1's complement but I also removed the disabling/enabling of the FIS_RX b/c this isn't spec'd as necessary when handling error ints. Signed-off-by: Brett Russ <russb@emc.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <perex@suse.cz> [ALSA] fix snd-serial-u16550 docs for setserial Documentation Change the documentation about disabling the standard serial driver to use 'uart none' instead of 'none' as setserial option. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix rounded-up integer division bug PCM Midlevel This patch is against alsa-driver-1.0.8. It covers: alsa-kernel/core/pcm_lib.c It corresponds to bug description: <https://bugtrack.alsa-project.org/alsa-bug/view.php?id=951>> The patch fixes the following problem: -- Properly perform rounded-up integer division in snd_pcm_system_tick_set() in pcm_lib.c. This only had a minor impact. Signed-off-by: Charles Levert <charles_levert@gna.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Fix bugs with incorrectly wrapped appl_ptr PCM Midlevel This patch is against alsa-driver-1.0.8. It covers: alsa-kernel/core/pcm_lib.c The main changes are in the first listed file. It corresponds to bug description: <https://bugtrack.alsa-project.org/alsa-bug/view.php?id=951>> The patch does cosmetic change: -- Better, more universal and smaller wrapping to within 0..runtime->boundary-1 in functions snd_pcm_lib_write1() and snd_pcm_lib_read1() in pcm_lib.c Signed-off-by: Charles Levert <charles_levert@gna.org> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] move common code into snd_rawmidi_runtime_create/_free functions RawMidi Midlevel Move the duplicated memory handling code for the rawmidi runtime struct into the snd_rawmidi_init/_done_buffer functions and rename them to snd_rawmidi_runtime_create/_free. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] move rawmidi event callback into tasklet RawMidi Midlevel Move the event callback into a tasklet instead of calling it directly from snd_rawmidi_transmit_ack/_receive to prevent recursive calls to the trigger callback. This means that drivers no longer have to check that they're called inside their own spinlock. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] use simple_strtoul instead of simple_strtol AC97 Codec Replace simple_strtol with simple_strtoul for compatibility with 2.2.x kernels. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] document rawmidi interface Documentation Add information about the rawmidi interface to the driver-writing documentation. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] add module aliases for rtctimer and seq-dummy RTC timer driver,ALSA sequencer Add snd-timer-1 and snd-seq-client-63 module aliases for the snd-rtctimer and snd-seq-dummy modules. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] remove duplicate module alias ALSA Core Remove duplicate MODULE_ALIAS for the snd module. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix locking for rawmidi trigger callbacks Generic drivers,MPU401 UART,SB8 driver,Wavefront drivers,CS4281 driver ENS1370/1+ driver,CS46xx driver,EMU10K1/EMU10K2 driver,RME HDSP driver Use spin_lock_irqsave() instead of spin_lock() in places where we could be interrupted by another hardware interrupt that could call the rawmidi trigger callback that could try to take the same lock. Additionally, remove locking code that is no longer needed now that the trigger callback is no longer called recursively from the rawmidi 'event' handler. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] GUS - Remove unused gus_lfo.c file GUS Library Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz> <perex@suse.cz> [ALSA] Use DXS volumes as PCM VIA82xx driver Use DXS volumes as PCM control in cases with no volume control on codec (e.g. C-Media). 'DXS Playback Volume' controls are removed. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix ALC260 support HDA Codec driver Fix ALC260 support on HP machines. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix stereo mutes on Surround volume control AC97 Codec Fix stereo mutes on Surround volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix auto-probing of widget tree HDA generic driver Fixed auto-probing of the widget tree, ignoring the widgets with the digital attributes. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix sample rates of Revo 7.1 ICE1712 driver,ICE1724 driver Fixed the available sample rates of Revo 7.1 board. AK codecs don't support the rate below 32k Hz. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace spdif frequency control with iec958 control au88x0 driver The appended patch replaces the manual spdif frequency control in the mixer with code that use the standard iec958 interface. The patch is nearly the same as the one Raymond submitted, except it gets rid of the identical *_default_* versions of the functions, and has a tiny bit of cleanup. I have only tested it a little bit because I don't currently have the hardware to actually test it properly. However, it looks harmless to me. Patch-by: Raymond Signed-off-by: Jeff Muizelaar <muizelaar@rogers.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Restore the default value after rate detection AC97 Codec Restore the default value of rate registers after detection of available rates. This might fix the problem of playback noises on some mobo drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Disable DRA for ALI5455 Intel8x0 driver Disable DRA for ALI5455. Apparently the device doesn't support it. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add AD1986 support AC97 Codec Added the support of AD1986. Using the same patch as AD1985. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Add PCI ids for ICH6/7 Intel8x0-modem driver Added the PCI IDs for ICH6 and ICH7. Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] replace wrong spin_trylock_irqsave with spin_lock_irqsave MPU401 UART The last patch accidentally left a 'try' in where none was intended. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] remove duplicate field initialization au88x0 driver Remove duplicate (and inconsistent) initialization of the iface field. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] fix forgotten release of semaphore in error path ALSA<-OSS emulation In snd_mixer_oss_get_volume1_vol and snd_mixer_oss_put_volume1_vol, card->controls_rwsem wouldn't be released if the boolean type check fails. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> <perex@suse.cz> [ALSA] Fix pops and clicks at beginning/end of playback EMU10K1/EMU10K2 driver The patch fixes pops and clicks at the beginning and the end of playback on emu10k1 due to the cache size mismatch. Signed-off-by: Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de> <perex@suse.cz> [ALSA] Fix ALC260 input HDA Codec driver Fixed the ALC260 input on HP machines. Added the front mic support. Signed-off-by: Takashi Iwai <tiwai@suse.de> <airlied@starflyer.(none)> drm: split out structure into heads This patch splits out the main drm structures for future multi-head support. It just sets up the structures and the stub functions for putting/getting heads From: Jon Smirl <jonsmirl@gmail.com> Signed-off-by: Dave Airlie <airlied@linux.ie> <airlied@starflyer.(none)> drm: fix radeon pci id fd.o bug #2576: Add support for ATI RN50/ES1000. (ATI Technologies Inc.) From: Michel Daenzer <michel@daenzer.net> Signed-off-by: Dave Airlie <airlied@linux.ie> <airlied@starflyer.(none)> drm: cleanup patch This makes a lot of functions static and cleans up a few other minor things. From: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie> <airlied@starflyer.(none)> drm: cleanup i810/i830 drivers Cleanup patch for i810/i830 From: Adrian Bunk <bunk@stusta.de> Signed-off-by: Dave Airlie <airlied@linux.ie> <airlied@starflyer.(none)> drm: upgrade radeon driver to 1.15 add support for texture micro tiling on radeon/r200. Add support for r100 cube maps (since it also requires a version bump). From: Roland Scheidegger <rscheidegger_lists@hispeed.ch> Signed-off-by: Dave Airlie <airlied@linux.ie> <airlied@starflyer.(none)> drm: fix setversion ioctl zeroing Egbert Eich reported a bug 2673 on bugs.freedesktop.org and tracked it down to a missing memset in the setversion ioctl, this causes X server crashes so I would like to see the fix in a 2.6.11.x tree if possible.. From: Egbert Eich <eich@pdx.freedesktop.org> Signed-off-by: Dave Airlie <airlied@linux.ie> <bram.verweij@wanadoo.nl> [ide] fix DMA support for LBA48 disks on ALi15x3 (revs < 0xC5) From: Bram Verweij <bram.verweij@wanadoo.nl> The problem seems to be that ide-disk.c tries to use PIO mode for blocks > 137 GB (which is good), and LBA48 + DMA for blocks <= 137GB (which is known to be a problem, i.e., this is why the no_lba48_dma field was introduced in the first place). Attached is a small patch that makes ide-disk.c use PIO mode for blocks > 137 GB, and LBA28 DMA (instead of LBA48 DMA) for blocks <= 137 GB. bart: argh, I forgot about 'lba48' flag; patch slightly modified by me Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <akpm@osdl.org> [PATCH] ptep_test_and_clear_dirty typo fix Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: fix typo in super_1_sync Instead of setting one value lots of times, let's set lots of values once each, as we should.. This fixes possible inconsistencies that might arise in a version-1 superblock when devices fail and are removed. Usage of version-1 superblocks is not yet widespread and no actual problems have been reported. From: Paul Clements <paul.clements@steeleye.com> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] setup_per_zone_lowmem_reserve() oops fix If you do 'echo 0 0 > /proc/sys/vm/lowmem_reserve_ratio' the kernel gets a divide-by-zero. Prevent that, and fiddle with some whitespace too. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kenneth.w.chen@intel.com> [PATCH] fix in slab.c:alloc_arraycache Kmem_cache_alloc_node is not capable of handling a null cachep pointer as its input argument. If I try to increase a slab limit by echoing a very large number into /proc/slabinfo, kernel will panic from alloc_arraycache() because Kmem_find_general_cachep() can actually return a NULL pointer if the size argument is sufficiently large. Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dgoeddel@trustedcs.com> [PATCH] SELinux: enhanced MLS support This patch replaces the original experimental Multi-Level Security (MLS) implementation in SELinux with an enhanced MLS implementation contributed by Trusted Computer Solutions (TCS). The enhanced MLS implementation replaces the hardcoded MLS logic with a flexible constraint-based system and replaces the compile-time option for MLS support with a policy load-time enable based on whether MLS support was enabled in the policy when it was built. The latter change allows a single kernel and policy toolchain to support both MLS and non-MLS policies. Compatibility is still provided as usual for existing policies. Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sds@tycho.nsa.gov> [PATCH] SELinux: pass requested protection to security_file_mmap/mprotect hooks This patch adds a reqprot parameter to the security_file_mmap and security_file_mprotect hooks that is the original requested protection value prior to any modification for read-implies-exec, and changes the SELinux module to allow a mode of operation (controllable via a checkreqprot setting) where it applies checks based on that protection value rather than the protection that will be applied by the kernel, effectively restoring SELinux's original behavior prior to the introduction of the read-implies-exec logic in the mainline kernel. The patch also disables execmem and execmod checking entirely on PPC32, as the PPC32 ELF ABI presently requires RWE segments per Ulrich Drepper. At present, the read-implies-exec logic causes SELinux to see every mmap/mprotect read request by legacy binaries or binaries marked with PT_GNU_STACK RWE as a read|execute request, which tends to distort policy even if it reflects what is ultimately possible. The checkreqprot setting allows one to set the desired behavior for SELinux, so either the current behavior or the original behavior is possible. The checkreqprot value has a compile-time configurable default value and can also be set via boot parameter or at runtime via /selinux/checkreqprot if allowed by policy. Thanks to Chris Wright, James Morris, and Colin Walters for comments on an earlier version of the patch. Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sds@tycho.nsa.gov> [PATCH] SELinux: document boot options Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sds@tycho.nsa.gov> [PATCH] SELinux: fix selinux_setprocattr This patch changes the selinux_setprocattr hook function (which handles writes to nodes in the /proc/pid/attr directory) to ignore an optional terminating newline at the end of the value, and to handle a value beginning with a newline or a null in the same manner as a zero length value (clearing the attribute for the process and resetting it to using the default policy behavior). This change is to address the divergence from POSIX in the existing API, as POSIX says that write(2) with a zero count will return zero with no other effect, as well as to simplify use of the API from scripts (although that isn't recommended). Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Consolidate Kconfig support for 83xx Consolidate Kconfig options between arch/ppc/platforms/83xx/Kconfig and arch/ppc/Kconfig at Tom Rini's request. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ntl@pobox.com> [PATCH] ppc64: fix xmon build break with non-SMP config CC arch/ppc64/xmon/xmon.o arch/ppc64/xmon/xmon.c: In function `set_controlled_dabr': arch/ppc64/xmon/xmon.c:633: warning: implicit declaration of function `plpar_hcall_norets' arch/ppc64/xmon/xmon.c:633: error: `H_SET_DABR' undeclared (first use in this function) arch/ppc64/xmon/xmon.c:633: error: (Each undeclared identifier is reported only once arch/ppc64/xmon/xmon.c:633: error: for each function it appears in.) arch/ppc64/xmon/xmon.c:634: error: `H_Success' undeclared (first use in this function) Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <david@gibson.dropbear.id.au> [PATCH] ppc64: allow emulation of mfpvr on ppc64 kernel Allow userspace programs on ppc64 to use the (privileged) mfpvr instruction to determine the processor type. At the moment it emulates the instruction to provide the real PVR value, though it could be made to lie in future if for some reason we wish to restrict what CPU features userspace uses. If nothing else this means that some existing ppc32 applications will now run on a 64-bit kernel (the 32-bit kernel has long supported this emulation). It will also be necessary for ppc64 perfctr support, where userspace requires finer-grained cpu type information than the kernel in order to correctly program the performance monitor control registers. Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: memset the i386 numa pgdats in arch code The next patch in this series will remove the arch-independent clearing of the pgdat's. This first patch removes the i386 dependency on that behavior. The new i386 function, remapped_pgdat_init() takes care of initializing the pgdats which are finally mapped after paging_init() is done. The zone_sizes_init() call has to occur after the pgdat clearing. zone_sizes_init() is currently called from the end of paging_init(), because that's the first place where the pgdats could have been zeroed. However, zone_sizes_init() really doesn't have anything to do with paging, and probably shouldn't be in paging_init(). Moving this call into setup_memory() allows the declaration of zone_sizes_init() to change files as well, which means a net removal of one #ifdef. It also provides a handy place to put the new function, far away from the paging code that it really has nothing to do with. Moving files required only using highend_pfn inside of the HIGHMEM ifdef, but this saves a line of code anyway. Fixes from: Yasunori Goto <ygoto@us.fujitsu.com> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: do not unnecessarily memset the pgdats Both the pgdats and the struct zonelist are zeroed unnecessarily. The zonelist is a member of the pgdat, so any time the pgdat is cleared, so is the zonelist. All of the architectures present a zeroed pgdat to the generic code, so it's not necessary to set it again. Not clearing it like this allows the functions to be reused by the memory hotplug code. The only architecture which has a dependence on these clears is i386. The previous patch in this series fixed that up. Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: abstract discontigmem setup memory_present() is how each arch/subarch will tell sparsemem and discontigmem where all of its memory is. This is what triggers sparse to go out and create its mappings for the memory, as well as allocate the mem_map[]. By: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: allow SRAT to parse empty nodes This patch is to allow the booting of a numa srat base i386 system without requiring memory to be in all of it's nodes. It breaks the assumption that all nodes have memory during bootup. Signed-off-by: Keith Mannthey <kmannth@us.ibm.com> Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: SRAT cleanup: make calculations and indenting level more sane Using the assumption that all addresses in the SRAT are ascending, the calculations can get a bit simpler, and remove the "been_here_before" variable. This also breaks that calculation out into its own function, which further simplifies the look of the code. Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mst@mellanox.co.il> [PATCH] x86: disable MSI for AMD-8131 The AMD-8131 I/O APIC (device id 1022:7450/7451) does not support message signalled interrupts. Thus, if a device driver attempts to enable msi, it will suceed, but interrupts are not actually delivered to the cpu. The Nforce chipsets do not seem to have this limitation. AMD confirmed that MSI mode is unsupported with this APIC. The following patch adds a flag to pci quirks to detect this and disable msi. Signed-off-by: Michael S. Tsirkin <mst@mellano.co.il> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <coywolf@gmail.com> [PATCH] remove barrier() in software_resume() This patch removes the redundant compiler barrier. As Linus ever said "The mb() should make sure that gcc cannot move things around...". Signed-off-by: Coywolf Qi Hunt <coywolf@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: 2.6.11 updates This patch makes some small changes that parallel changes in 2.6.11: The csum buffers are now unsigned char. Got rid of an unused define from pgtable-2level.h. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Update defconfig Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tzachar@cs.bgu.ac.il> [PATCH] uml: slirp driver tells the network it's not ethernet Tell the netdevice code that a slirp device is not ethernet. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Get rid of uneccessary hostfs build trick Get rid of the grepping for __st_ino in hostfs, since it doesn't work on x86_64 (the grep finds it, but it is ifdefed out), and Al says it's unnecessary anyway. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Fix some usercopy confusion This fixes a couple of copy-user problems spotted by Al Viro. copy_sc_from_user_tt was doing a copy_from_user to do an in-kernel assignment. I commented this, at the request of Chris Wedgewood. sys_ipc had a void *__user ptr which should have been void __user *ptr. Finally, there were a couple of bogus __user annotations on unsigned longs, which were never going to be passed into copy_user. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: make the ubd driver recognize letters in device names ubd_get_config wasn't using the standard device number parser, which caused it not to recognize letters. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Fix a shutdown hang caused by a failed ifconfig The network driver wasn't checking that the host side of an interface had been successfully opened before trying to close it at shuwtdown. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bstroesser@fujitsu-siemens.com> [PATCH] uml: Code cleanup Shifting register restore and userspace resume to the beginning of the userspace loop, we can remove the identical code done before the loop. Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Clean up the syscall path This patch removes some useless code from the system call path, and removes some debug code, which will reappear in a configurable form in the syscall-debug patch. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Make syscall debugging code configurable This patch makes some debug code in the system call path configurable. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: add a comment explaining pread availability Prompted by Dave Mielke: This adds a comment explaining why we do not define _XOPEN_SOURCE, even though the pread man page says you should. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Remove useless sys_mount wrapper um_mount did nothing but turn around and call sys_mount with the same arguments. This makes it useless code, and it has been duly removed. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Remove mm_indirect reference in modify_ldt Spotted by Al Viro, there was some bogosity in the UML/x86_64 modify_ltd. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Fix a compile failure Remove a UML/x86_64 warning (and build failure if CONFIG_MODE_TT is disabled). Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Improve error reporting This patch adds some errors and warnings where there were none before: If someone typos "ubd" as "udb", that is caught and a warning is printed If a ubd file can't be opened, that now results in an error message If there are more telnet connections to port consoles than there are consoles, then a message will appear in the telnet session explaining why there is no login prompt. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Make a bunch of driver functions static Noticed by Frank Sorenson - the methods in arch/um/drivers/tty.c should be static. It turns out that all the channels have the same problem, so these are all fixed. These files export only a structure of function pointers, so that structure should be the only externally visible symbol. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] unified spinlock initialization arch/um/drivers/port_kern.c Unify the spinlock initialization as far as possible. Signed-off-by: Amit Gud <gud@eth.net> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: gix hostfs typo Fix a typo in the hostfs setgid code. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: ptrace interface cleanup From: Bodo Stroesser, mostly: Gets rid of all inclusions of {sys,linux,asm}/ptrace.h since their effects and contents are somewhat distro- and architecture-dependent. arch/um/sysdep/ptrace_user is now responsible for providing the system's ptrace interfaces to UML. As such, it is a purely userspace header, and this exposed a couple of places where kernel files were including it. One of them needed MAX_REG_OFFSET, so this was provided by adding a new generated header, user-constants.h, which includes this. Also, changed PTRACE_{PEEK,POKE}_USER to _USR since that seems to be more standard. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: "Hardware" random number generator This implements a hardware random number generator for UML which attaches itself to the host's /dev/random. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Export gcov symbol based on gcc version The init function called by gcc when gcov is enabled is __gcov_init or __bb_init_func, depending on the gcc version. Anton is using 3.3.4 and seeing __gcov_init. I'm using 3.3.2 and seeing __bb_init_func, so we need to close that gap a bit. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: change semaphores to completions From: Esben Nielsen <simlo at phys au dk> One of the problems was use of direct architecture specific semaphores (which doesn't work under PREEMPT_REALTIME) and in places where a quick (maybe too quick) look at the code told me that completions ought to be used. Therefore I changed two semaphores to completions which compiled fine. I have tried the change on 2.6.11-rc2, and it seemed to work, but I have not tested it heavily. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Remove build dependency on perl To quote .config into config.c for building the result into the code, use sed instead of perl, as requested by one "embedded" UML user (which notes that perl is a big requirement, while busybox provides sed which is used in this patch). I've tested that there are only cosmethical differences in the produced config.c file, which don't change at all the result (i.e. "a" is replaced by "" "a" at the beginning, which is non-significant). Reported by, and initial patch provided by, Rob Landley. Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Speed up tlb flushing This patch optimizes tlb flushing in a couple of ways to reduce the number of system calls made to the host in order to update an address space. Operations are collected, and adjacent ones which can be merged, are. This includes consecutive munmaps, mprotects with the same permissions, and mmaps with the same backing file and permissions and linear in the file. Second, the munmaps that always preceded mmaps are now done instead of mmap if necessary. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jdike@addtoit.com> [PATCH] uml: Consolidate tlb flushing code This patch merges now-identical page table walking and flushing code that had been duplicated in skas and tt modes. The differences had been the low-level address space updating operations, which are now abstracted away in the respective do_ops functions. Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bstroesser@fujitsu-siemens.com> [PATCH] uml: Fix rounding bug in tlb flushing fix_range_common and flush_tlb_kernel_range_common don't work correctly, if a PGD (or PUD or PMD) is not present and start_addr (resp. start) is not aligned to a PGD boundary (or PUD or PMD boundary). Signed-off-by: Bodo Stroesser <bstroesser@fujitsu-siemens.com> Signed-off-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kkeil@suse.de> [PATCH] i4l: new hfc_usb driver version This is an update of the HFC USB ISDN driver, the current one has some bugs and support not all HW. It was already tested as standalone patch for some time, so including it should be safe. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kkeil@suse.de> [PATCH] i4l: HFC-4S and HFC-8S driver Add a new driver for new ISDN hardware. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kkeil@suse.de> [PATCH] Cleanup version of the hdriver for HFC 4S/8S based cards This should resolve all the issues from the review and is a big cleanup for i4l-hfc-4s-and-hfc-8s-driver.patch. Signed-off-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kkeil@suse.de> [PATCH] Removing Auvertech TurboPAM ISDN driver The Auvertech TurboPAM ISDN hardware was never produce and the company do not longer exist, so it makes no sense to support this any longer. Signed-off-by: Karsten Keil <kkeil@suse.de> Acked-by: Stelian Pop <stelian@popies.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sct@redhat.com> [PATCH] invalidate_inode_pages2_range livelock fix With Andrew Morton invalidate_inode_pages2_range() can livelock if all the pages in the pagevec are outside the end of teh range which we're trying to invalidate. Fix that up in a similar manner to the truncate_inode_pages_range() handling. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] add and use COMPAT_SIGEV_PAD_SIZE All the 32 bit architectures (effectively) define SIGEV_PAD_SIZE to be ((SIGEV_MAX_SIZE/sizeof(int)) - 3). So define COMPAT_SIGEV_PAD_SIZE to be this and replace SIGEV_PAD_SIZE32 where it is used. It also needs to be used in the definition of struct compat_sigevent as most of the architectures would have had it 4 bytes too small in the kernel (since we were using SIGEV_PAD_SIZE). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] Consolidate the last compat sigvals This patch just consolidates the last of the (what should have been) compat_sigval_ts. It also fixes S390 that had a sigval_t in its struct compat_siginfo. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] consolidate the last of the compat sigevent structs This patch pulls together the compat_sigevent structs. It also consolidates the copying of these structures into the kernel. The only part of the second union in sigevent that the kernel looks at currently is the _tid, so that is the only bit we copy. This patch depends on my previous two patches "add and use COMPAT_SIGEV_PAD_SIZE" and "Consolidate the last compat sigvals". Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <joern@wohnheim.fh-wedel.de> [PATCH] checkstack false positive fix Randy Dunlap found one case where checkstack reported a false positive. From objdump of efi_stub.o: 5: 81 ea 00 00 00 c0 sub $0xc0000000,%edx With the old code, this was interpreted as a negative number. The output line was: 0xc0116f5d efi_call_phys: 1073741824 Randy wanted a change to return the correct number, like this: 0xc0116f5d efi_call_phys: 3221225472 adding "or I can just ignore it, like I've been doing for awhile..." Let's help him with the most sophisticated electronic tools and have the script actively ignore this case for him. Signed-off-by: Jörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@suse.cz> [PATCH] deprecate ACPI S4bios support Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] make cond_syscall look right The current cond_syscall #defines add a semicolon on the end, and then folks leave the semicolons off in kernel/sys_ni.c, which confuses editors that are language-aware and is just generally bad style. This sweeps all the users and makes sys_ni.c look like normal C code. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: use c99 initialisers Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <coywolf@gmail.com> [PATCH] mnt_init() cleanup At the very beginning in 2.4 days, in mnt_init(), mount_hashtable allocation page order was determined at runtime. Later the page order got fixed to 0. This patch cleanups it. Signed-off-by: Coywolf Qi Hunt <coywolf@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <chrisw@osdl.org> [PATCH] Security contact info Add security contact info and relevant documentation. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alexn@dsv.su.se> [PATCH] Race against parent deletion in key_user_lookup() I looked at some of the oops reports against keyrings, I think the problem is that the search isn't restarted after dropping the key_user_lock, *p will still be NULL when we get back to try_again and look through the tree. It looks like the intention was that the search start over from scratch. Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Cc: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dhowells@redhat.com> [PATCH] Properly share process and session keyrings with CLONE_THREAD [try #2] The attached patch causes process and session keyrings to be shared properly when CLONE_THREAD is in force. It does this by moving the keyring pointers into struct signal_struct[*]. [*] I have a patch to rename this to struct thread_group that I'll revisit after the advent of 2.6.11. Furthermore, once this patch is applied, process keyrings will no longer be allocated at fork, but will instead only be allocated when needed. Allocating them at fork was a way of half getting around the sharing across threads problem, but that's no longer necessary. This revision of the patch has the documentation changes patch rolled into it and no longer abstracts the locking for signal_struct into a pair of macros. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rmk+lkml@arm.linux.org.uk> [PATCH] Hotplug parallel ports The Mobility docking station provides a PCI-based parallel port. Since the docking station connects via Cardbus, such devices are removable. Therefore, track which parallel ports are registered to each PCI device, and remove them when the PCI device is removed. Signed-off-by: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mike.miller@hp.com> [PATCH] cciss: new controller support This patch adds support for 2 new SAS controllers due out this summer. It also bumps the version to 2.6.6. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mike.miller@hp.com> [PATCH] cciss: support for more than 8 controllers This patch adds support for more than 8 controllers. If we run out of preallocated major numbers we dynamically allocate more. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mike.miller@hp.com> [PATCH] cciss: per disk queue support This patch adds per disk queue functionality. It seems that the 2.6 kernel expects a queue per disk. If you have multiple logical drives on a controller all of the queues actually point back to the same queue. If a drive is deleted it blows us out of the water. We hold the lock during any queue operations and have added what we call a "fair-enough" algorithm to prevent starving out any drive. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <cmm@us.ibm.com> [PATCH] ext3: fix race between ext3 make block reservation and reservation window discard This patch fixed a race between ext3_discard_reservation() and ext3_try_to_allocate_with_rsv(). There is a window where ext3_discard_reservation will remove an already unlinked reservation window node from the filesystem reservation tree: It thinks the reservation is still linked in the filesystem reservation tree, but it is actually temperately removed from the tree by allocate_new_reservation() when it failed to make a new reservation from the current group and try to make a new reservation from next block group. Here is how it could happen: CPU 1 try to allocate a block in group1 with given reservation window my_rsv ext3_try_to_allocate_with_rsv(group ----copy reservation window my_rsv into local rsv_copy ext3_try_to_allocate(...rsv_copy) ----no free block in existing reservation window, ----need a new reservation window spin_lock(&rsv_lock); CPU 2 ext3_discard_reservation if (!rsv_is_empty() ----this is true spin_lock(&rsv_lock) ----waiting for thread 1 CPU 1: allocate_new_reservation failed to reserve blocks in this group remove the window from the tree rsv_window_remove(my_rsv) ----window node is unlinked from the tree here return -1 spin_unlock(&rsv_lock) ext3_try_to_allocate_with_rsv() failed in this group group++ CPU 2 spin_lock(&rsv_lock) succeed rsv_remove_window () ---------------break, trying to remove a unlinked node from the tree .... CPU 1: ext3_try_to_allocate_with_rsv(group, my_rsv) rsv_is_empty is true, need a new reservation window spin_lock(&rsv_lock); ^--------------- spinning forever We need to re-check whether the reservation window is still linked to the tree after grab the rsv_lock spin lock in ext3_discard_reservation, to prevent panic in rsv_remove_window->rb_erase. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove utf8 checking RFC3530 says NFSv4 filenames are in UTF-8, and that servers "should" reject filenames that aren't valid UTF-8. Currently we do some incomplete UTF-8 checking, but this turns out to be more of a hindrance than a help--if we export a filesystem with non-UTF8 names, things break. We might be able to help things if we had some idea of the exported filesystem's charset and could do some translation. For now, though, the simplest solution by far seems to be just to remove the UTF-8 checks, making NFSv4's behaviour just like NFSv2/v3's. Similar problems exist with usernames. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: create a slab cache for stateowners Create a slab cache for nfsv4 stateowners. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove stateowner debug counters Get rid of these debug counters. Since they're no longer necessarily incremented under state lock, we'd need to convert them to atomic_t to guarantee them correct. It doesn't seem worth it. Also, the debug checks in kmem_cache_destroy() should be sufficient for at least one of the purposes the debugging counters existed for--we'll get a dump_stack() if there are still stateowners left when we shut down. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: Fix oops on nfsd4 shutdown Fix Oops at nfsd shutdown. Reap any open nfs4_stateowners remaining on the close_lru hash list prior to reaping nfs4_clients at shutdown. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: cbnull refcount leak Properly decrement refcount on failure in nfsd4_probe_callback. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: reclaim cleanup Remove unnecessary fields in the nfs4_client_reclaim structure. Initialize reclaim_str_hashtbl_size and increment it inside of nfs4_client_to_reclaim. Modify client_to_reclaim() in preparation for reboot recovery. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: move special stateid processing Move special stateid processing to nfs4_preprocess_stateid_op(). Also make stateid processing for setattr the same as that for write. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: allow some reads and writes during the grace period Allow READ and WRITE during the grace period on OPEN or LOCK state that has been reclaimed, for files for which mandatory locking is not in force. (Reads and writes to files with mandatory locking must be delayed until we're sure all the other clients have had a chance to recover locks.) Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: use existing open instead of reopening on read and write Use the struct file * obtained in nfsd4_open for nfsd_read and nfsd_write when available. To do this we add a struct file * argument to nfsd_read and nfsd_write. If a struct file is passed in, nfsd_read and nfsd_write will use it, doing just an access check instead of an open and close. If the new argument is NULL, they will fall back on the old behaviour. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: miscellaneous open cleanup Minor trivial cleanup, mostly whitespace. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: miscellaneous open cleanup 2 Replace sequence of if {... goto} 's by if-elseif's, other minor simplification of logic. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: miscellaneous open cleanup 3 More minor logic cleanup. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: don't release nfs4_file with associated delegations Only release a struct nfs4_file if there are no associated delegations. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: do callback replays by hand Turn off rpc layer timeout replay for the NFSv4 server callback client. Rely on manual replay in nfs4_cb_recall_done instead. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify open_delegation The DONT_DELEGATE flag is superfluous. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify open_delegation 2 Simplify logic in nfs4_open_delegation, fix a small bug on allocation failure. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: miscellaneous delegation fixes Don't hand out a delegation to a client that already has one. Minor simplification and reformatting. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove unnecessary check in find_delegation_stateid We would have oopsed some time ago if either of these parameters were NULL. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] fix drive->ready_stat for ATAPI ATAPI devices ignore DRDY bit so drive->ready_stat must be set to zero. It is currently done by device drivers (including ide-default fake driver) but for PMAC driver it is too late as wait_for_ready() may be called during probe: probe_hwif()->pmac_ide_dma_check()->pmac_ide_{mdma,udma}_enable()-> ->pmac_ide_do_setfeature()->wait_for_ready(). Fixup drive->ready_stat just after detecting ATAPI device. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix nfs4_check_delegmode() Inline nfs4_check_delegmode, replace & by &&, remove incorrect check. (Note that it's fine to read using the stateid for a write delegation.) While we're at it, the status return logic seems like overkill for one simple check. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify clientid hash table searches We repeat the same hash table searches in a bunch of places, and keep making the mistake of assuming the variable iterating over the list will be NULL when the search fails. Some helper functions here simplify things a bit. While we're at it, make move_to_confirmed take just a clp instead of making the caller compute the hash. This means we sometimes have to compute the hash multiple times, but it's only an &, so no big deal. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify verify_clientid Simplify verify_clientid out of existance. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: don't allow unconfirmed renew Don't bother searching for unconfirmed clients when handling RENEW; a client is pretty sick if it's trying to renew state it hasn't even finished acquiring yet. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: provide no_cb_path error on renew If the client was given a delegation, but our callback path to the client has since failed for some reason, then our only chance to inform the client of this is to return the cb_path_down error next time the client attempts to renew its state. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify find_openstateowner_str There's no need to return duplicate information through the return value and an argument. Other minor cleanup. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: simplify find functions Fix "find" functions that use return value redundantly. Calculate hashes on demand. Miscellaneous kernel style. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: return callback_ident in callbacks Pass the callback_ident received in SETCLIENTID to the CB_RECALL rpc. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove incorrect kfree from callback Remove incorrect kfree. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: make nfsd4_cb_recall return void The return value of nfsd4_cb_recall isn't really used (and the errors we were returning were incorrect anyway). Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix callback cred refcnt leak The rpc creds we look up in the callback code need puts. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: use sync rpc for delegation recall Use a synchronous rpc for the delegation recall. This is simpler and avoids putting rpciod to sleep for 2 seconds on retries. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: trivial callback cleanup Whitespace, etc. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: nfs4_cb_recall cleanup Miscellaneous cleanup including: remove recursion use a local variable instead of dl_recall_cnt Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove dl_recall_cnt We don't need dl_recall_cnt any more, we're just using a local variable in nfsd4_cb_recall. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: rename release_stateid_lockowner The name makes it sounds like the job of this function is to release a single lockowner; the plural seems clearer. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: keep lockowners off perclient list There's no reason to have the lockowners hang off the same list on the client struct as the openowners do; you can always get to the lockowners from their original openowners instead. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix laundromat delegation reaping The laundromat is freeing any delegation it finds in the RECALL_COMPLETE state. But note that RECALL_COMPLETE is the state that the delegation recall callback leaves the state in. We shouldn't actually be giving up on the delegation till either the client has had a chance to call delegreturn, or the lease time has run out. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove st_vfs_set Note st_vfs_set is redundant; we can always just check whether st_vfs_file is set. Fix one inconsistency along the way: we were setting st_vfs_file to 0 in one case without fput()'ing st_vfs_file. It doesn't appear there was a need to do either one in that case. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove st_vfs_file checks The st_vfs_file field *must* be non-NULL as long as the stateid is in use, so there's no point testing for it, unless we want to just BUG(). But since we'd immediately hit a NULL dereference in every case, there's no need even for that. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix cb-race We weren't taking the reference count in the delegation recall thread until we'd already started the new delegation thread (and possibly returned from the break_lease callback). That's too late. Also document some assumptions. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix delegation refcounting The delegation recall callback is setting the REAP_DELEGATION state when it drops the reference count to zero instead of just freeing the thing itself, which is needlessly complicated and bug-prone. It's simpler just to define a nfs4_put_delegation() which works in the usual way and have the delegation recall code do call that itself. Eventually I'll convert all the nfsd4 state reference counts to struct krefs which will be harder to abuse in this way.... Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: reorganize release_deleg Just separate part of release_deleg into a separate function. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: store-file-with-deleg The only reason we're keeping a pointer to the stateid in the delegation is so we can get at st_vfs_file. So we should just keep a pointer to the struct file instead. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix delegation filp sharing The st_vfs_file pointer is set when the open that originally got the delegation is closed, and then in release_deleg we attempt to distinguish between the case when the original open has been closed and when it hasn't. The resulting logic is complicated and buggy. It's much simpler just to keep a reference count on the struct file. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] generic Power Management for IDE devices Move PM code from ide-cd.c and ide-disk.c to IDE core so: * PM is supported for other ATAPI devices (floppy, tape) * PM is supported even if specific driver is not loaded Also s/HWIF(drive)/drive->hwif/ while at it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix sleep under spinlock We shouldn't be calling release_deleg under a spinlock. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: allow io to use deleg stateid file Allow io using a delegation stateid to proceed without the need to reopen the file, as is done already with open stateid's. Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: remove dl_state The dl_state flag isn't actually useful. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix delegation refcount leak It is the responsibility of the code that runs in the do_recall thread to drop the reference to the delegation. So if we fail to run that thread, then we need to do it ourselves here. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: fix_release_state_owner prototype Note that the second parameter is unused. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] locks: remove unnecessary BUG() We get a NULL dereference here anyway, no need to BUG() explicitly. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: move delegation decisions to lock_manager callbacks Remove nfs4_check_deleg_recall(). Move its checks into __setlease() via two new lock_manager callbacks, fl_mylease and fl_change, so that all leases (not just NFSv4 lease as with nfs4_check_deleg_recall) are checked. Default implementations of fl_mylease and fl_change are provided for the sake of the fcntl_setlease interface. Both callbacks must always be defined. fl_mylease: for the NFSv4 server, this check is used to see if an existing lease comes from the same client. For the fcntl_setlease interface, the existing logic is preserved. the fl_mylease check sees if the existing lease is from the input filp. fl_change: called if the fl_mylease returns true the NFSv4 server does not hand out a delegation to a client that already has one. -EAGAIN is returned. Otherwise lease_modify is used. For the fcntl_setlease interface, the exisiting logic is preserved: The callback used in lease_modify(). Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd4: eliminate unnecessary remove_lease Get rid of remove_lease, use setlease() with F_UNLCK Signed-off-by: Andy Adamson <andros@citi.umich.edu> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] nfsd: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <gam3@gam3.net> [PATCH] Fix error reported by nfsd which it gets ETXTBSY ETXTBSY doesn't have a direct anaolog in NFS, so just map it to nfserr_io. As this is the default error code this does not change the operation of nfsd. It only reduces logging. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bfields@fieldses.org> [PATCH] nfs4: Error checking on the results of nfsd4_lookupcred() Removing the spurious (!clnt) check, as in the following, will also simplify that conflict resolution a bit. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] fat: fix writev(), add aio support With Christoph Hellwig <hch@lst.de> These patches adds the `-o sync' and `-o dirsync' supports to fatfs. If user specified that option, the fatfs does traditional ordered updates by using synchronous writes. If compared to before, these patches will show a improvement of robustness I think. `-o sync' - writes all buffers out before returning from syscall. `-o dirsync' - writes the directory's metadata, and unreferencing operations of data block. remaining to be done fat_generic_ioctl(), fat_notify_change(), ATTR_ARCH of fat_xxx_write[v], and probably, filling hole in cont_prepare_write(), NOTE: Since fatfs doesn't have link-count, unfortunately ->rename() is not safe order at all. It may make the shared blocks, but user shouldn't lose the data by ->rename(). If you test this, please use the dosfstools at http://www.zip.com.au/~akpm/linux/patches/stuff/fatfsprog... This is fixing several bugs of dosfstools. And "2/29" patch from hpa adds new ioctl, the attached archive is also including the commands for testing it. This patch fixes vectored write support on fat to do the nessecary non-standard action done in write() aswell. Also adds aio support and makes read/write wrappers around the aio version. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Updated FAT attributes patch This updates the FAT attributes as well as (hopefully) corrects the handling of VFAT ctime. The FAT attributes are implemented as a 32-bit ioctl, per the previous discussions. Signed-Off-By: H. Peter Anvin <hpa@zytor.com> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: fat_readdirx() with dotOK=yes fix In the case of dotsOK, re-initialization of "ptname" pointer is needed, otherwise, "ptname" is pointing the previous start position. This fixes it. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] let fat handle MS_SYNCHRONOUS flag Adds MS_SYNCHRONOUS flag support. Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Rewrite the FAT (File Allocation Table) access stuff In order not to write the same block repeatedly, rewrite the FAT entry access stuff. And this separates the "allocate the cluster" and "link to cluster chain" operations for expanding the file/dir safely. (fat_alloc_clusters() allocates the cluster, and fat_chain_add() links allocated cluster to the chain which inode has.) Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: add debugging code to fatent.c Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] fix some rare ide-default vs ide-disk races Some rare races between ide-default and ide-disk are possible, i.e.: * ide-default is used, I/O request is triggered (ie. /proc/ide/hd?/identify), drive->special is cleared silently (so CHS is not initialized properly), ide-disk is loaded and fails if drive uses CHS * ide-disk is used, drive is resetted, ide-disk is unloaded, ide-default takes control over drive and on the first I/O request silently clears drive->special without restoring settings Fix them by moving idedisk_{special,pre_reset}() and company to IDE core. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use "unsigned int" for ->free_clusters and ->prev_free This changes ->free_clusters and ->prev_free from "int" to "unsigned int". These value should be never negative value (but it's using 0xffffffff(-1) as undefined state). With this changes, fatfs would handle the corruption of free_clusters more proper. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: "struct vfat_slot_info" cleanup Add "struct fat_slot_info" for updating data of the directory entries. 1) Rename "struct vfat_slot_info" to "struct fat_slot_info" 2) Add "de" and "bh" to fat_slot_info instead of using argument. 3) Replace the "vfat_slot_info + de + bh" by new fat_slot_info Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use "struct fat_slot_info" for fat_search_long() The fat_search_long() provide the "struct fat_slot_info" by this change. So, vfat_find() became to be enough simple, and it just returns 0 or error. And the error check of vfat_find() is also simplify. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Add fat_remove_entries() This changes the fat_slot_info->nr_slot, now it's total counts which include a shortname entry. And this adds a fat_remove_entries() which use the ->nr_slots. In order not to write out the same block repeatedly, fat_remove_entries() was rewritten from vfat_remove_entries(). Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: fat_build_inode() cleanup Just use ERR_PTR() instead of getting the error code by additional argument. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use "struct fat_slot_info" for fat_scan() Use "struct fat_slot_info" for fat_scan(). But ".." entry can not provide valid informations for inode, so add the fat_get_dotdot_entry() as special case. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use "struct fat_slot_info" for msdos_find() The msdos_find() provide the "struct fat_slot_info". Then some cleanups. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: vfat_build_slots() cleanup With this, the vfat_build_slots() builds the completely data including the timestamp and cluster. (But this is not using "cluster", it's not complete yet) Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use a same timestamp on some operations path Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: msdos_rename() cleanup Cleans up the msdos_rename(). (use the logic similar to vfat_rename().) Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: msdos_add_entry() cleanup The msdos_add_entry() use similar interface to vfat_add_entry(). And use a same timestamp on some operations path. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Allocate the cluster before adding the directory entry With this change, ->mkdir() uses the correct updating order. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Rewrite fat_add_entries() In order not to write out the same block repeatedly, rewrite the fat_add_entries(). Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use fat_remove_entries() for msdos Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: make the fat_get_entry()/fat__get_entry() static Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: "i_pos" cleanup The "i_pos" can calculate later, so this makes the "i_pos" when it's needed. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Remove the multiple MSDOS_SB() call Since MSDOS_SB() is inline function, it increases text size at each calls. I don't know whether there is __attribute__ for avoiding this. This removes the multiple call. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Remove unneed mark_inode_dirty() Some mark_inode_dirty() is unneeded. Those are already detached (it's not written) or change a ->i_nlink count only (fatfs don't have). Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Fix fat_truncate() Instead of mark_inode_dirty(inode); if (IS_SYNC(inode)) fat_sync_inode(inode); use this if (IS_SYNC(inode)) fat_sync_inode(inode); else mark_inode_dirty(inode); And if occurs a error, restore the ->i_start and ->i_logstart. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>- Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Fix fat_write_inode() Fix a missing error check for sync_buffer_dirty(). Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Use synchronous update for {vfat,msdos}_add_entry() Use the synchronous updates, in order to guarantee that the writing to a disk is completeing when a system call returns. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Update ->rename() path a) If old_dir == new_dir, we don't need to update the ".." entry, so this doesn't touch it if unneeded. b) old algorithm is using 1) add a new entry (doen't point the data cluster yet). 2) remove a old entry. 3) switch the data cluster to new entry. 4) update a ".." entry this order lose the data cluster when between 2) and 3). Instead of above, this is using 1) add a new entry (doen't point the data cluster yet). 2) switch the data cluster to new entry. 3) update a ".." entry if needed. 4) remove a old entry. this order would not lose the data cluster, but on disk metadata is corrupted on some point (later, fsck would recover this corruption without losing the data). c) use synchronous update. d) Fix the corrupted directory check created by 1 of new algorithm. 1) Fix fat_bmap(). If directory's ->i_start == 0, fat_bmap() is handling it as root directory, this removes that strange behavior. 2) On mkdir() path if directory's ->i_start == 0, returns -EIO. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] FAT: Fix typo Add a `:'. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pj@sgi.com> [PATCH] new bitmap list format (for cpusets) [This is a copy of the bitmap list format patch that I submitted to lkml on 9 Aug 2004, after removing the prefix character fluff^Wstuff. I include it here again just to get it associated with the current cpuset patch, which will follow in a second email 10 seconds later. -pj] A bitmap print and parse format that provides lists of ranges of numbers, to be first used for by cpusets (next patch). Cpusets provide a way to manage subsets of CPUs and Memory Nodes for scheduling and memory placement, via a new virtual file system, usually mounted at /dev/cpuset. Manipulation of cpusets can be done directly via this file system, from the shell. However, manipulating 512 bit cpumasks or 256 bit nodemasks (which will get bigger) via hex mask strings is painful for humans. The intention is to provide a format for the cpu and memory mask files in /dev/cpusets that will stand the test of time. This format is supported by a couple of new lib/bitmap.c routines, for printing and parsing these strings. Wrappers for cpumask and nodemask are provided. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] kill ide_driver_t->pre_reset Add ide_drive_t->post_reset flag and use it to signal post reset condition to the ide-tape driver (the only user of ->pre_reset). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <pj@sgi.com> [PATCH] cpusets - big numa cpu and memory placement This my cpuset patch, with the following changes in the last two weeks: 1) Updated to 2.6.8.1-mm1 2) [Simon Derr <Simon.Derr@bull.net>] Fix new cpuset to begin empty, not copied from parent. Needed to avoid breaking exclusive property. 3) [Dinakar Guniguntala <dino@in.ibm.com>] Finish initializing top cpuset from cpu_possible_map after smp_init() called. 4) [Paul Jackson <pj@sgi.com>] Check on each call to __alloc_pages() if the current tasks cpuset mems_allowed has changed. Use a cpuset generation number, bumped on any cpuset memory placement change, to make this check efficient. Update the tasks mems_allowed from its cpuset, if the cpuset has changed. 5) [Paul Jackson <pj@sgi.com>] If a task is moved to another cpuset, then update its cpus_allowed, using set_cpus_allowed(). 6) [Paul Jackson <pj@sgi.com>] Update Documentation/cpusets.txt to reflect above changes (4) and (5). I continue to recommend the following patch for inclusion in your 2.6.9-*mm series, when that opens. It provides an important facility for high performance computing on large systems. Simon Derr of Bull (France) and myself are the primary authors. Erich Focht has indicated that NEC is also a potential user of this patch on the TX-7 NUMA machines, and that he "would very much welcome the inclusion of cpusets." I offer this update to lkml, in order to invite continued feedback. The one prerequiste patch for this cpuset patch was just posted before this one. That was a patch to provide a new bitmap list format, of which cpusets is the first user. This patch has been built on top of 2.6.8.1-mm1, for the arch's: i386 x86_64 sparc ia64 powerpc-405 powerpc-750 sparc64 with and without CONFIG_CPUSET. It has been booted and tested on ia64 (sn2_defconfig, SN2 hardware). The 'alpha' arch also built, except for what seems to be an unrelated toolchain problem (crosstool ld sigsegv) in the final link step. === Cpusets provide a mechanism for assigning a set of CPUs and Memory Nodes to a set of tasks. Cpusets constrain the CPU and Memory placement of tasks to only the processor and memory resources within a tasks current cpuset. They form a nested hierarchy visible in a virtual file system. These are the essential hooks, beyond what is already present, required to manage dynamic job placement on large systems. Cpusets require small kernel hooks in init, exit, fork, mempolicy, sched_setaffinity, page_alloc and vmscan. And they require a "struct cpuset" pointer, a cpuset_mems_generation, and a "mems_allowed" nodemask_t (to go along with the "cpus_allowed" cpumask_t that's already there) in each task struct. These hooks: 1) establish and propagate cpusets, 2) enforce CPU placement in sched_setaffinity, 3) enforce Memory placement in mbind and sys_set_mempolicy, 4) restrict page allocation and scanning to mems_allowed, and 5) restrict migration and set_cpus_allowed to cpus_allowed. The other required hook, restricting task scheduling to CPUs in a tasks cpus_allowed mask, is already present. Cpusets extend the usefulness of, the existing placement support that was added to Linux 2.6 kernels: sched_setaffinity() for CPU placement, and mbind() and set_mempolicy() for memory placement. On smaller or dedicated use systems, the existing calls are often sufficient. On larger NUMA systems, running more than one, performance critical, job, it is necessary to be able to manage jobs in their entirety. This includes providing a job with exclusive CPU and memory that no other job can use, and being able to list all tasks currently in a cpuset. A given job running within a cpuset, would likely use the existing placement calls to manage its CPU and memory placement in more detail. Cpusets are named, nested sets of CPUs and Memory Nodes. Each cpuset is represented by a directory in the cpuset virtual file system, normally mounted at /dev/cpuset. Each cpuset directory provides the following files, which can be read and written: cpus: List of CPUs allowed to tasks in that cpuset. mems: List of Memory Nodes allowed to tasks in that cpuset. tasks: List of pid's of tasks in that cpuset. cpu_exclusive: Flag (0 or 1) - if set, cpuset has exclusive use of its CPUs (no sibling or cousin cpuset may overlap CPUs). mem_exclusive: Flag (0 or 1) - if set, cpuset has exclusive use of its Memory Nodes (no sibling or cousin may overlap). notify_on_release: Flag (0 or 1) - if set, then /sbin/cpuset_release_agent will be invoked, with the name (/dev/cpuset relative path) of that cpuset in argv[1], when the last user of it (task or child cpuset) goes away. This supports automatic cleanup of abandoned cpusets. In addition one new filetype is added to the /proc file system: /proc/<pid>/cpuset: For each task (pid), list its cpuset path, relative to the root of the cpuset file system. This file is read-only. New cpusets are created using 'mkdir' (at the shell or in C). Old ones are removed using 'rmdir'. The above files are accessed using read(2) and write(2) system calls, or shell commands such as 'cat' and 'echo'. The CPUs and Memory Nodes in a given cpuset are always a subset of its parent. The root cpuset has all possible CPUs and Memory Nodes in the system. A cpuset may be exclusive (cpu or memory) only if its parent is similarly exclusive. See further Documentation/cpusets.txt, at the top of the following patch. /proc interface: It is useful, when learning and making new uses of cpusets and placement to be able to see what are the current value of a tasks cpus_allowed and mems_allowed, which are the actual placement used by the kernel scheduler and memory allocator. The cpus_allowed and mems_allowed values are needed by user space apps that are micromanaging placement, such as when moving an app to a obtained by that app within its cpuset using sched_setaffinity, mbind and set_mempolicy. The cpus_allowed value is also available via the sched_getaffinity system call. But since the entire rest of the cpuset API, including the display of mems_allowed added here, is via an ascii style presentation in /proc and /dev/cpuset, it is worth the extra couple lines of code to display cpus_allowed in the same way. This patch adds the display of these two fields to the 'status' file in the /proc/<pid> directory of each task. The fields are only added if CONFIG_CPUSETS is enabled (which is also needed to define the mems_allowed field of each task). The new output lines look like: $ tail -2 /proc/1/status Cpus_allowed: ffffffff,ffffffff,ffffffff,ffffffff Mems_allowed: ffffffff,ffffffff Signed-off-by: Dinakar Guniguntala <dino@in.ibm.com> Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Simon Derr <simon.derr@bull.net> Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pj@sgi.com> [PATCH] cpusets: make CONFIG_CPUSETS the default in sn2_defconfig Make CONFIG_CPUSETS enabled by default in sn2_defconfig. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <alan@lxorguk.ukuu.org.uk> [PATCH] Ressurrect the esp serial driver Another first pass rescue run. Fix up for modern locking, make it build and check over. It could still do with other fixes (sleep_on etc) but it's a start Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@gawab.com> [PATCH] radeonfb: Fix spurious error return in FBIO_RADEON_SET_MIRROR FBIO_RADEON_SET_MIRROR always returns with -EINVAL even if successful due to an inappropriate fall-through. Signed-off-by: Andreas Schwab <schwab@suse.de> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@gawab.com> [PATCH] w100fb: Make blanking function interrupt safe w100fb bugfix: The blanking function used vmalloc/vfree which isn't interrupt safe. To avoid problems, switch to kmalloc/kfree and use several buffers to avoid kmalloc size limitations. Signed-off-by: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@gawab.com> [PATCH] kyrofb: copy_*_user return value checks added to kyro fb Here's a patch that makes sure the return value of copy_from/to_user gets checked and handled in drivers/video/kyro/fbdev.c It also updates a comment at the top of the file that lists the files name and location. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lucasvr@gobolinux.org> [PATCH] skeletonfb: Documentation fixes This patch just fixes some typos and adds retval documentation for some functions that were missing it. I've also a question here: skeletonfb says that xxxfb_setcolreg() should return a negative errno on error. However, if the register number being accessed is out of bounds, 1 is returned. Shouldn't it be better to return -EINVAL instead? By looking at fbcmap.c, the retval isn't being checked against positive/negative values, so it doesn't make sense to return 1. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@gawab.com> [PATCH] intelfb: Add partial support 915G chipset Add (partial) support for 915G No HW cursor at the moment Screen is blanked but signal/sync is not switched off Mostly derived from XFree86/Xorg driver Pass "vesa_modes" and VESA_MODEDB_SIZE in call to "fb_find_mode()" to allow loading as module. Makes "vesa_modes" also the default "modedb" when linking statically into the kernel. Change PREFERRED_MODE to more reasonable value "1024x768-32@70" Signed-off-by: Axel Buttchereit <XL@XLsigned.net> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] fbdev compat_ioctl warning fix Fix some confusion over fbdev compat_ioctl return types - compat_ioctls return `long'. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] sis warning fix drivers/video/sis/sis_main.c: In function `sisfb_compat_ioctl': drivers/video/sis/sis_main.c:2204: warning: implicit declaration of function `lock_kernel' Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] tridentfb.c: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] tridentfb warning fix drivers/video/tridentfb.c:1219: warning: `tridentfb_setup' declared `static' but never defined Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] intelfb: vesa_modes require CONFIG_FB_MODEHELPERS The recent intelfb update made intelfb pass vesa_modes as the database to fb_find_mode(). The array vesa_modes depends on CONFIG_FB_MODEHELPERS. Fix Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] fbdev: Logo code fixes This patch fixes a few bugs with the low level logo code. 1. Allow DEC Alpha machines to draw the DEC logo 2. Cleanup the logo directory on a make clean 3. Some makefile cleanups. I have tested on my local machines. I like to be able to create the C files from the logos for only the ones we want to compile but I haven't figured out how to do that. That can wait. Please apply. Signed-off-by: James Simmons <jsimmons@www.infradead.org> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <dvrabel@arcom.com> [PATCH] fbdev: Kbuild cleanups This set of two patches add new options (FB_CFB_IMAGEBLIT, FB_CFB_FILLRECT, FB_CFB_COPYAREA, FB_SOFT_CURSOR) to the framebuffer Kconfig to enable building the generic software cfbfillrect, cfbcopyarea, cfbimageblt and softcursor objects. This cuts out a lot of stuff from the Makefile and allows drivers in their own directory to be more self-contained. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] geodefb: Add Geode framebuffer driver Attached is a patch (against 2.6.10) for a framebuffer driver for the Geode family of processors. It does not use AMD's horrible Durango API. It is, however, rather feature incomplete at the moment. * Only Geode GX1 (with CS5530 companion chip) is supported. * Tested resolutions: 640x480 to 1280x1024. * Supported bit depths: 8 bit palette, 16 bit RGB 5-6-5. * CRT output only. * No accelerated features. * Compression is not enabled. * flat panel support (panel=<x>x<y> option). (Only one 640x480 panel has been tested though.) * blank function for display blanking/powersaving. * crt=<n> option to enable/disable the CRT output. From: Alexey Dobriyan <adobriyan@mail.ru> Fix drivers/video/geode/display_gx1.c: error: `loops_per_jiffy' undeclared (first use in this function) drivers/video/geode/video_cs5530.c: error: `loops_per_jiffy' undeclared (first use in this function) Signed-off-by: David Vrabel <dvrabel@arcom.com> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Alexey Dobriyan <adobriyan@mail.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] nvidiafb: Add update framebuffer driver for nVidia chipsets Because nVidia keeps pumping out new graphics chipsets, it is becoming harder to add support for these with the old rivafb code. Currently, rivafb can properly support NV_ARCH_20 chipsets and older. Instead of rewriting rivafb to support the latest chipsets, I've decided to write a new driver, called nvidiafb. The aim is to closely follow Xorg development. Currently, this driver is based on the most recent CVS Xorg nv driver. Main - console acceleration for all chipsets - uses DMA instead of PIO - better LCD/digital output support - better monitor detection - support for Riva128 will be dropped as it cannot do DMA, rivafb will remain as the driver for this chipset It should work with Xorg/XFree86 nv driver, but as with rivafb, is not compatible with the proprietary nvidia driver. Once the code becomes stable, rivafb code will be trimmed to only support the Riva128 and perhaps some of the older chipsets. The code has been tested on several nVidia graphics card on x86 and x86_64. I'm still waiting for feedback from Guido Guenther regarding ppc. This need not go to mainline immediately, as I would prefer the code to receive rigorous testing in the mm tree. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] fbdev: Generic drawing function cleanups From Ulrich Eckhardt: * removed trailing whitespace * use helper function for common bitwise operations * fixed several cases where either the wrong mask was used for bitops or the mask was computed falsely, messing up <32 BPP support * added self-tests for bitcpy_rev() algorithm in module-init function * no need to use explicitly sized integers in some cases * added a few comments where things weren't obvious to me I tested these changes on an Au1100 based board, using the patches to its framebuffer code that were posted here by Christian Pellegrin[1]. I had this code working both on a 16BPP color LCD and a 4BPP monochrome one. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] radeonfb: Disable AGP on suspend This patch improves reliability of suspend/resume by making sure AGP is disabled on the radeon chip before putting it into a suspend state. It works in conjunction with the uninorth-agp suspend patch, but should be harmless on machines with a different AGP bridge. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] aty128fb: Disable AGP on suspend This patch improves reliability of suspend/resume by making sure AGP is disabled on the Rage 128 chip before putting it into a suspend state. It works in conjunction with the uninorth-agp suspend patch, but should be harmless on machines with a different AGP bridge. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc32: uninorth-agp suspend support This patch adds suspend/resume support to the Apple UniNorth AGP bridge to make sure AGP is properly disabled when the machine goes to sleep. Without this, the r300 based laptops will fail to wakeup from sleep when using the new experimental r300 DRI driver. It should also improve reliablility in general with other chips. Unfortunately, uninorth-agp is just a "sibling" of the video chip on the PCI bus, and thus ends up beeing called either before the video chip suspend routine, or after, depending on the HW layout or other random things. To make sure the device side of AGP is always disabled first and that we never touch the device after having put it into D2 state (which can be deadly), I also need the separate patch to radeonfb and aty128fb which will make them disabled their own side if not already done by the bridge driver. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jonsmirl@gmail.com> [PATCH] fbdev: Add mode changing via sysfs This is a first pass at adding two new sysfs attributes to /sys/class/graphics/fb0 for setting modes. There are two attributes: modes which contains a list of valid modes, and mode which is the current mode. To switch modes echo one of the entries from the modes list to the mode attribute. The D,V,S on the modes represents Detailed, Vesa, Standard from the DDC info. modes is root writable. It can also be used to set the list of modes. For example a /etc file could add modes that are not in the monitor's DDC. mode is user writable. PAM would set ownership of mode at user login time. This provides a safe way for a user to set the mode without being root. You can only set the mode to one of the modes on the list. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] fbdev: Capture modelist change event Add capability to change private modelist. It checks if the entries in the new modelist are acceptable, and if not, trimmed from the modelist. Also added a new event, FB_EVENT_NEW_MODELIST, sent by fbmem, and captured by fbcon to resize all consoles, if need be. Requires minor changes to new functions, ie, fb_get_color_depth(). Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] fbcon: Cursor fixes From Jiri Benc: we found several bugs in framebuffer console code in recent kernels. 1. The escape sequence '\033[?25l' does not work (should disable cursor). 2. When scrolling console using Shift-PgUp with cursor in the upper half part of the screen, cursor position is not updated. 3. If cursor is placed at some character and console is scrolled using Shift-PgUp, that character remains on the screen. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] rivafb: Fix i2c error handling Fixed error handling in rivafb-i2c.c if bus registration fails. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] nvidiafb: Fix i2c error handling Fixed error handling in rivafb-i2c.c if bus registration fails. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] nvidiafb: Some chipsets need a buffer pitch divisible by 64 The Geforce2 cards crashes at 800x600-8, but not at 640x480 or 1024x768. Changing the xres_virtual to be divisible by 64 fixes the problem. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] kill ide_driver_t->capacity * add private /proc/ide/hd?/capacity handlers to ide-{cd,disk,floppy}.c * use generic proc_ide_read_capacity() for ide-{scsi,tape}.c * kill ->capacity, default_capacity() and generic_subdriver_entries[] Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <jsimmons@www.infradead.org> [PATCH] fbdev: Generic drawing function cleanups 2 Replaced LONG_MASK, SHIFT_PER_LONG, BYTES_PER_LONG with dynamic variables. This will allow drivers in the future to control how much data to read/write from the framebuffer. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jonsmirl@gmail.com> [PATCH] fbdev: Allow core fb to be built as a module Allow the framebuffer core to be built as a module to ease debugging. Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] savagefb: Make savagefb one module #if defined(CONFIG_FB_SAVAGE_ACCEL) doesn't work with FB_SAVAGE_ACCEL=m, and #if defined(CONFIG_FB_SAVAGE_ACCEL) || defined(CONFIG_FB_SAVAGE_ACCEL_MODULE) would break with FB_SAVAGE=y and FB_SAVAGE_ACCEL=m. Rename savagefb.c to savagefb_driver.c. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <adaplas@hotpop.com> [PATCH] fbdev: Cleanups in driver/video This patch contains cleanups including the following: - make needlessly global code static - remove the needlessly #ifdef MODULE from several module_exit - remove or #if 0 the following unused global functions: - fbmon.c: fb_create_modedb - fbmon.c: fb_get_monitor_limits - nvidia/nv_i2c.c: nvidia_delete_i2c_busses - nvidia/nv_setup.c: NVEnablePalette - nvidia/nv_setup.c: NVReadDacMask - remove the following unneeded EXPORT_SYMBOL's: - fbmon.c: fb_create_modedb - fbmon.c: fb_get_monitor_limits - hgafb.c: hgafb_setup Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Antonino Daplas <adaplas@pol.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] radeonfb: PLL access workaround So you remember all those weird lockups at boot that happened in late 2.6.11-rc with radeonfb. I posted a "workaround" which just moved code around a bit and it appeared to work. I finally got some real infos about the problem from ATI, and it seems my "workaround" is not very safe and there are other potential issues realted to HW bugs when accessing the PLL registers. This patch implements all of these workarounds (and puts back the code where it was before my previous fix). Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] asiliantfb: eliminate bad section references asiliantfb refers to __initdata that should be __devinitdata and calls __init functions that should be __devinit; Error: ./drivers/video/asiliantfb.o .text refers to 00000000000006ee R_X86_64_32S .init.data+0x00000000000000a0 Error: ./drivers/video/asiliantfb.o .text refers to 0000000000000711 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] atyfb: eliminate bad section references Fix atyfb references to __initdata from .text code sections by changing __initdata to __devinitdata. Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002416 R_X86_64_32S .init.data+0x00000000000004a0 Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002514 R_X86_64_32S .init.data Error: ./drivers/video/aty/atyfb_base.o .text refers to 000000000000253e R_X86_64_32S .init.data+0x0000000000000060 Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026c4 R_X86_64_32S .init.data+0x00000000000004a0 Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026e7 R_X86_64_32S .init.data+0x0000000000000070 Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026ee R_X86_64_32S .init.data+0x0000000000000068 Error: ./drivers/video/aty/atyfb_base.o .text refers to 00000000000026fa R_X86_64_32S .init.data+0x0000000000000074 Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002706 R_X86_64_32S .init.data+0x0000000000000078 Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002712 R_X86_64_32S .init.data+0x000000000000007c Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002afb R_X86_64_32S .init.data+0x0000000000000560 Error: ./drivers/video/aty/atyfb_base.o .text refers to 0000000000002baa R_X86_64_32S .init.data+0x00000000000004c0 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] imsttfb: eliminate bad section references Fix imsttfb section references: change __initdata to __devinitdata and __init to __devinit. Error: ./drivers/video/imsttfb.o .text refers to 000000000000103b R_X86_64_32S .init.data+0x0000000000000040 Error: ./drivers/video/imsttfb.o .text refers to 0000000000001049 R_X86_64_32S .init.data+0x0000000000000041 Error: ./drivers/video/imsttfb.o .text refers to 0000000000001064 R_X86_64_32S .init.data Error: ./drivers/video/imsttfb.o .text refers to 0000000000001071 R_X86_64_32S .init.data+0x0000000000000001 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] kyro: eliminate bad section references Fix kyro sections references by changing __initdata to __devinitdata. Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000692 R_X86_64_PC32 .init.data+0x000000000000090c Error: ./drivers/video/kyro/fbdev.o .text refers to 00000000000006c2 R_X86_64_PC32 .init.data+0x0000000000000914 Error: ./drivers/video/kyro/fbdev.o .text refers to 00000000000006d1 R_X86_64_PC32 .init.data+0x0000000000000934 Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000709 R_X86_64_PC32 .init.data+0x0000000000000934 Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000711 R_X86_64_PC32 .init.data+0x000000000000093c Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000727 R_X86_64_PC32 .init.data+0x000000000000090c Error: ./drivers/video/kyro/fbdev.o .text refers to 000000000000072d R_X86_64_PC32 .init.data+0x0000000000000914 Error: ./drivers/video/kyro/fbdev.o .text refers to 000000000000073f R_X86_64_PC32 .init.data+0x00000000000008eb Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000748 R_X86_64_PC32 .init.data+0x0000000000000914 Error: ./drivers/video/kyro/fbdev.o .text refers to 000000000000075b R_X86_64_PC32 .init.data+0x000000000000090c Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000778 R_X86_64_32S .init.data+0x0000000000000900 Error: ./drivers/video/kyro/fbdev.o .text refers to 000000000000077e R_X86_64_PC32 .init.data+0x00000000000008e7 Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000793 R_X86_64_PC32 .init.data+0x0000000000000926 Error: ./drivers/video/kyro/fbdev.o .text refers to 000000000000079b R_X86_64_PC32 .init.data+0x00000000000008e3 Error: ./drivers/video/kyro/fbdev.o .text refers to 00000000000007a6 R_X86_64_PC32 .init.data+0x0000000000000928 Error: ./drivers/video/kyro/fbdev.o .text refers to 00000000000007f1 R_X86_64_PC32 .init.data+0x00000000000008dc Error: ./drivers/video/kyro/fbdev.o .text refers to 00000000000007f8 R_X86_64_32S .init.data+0x0000000000000420 Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000805 R_X86_64_32S .init.data+0x00000000000000a0 Error: ./drivers/video/kyro/fbdev.o .text refers to 0000000000000834 R_X86_64_32S .init.data Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] neofb: eliminate bad section references Fix neofb section reference to __initdata: make it __devinitdata. Error: ./drivers/video/neofb.o .text refers to 0000000000001fb4 R_X86_64_PC32 .init.data+0xfffffffffffffffc Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] pm2fb: eliminate bad section references Fix pm2fb section references by changing referenced __initdata to __devinitdata. Error: ./drivers/video/pm2fb.o .text refers to 0000000000000ad4 R_X86_64_PC32 .init.data+0x0000000000000007 Error: ./drivers/video/pm2fb.o .text refers to 0000000000000afc R_X86_64_PC32 .init.data+0x0000000000000003 Error: ./drivers/video/pm2fb.o .text refers to 000000000000147e R_X86_64_PC32 .init.data+0x00000000000000bc Error: ./drivers/video/pm2fb.o .text refers to 0000000000001491 R_X86_64_PC32 .init.data+0x00000000000000c2 Error: ./drivers/video/pm2fb.o .text refers to 000000000000149a R_X86_64_PC32 .init.data+0x00000000000000bc Error: ./drivers/video/pm2fb.o .text refers to 00000000000014aa R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/pm2fb.o .text refers to 00000000000014e0 R_X86_64_PC32 .init.data+0x00000000000000f8 Error: ./drivers/video/pm2fb.o .text refers to 00000000000014eb R_X86_64_PC32 .init.data+0x00000000000000f4 Error: ./drivers/video/pm2fb.o .text refers to 000000000000150e R_X86_64_PC32 .init.data+0x00000000000000fc Error: ./drivers/video/pm2fb.o .text refers to 0000000000001515 R_X86_64_PC32 .init.data+0x00000000000000f4 Error: ./drivers/video/pm2fb.o .text refers to 000000000000152d R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/pm2fb.o .text refers to 00000000000015ce R_X86_64_PC32 .init.data+0x00000000000000cc Error: ./drivers/video/pm2fb.o .text refers to 00000000000015d7 R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/pm2fb.o .text refers to 00000000000015fa R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/pm2fb.o .text refers to 0000000000001601 R_X86_64_PC32 .init.data+0x00000000000000cc Error: ./drivers/video/pm2fb.o .text refers to 0000000000001644 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/pm2fb.o .text refers to 0000000000001674 R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/video/pm2fb.o .text refers to 000000000000168e R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/video/pm2fb.o .text refers to 00000000000016af R_X86_64_32S .init.data+0x0000000000000020 Error: ./drivers/video/pm2fb.o .text refers to 0000000000001724 R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/pm2fb.o .text refers to 000000000000172b R_X86_64_PC32 .init.data+0x00000000000000cc Error: ./drivers/video/pm2fb.o .text refers to 0000000000001746 R_X86_64_PC32 .init.data+0x00000000000000fc Error: ./drivers/video/pm2fb.o .text refers to 000000000000174d R_X86_64_PC32 .init.data+0x00000000000000f4 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] radeonfb: eliminate bad section references Fix radeonfb section references by changing __initdata to __devinitdata. Error: ./drivers/video/radeonfb.o .text refers to 0000000000002037 R_X86_64_PC32 .init.data+0x0000000000000003 Error: ./drivers/video/radeonfb.o .text refers to 0000000000002491 R_X86_64_PC32 .init.data Error: ./drivers/video/radeonfb.o .text refers to 0000000000002870 R_X86_64_PC32 .init.data+0x000000000000000c Error: ./drivers/video/radeonfb.o .text refers to 0000000000002a21 R_X86_64_PC32 .init.data+0xfffffffffffffffb Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] fbdev-cleanups-in-driver-video warning fixes drivers/video/cyber2000fb.c:95: warning: `default_font_storage' defined but not used drivers/video/radeonfb.c:661: warning: `mode_option' defined but not used Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] riva: eliminate bad section references Fix riva sections references: change __initdata to __devinitdata. Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001e64 R_X86_64_32S .init.data+0x0000000000000020 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001e6f R_X86_64_PC32 .init.data+0x0000000000000004 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001e7c R_X86_64_PC32 .init.data+0x0000000000000003 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001e93 R_X86_64_PC32 .init.data Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001ec6 R_X86_64_PC32 .init.data+0x000000000000005c Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001ef2 R_X86_64_PC32 .init.data+0x0000000000000034 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001f38 R_X86_64_PC32 .init.data+0x000000000000005c Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001f41 R_X86_64_PC32 .init.data+0x0000000000000054 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001f4f R_X86_64_PC32 .init.data+0x000000000000002c Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000001f94 R_X86_64_PC32 .init.data+0x000000000000002c Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000201a R_X86_64_PC32 .init.data+0x0000000000000034 Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000002035 R_X86_64_PC32 .init.data+0x0000000000000034 Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000203c R_X86_64_PC32 .init.data+0x000000000000002c Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000206b R_X86_64_PC32 .init.data+0xfffffffffffffffb Error: ./drivers/video/riva/fbdev.o .text refers to 0000000000002074 R_X86_64_PC32 .init.data+0x0000000000000034 Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000207b R_X86_64_PC32 .init.data+0x000000000000002c Error: ./drivers/video/riva/fbdev.o .text refers to 00000000000020e7 R_X86_64_32S .init.data+0x0000000000000020 Error: ./drivers/video/riva/fbdev.o .text refers to 00000000000021cb R_X86_64_32S .init.data+0x0000000000000080 Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000220f R_X86_64_PC32 .init.data+0x000000000000011c Error: ./drivers/video/riva/fbdev.o .text refers to 000000000000228e R_X86_64_32S .init.data+0x0000000000000080 Error: ./drivers/video/riva/fbdev.o .text refers to 00000000000022ea R_X86_64_PC32 .init.data+0x0000000000000007 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bzolnier@trik.(none)> [ide] kill setup_driver_defaults() * move default_do_request() to ide-default.c * fix drivers to set ide_driver_t->{do_request,end_request,error,abort} * kill setup_driver_defaults() Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> <rddunlap@osdl.org> [PATCH] sis: eliminate bad section references Fix sis section reference: change 2 __init functions to be __devinit. Error: ./drivers/video/sis/sis_main.o .text refers to 0000000000000b5b R_X86_64_PC32 .init.text+0xfffffffffffffffc Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] tdfxfb: eliminate bad section references Fix tdfxfb section references: convert __initdata to __devinitdata. Error: ./drivers/video/tdfxfb.o .text refers to 0000000000000e6f R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/video/tdfxfb.o .text refers to 0000000000000fea R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001006 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001022 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000103c R_X86_64_PC32 .init.data+0x00000000000000f4 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001067 R_X86_64_PC32 .init.data+0x00000000000000f4 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000106f R_X86_64_PC32 .init.data+0x00000000000000fc Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001084 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 00000000000010f1 R_X86_64_PC32 .init.data+0x00000000000000cc Error: ./drivers/video/tdfxfb.o .text refers to 00000000000011b8 R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/tdfxfb.o .text refers to 00000000000011c1 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000122b R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001232 R_X86_64_PC32 .init.data+0x00000000000000cc Error: ./drivers/video/tdfxfb.o .text refers to 000000000000124a R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001320 R_X86_64_PC32 .init.data+0x00000000000000d4 Error: ./drivers/video/tdfxfb.o .text refers to 0000000000001327 R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000134c R_X86_64_32S .init.data+0x00000000000000c0 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000136a R_X86_64_PC32 .init.data+0x00000000000000e6 Error: ./drivers/video/tdfxfb.o .text refers to 000000000000137d R_X86_64_PC32 .init.data+0x00000000000000e8 Error: ./drivers/video/tdfxfb.o .text refers to 00000000000013b1 R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/video/tdfxfb.o .text refers to 00000000000013c5 R_X86_64_PC32 .init.data+0xfffffffffffffffc Error: ./drivers/video/tdfxfb.o .text refers to 00000000000013e4 R_X86_64_32S .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lmb@suse.de> [PATCH] device-mapper: Store name directly against device Add a name field to struct dm_dev so we don't have to use format_dev_t() all over the place for informative error messages. Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: Record & restore bio state. Simple functions to record and restore bio state so we can resubmit a bio that returned an error. DM multipath (following shortly) uses this. This patch has it private to device-mapper: is it any use elsewhere? Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: Export map_info Export map_info (part of bio->bi_private) for targets like multipath to use for storing context. Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: multipath The core device-mapper multipath and path-selector code. Paths are grouped into an ordered list of Priority Groups. Each Priority Group has a Path Selector which chooses which of the Priority Group's paths is to be used for each bio e.g. according to some load-balancing algorithm. If a bio generates an error, the path that it used gets disabled and an alternative path is tried. If all the paths in a Priority Group fail, another Priority Group is selected. There are management commands fail_path and reinstate_path. A path tester (currently implemented in userspace) is responsible for monitoring paths that have failed and reinstating them should they come back. Other management commands can be use to switch immediately to a specified Priority Group or to disable a particular Priority Group so it will only be tried after there are no more left. As a last resort there is an option to 'queue_if_no_path' which queues I/O if all paths have failed e.g. temporarily during a firmware update or if the userspace daemon is slow reinstating paths. The userspace multipath tools are available at: http://christophe.varoqui.free.fr/ macroflux.png is a diagram of the current architecture. From: Alasdair G Kergon <agk@redhat.com> Don't requeue I/O repeatedly if there are no paths left and the device is in the process of being suspended, or else the suspend can never complete. Reported-By: "goggin, edward" <egoggin@emc.com> Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: multipath round-robin path selector. A very basic path selector: round-robin. It uses in turn each path that has not been disabled. By default, it instructs core multipath to use each path it supplies for 1000 bios, but a different repeat_count can be set against any path to provide primitive load-balancing across unequal paths. Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: multipath hardware handler Each multipath instance can use a Hardware Handler with hooks for the particular hardware you're using. This patch provides the hw_handler infrastructure. So far 3 hooks are available: A status function invoked by device-mapper table and status requests. An initialisation function called when a Priority Group is selected for use but before any I/O is sent to it. This function should return straight away, and I/O is queued until dm_pg_init_complete() is called indicating whether or not the initialisation was successful. The are three error flags, any or all of which may be set: MP_FAIL_PATH, MP_BYPASS_PG, MP_ERROR_IO. An error handler which gets the opportunity to decode any error that a bio generated. Patches are pending to make scsi error details available for dm_scsi_err_handler() to decode. Signed-Off-By: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: multipath hardware handler for EMC Outline Hardware Handler for EMC CLARiiON AX/CX-series. Signed-Off-By: Alasdair G Kergon <agk@redhat.com> From: Lars Marowsky-Bree <lmb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: tag multipath exports GPL Tag multipath exports GPL. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: Some code/formatting cleanups Some multipath code/formatting cleanups Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <agk@redhat.com> [PATCH] device-mapper: Some multipath fn renames Rename ctr to create etc. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <torvalds@ppc970.osdl.org> make Geode FB driver depend on X86 There seems little point in doing otherwise. <torvalds@ppc970.osdl.org> Remove empty file left over from dead cpufreq /proc interface <benh@kernel.crashing.org> [PATCH] ppc64: fix iounmap TLB flushes This patch fixes a bug in ppc64 local implementation of iounmap() that would cause it to incorrectly flush the hash table since the changes to set_pte have been applied. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ben-linux@org.rmk.(none)> [ARM PATCH] 2527/1: S3C2410 - update regs-iis.h with fifo and s3c2440 Patch from Ben Dooks Add definitions for getting FIFO usage information and the small difference for using the s3c2440. Signed-off-by: Ben Dooks Signed-off-by: Russell King <lucasvr@org.rmk.(none)> [ARM PATCH] 2528/1: S3C2410 - modifies S3C2410_{VA,SZ} to S3C24XX_{VA,SZ} Patch from Lucas Correia Villa Real This patch modifies ocurrences of S3C2410_{VA,SZ} to S3C24XX_{VA,SZ}, as well as defining S3C2400 physical mappings on include/asm-arm/arch-s3c2410/map.h. This cleans up the naming of the virtual address macros, which are fixed for all S3C24XX systems. This should clean up any confusion about whether the virtual addresses are specific to the CPU or to the arch. Signed-off-by: Lucas Correia Villa Real Signed-off-by: Ben Dooks Signed-off-by: Russell King <willy@parisc-linux.org> [PATCH] PA-RISC unwind updates - Update stale url to documentation From: Kyle McMartin <kyle@parisc-linux.org> - Make unwinding from modules work, mostly - Fix unwinding from millicode Signed-off-by: Randolph Chung <tausq@debian.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC: define SHRREG Add definition of SHRREG Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC nonatomic bitops for ext2/3 Use nonatomic bitops for ext2/3 where possible. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC DMA definitions Copy some DMA definitions from x86 to get crufty drivers to build Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC can use the generic HARDIRQ_BITS We no longer need to define our own HARDIRQ_BITS Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC readX() simplification The result from __raw_readX() can never be const so use __fswabXX() instead of cpu_to_leXX() Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC mb() definition The extraneous semicolon in mb() breaks the SMP build in the new skbuff.h From: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC preempt accounting fixes - Match other architectures by initialising preempt_count to 1. - PREEMPT_ACTIVE needs to not overlap with HARDIRQ_MASK Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC access_ok() Make access_ok an inline function to get rid of an unused variable warning Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC debuglocks _dbg_write_trylock() needs to return an int. Also update Thibaut's email address Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC IOMMU-related fixes - PCI_DMA_BUS_IS_PHYS is only true if we don't have an IOMMU. Getting this wrong results in system panics when we run out of bounce buffers. - parisc_vmerge_boundary and parisc_vmerge_max_size need to be available on all machines, not just ones with GSC. Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix panic in PA-RISC CCIO driver Ditch ccio_mem_ratio. "Ported" from similar change to sba driver. From: Joel Soete <soete.joel@tiscali.be> Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Minor changes to the PA-RISC Asp driver There can be only one Asp in the machine, so allocate its controller structure statically. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC EISA EEPROM support The EISA EEPROM driver was being initialised too early, before miscdevs can be registered. But EISA needs to be registered early -- before PCI. So stash the EEPROM address in a global variable at EISA init time, then pick it up later in the EISA EEPROM driver. Also ioremap() it, use readb instead of gsc_readb and rename the miscdev to not have a space in the name. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC misc header cleanups Indentation and header file ordering Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Remove CONFIG_PARISC64 symbol Use CONFIG_64BIT everywhere instead. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sam@mars.ravnborg.org> video/console: fix spurious rebuild kbuild does have troubles with assignmnets including '#'. The '#' is seen as a comment marker and this will in the end cause kbuild to think the commandline to build promcon_tbl.c has changed. This happens because the commandline is stored in the file: .promcon_tbl.c.cmd Although a bit complex the command to build promcon_tbl.c is unlikely to change so the workaround is to skip the check for a changed commandline. Now promcon_tbl.c is only rebuilt if the .uni file is newer than the .c file. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kbuild: Install external modules in a path relative to their own path When an external module is being built in down in a directory structure keep the relative directory when installing the module. Example: fs/ contains a Makefile used to build both modules: obj-y := myfs/ oldfs/ Install directories fs/myfs/myfs.ko => Will be installed in /lib/modules/<version>/extra/fs/myfs/ fs/oldfs/oldfs.o => Will be installed in /lib/modules/<version>/extra/fs/oldfs/ Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kconfig: Add explicit depedencies Without these I could not do make menuconfig when using O= This is the shipped rule that plays tricks here. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <trond.myklebust@fys.uio.no> NFS: Clean up nfs_permission(). Fix a bug whereby we are failing to test for permissions on opendir(). Optimize away permissions checks that request MAY_WRITE on directories. Ensure that VFS sets LOOKUP_CONTINUE before calling permission(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: Fix refcount leakage in nfs4_proc_create() Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Don't kill timers when calling rpc_restart_call() after rpc_delay() Currently, if we restart an RPC call after having set an RPC delay (for instance in the case where an NFS EJUKEBOX error has occurred) the call to rpc_delete_timer() at the top of the rpc_execute() loop will kill off our timer. This patch causes rpc_delete_timer() to detect if the rpc_task is still queued on a wait queue, and refuse to delete the timer if this is the case. Problem diagnosed by Jan Sanislo and Olaf Kirch. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: Use sizeof() instead of strlen() on string constants. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Fix return value of rpc_call_async() RPC call async is supposed to return an error if and only if it failed to run the rpc_task. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Some portmappers expect AUTH_UNIX authentication Sun's RPC library portmap client therefore defaults to AUTH_UNIX. Change our in-kernel client to follow that convention. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Remove unnecessary module refcounting The sunrpc module itself is referenced by other sources, so only the auth_gss credcaches need to increment their module refcount. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Remove unnecessary reference counting in gss downcall code. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: struct rpc_auth initialization and destruction code cleanup Move the initialization of auth->au_count into the flavour-specific code. Move the kfree(auth) into the flavour-specific code. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Move credcache-specific code out of put_rpccred() Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Make rpc_auth credential cache optional. Some RPC authentication flavours are not related to the uid (AUTH_NULL springs to mind). This patch moves control over the caching mechanism into the auth-specific code. Also ensure that expired creds are removed from the cache. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: kill cr_auth The cr_auth field is currently used only in order to figure out the name of the credential's flavour in debugging printks. Replace with a dedicated pointer in the statically allocated rpc_credops instead. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Convert RPC credcache to use hlists This will make initialization of statically allocated caches simpler. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Unify AUTH_NULL credentials There is only one AUTH_NULL "credential". Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Unify the AUTH_UNIX credential cache. AUTH_UNIX credentials really only depend on the process uid/gid/groups information. In particular there is no dependency on any strict rpc_client specific information. Might as well share them all between all RPC clients. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Shrink struct rpc_auth for those flavours that don't use the cache Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> VFS: Fix structure initialization in locks_remove_flock() Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: Add emulation of BSD flock() in terms of POSIX locks on the server This makes for an interesting situation in which programs compiled to use flock() and running on the server will not see the locks that are set by the clients. The clients will, however, see both POSIX and flock() locks set by other clients. It is the best you can do, given the limitations of the protocol. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NLM: Always use AUTH_UNIX authentication for NLM locking. Most existing servers do not implement RPCSEC_GSS for either the lockd or statd daemons. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: clean up the RPCSEC_GSS kerberos and spkm3 context import functions Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Document the format of the gssd downcalls - Document the format of the gssd downcalls - Separate out "uid" field from rest of GSS context data struct since it will not be needed for the keyring-based contexts. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPCSEC_GSS: cleanup gss_cred. gc_flavor is used only for looking up the security service, which is an integer value that never changes. Store the latter instead of the former. Fix up a couple of dodgy casts between gss_cred and rpc_cred. Replace them with the appropriate container_of(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPCSEC_GSS: Misc little cleanups. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPCSEC_GSS: Enable expiring of credentials Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Remove dependency of RPCSEC_GSS upcalls on the credential cache Ensure that credentials that are referenced by an RPC task, but that have been booted out of the credcache may still be refreshed. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Initialize the GSS context upon RPC credential creation. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: make rpcauth_lookupcred() return error codes. So we can distinguish between ENOMEM and EACCES errors. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: Clean up of rpcauth_lookupcred() and rpcauth_bindcred() Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> [NLM] fs/lockd/clntproc.c: make 2 functions static This patch makes two needlessly global functions static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> RPC: remove broken_suid mount option Remove broken_suid mount option (retry RPC after dropping privileges upon EACCES): no longer used and questionable w.r.t. security. Signed-off-by: Frank van Maarseveen <frankvm@frankvm.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS,RPC: RPC client now advertises maximum payload size The RPC client now reports the maximum payload size supported by the chosen transport method. This is something a little less than 64KB for RPC over UDP, and about 2GB - 1 for RPC over TCP. The effective rsize and wsize values are not allowed to exceed the reported maximum RPC payload size. Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> VFS: Retry pathname resolution after encountering ESTALE Add a mechanism for the VFS layer to retry pathname resolution if a file system returns ESTALE at any point during the resolution process. Pathname resolution is retried once from the first component, using all real lookup requests. This provides effective recovery for most cases where files or directories have been replaced by other remote file system clients. It also provides a foundation to build a mechanism by which file system clients can fail over transparently to a replicated server. Test-plan: Combinations of rsync and "ls -l" on multiple clients. No stale file handles should be after directory trees are replaced. Standard performance tests; little or no loss of performance is expected. Created: Fri, 11 Feb 2005 16:46:19 -0500 Signed-off-by: Chuck Lever <cel@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: catch a few extra ESTALE errors that we are currently discarding. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: Handle the NFS4ERR_CLID_INUSE error in SETCLIENTID Encode the AUTH flavour in the clientid, since AUTH_UNIX and AUTH_GSS credentials will always conflict. Then, strategy is to first retry after sleeping for a lease period. If the server then still refuses our clientid, assume we have a conflicting client, out there, and try bumping a "uniquifier" variable. Give up if we're signalled, or if we've gone through the entire range of uniquifiers... Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: Exit without Oopsing from close when servers send us crazy errors. If retrying the request is not an option, we should just set state->state and be done with it. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: NFSv4 errors in nfs4_init_client() must not leak to userland Fixes a potential Oops at mount time. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: Fix access mode checking when opening a delegated file. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: Cleanups for the network partition reclaim code Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: Add nfs4_state_recovery_ops We want to reuse the same code to recover the NFSv4 state after a server reboot, a network partition, or a failover situation. Add a structure to contain those operations will that depend on the recovery scenario under consideration. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: Allow recovery from network partitions Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFSv4: in readdir, use MOUNTED_ON_FILEID, rather than true fileid Some servers return an error if the READDIR call attempts to read the fileid of a mountpoint. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: mknod() cleanup Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: mkdir() cleanup Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: cleanup create() Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <trond.myklebust@fys.uio.no> NFS: Ensure "mount" is always interruptible and soft Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> <torvalds@ppc970.osdl.org> Revert AGP card->bridge mapping checks. They don't work, as per Ben Herrenschmidt: "device->bus may be a host bridge, which has no bus->self -> Ooops. Unfortunately, there is no sane way to match a host bridge with it's eventual "self" device if it has any. The only way would be to scan for devices of class host bridge, but that isn't even 100% reliable. The result is that the self device (AGP bridge device) is generally a sibling of the actual AGP card, which is source of interesting problems, especially with power management." Cset exclude: davej@delerium.kernelslacker.org|ChangeSet|20050223022533|52155 <jt@hpl.hp.com> [IRDA]: fix IrNET poll with empty disco log poll would improperly exit when the discovery log was empty Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: irda-usb sysfs support Forgot to convert a few usb_unlink_urb() in usb_kill_urb() <Patch from John K. Luebs> Proper sysfs support Signed-off-by: John K. Luebs <jkluebs@lu...> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: stir4200 turnaround calculation fix <Patch from John K. Luebs> Proper turnaround computations in the stir4200 driver Take care of Tx packet without IrDA metadata (speed) Signed-off-by: John K. Luebs <jkluebs@lu...> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: Mark exit code properly in VIA driver <Patch from Randy Dunlap> Mark exit code properly in VIA driver Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: arbitrary lsap connect <Original patch from Iavor Fetvadjie> allow IrDA socket to connect on arbitrary LSAPs Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: support NSC PC8738x <Original patch from Steffen Pingel> support NSC PC8738x chipset (IBM x40 & ...) Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: cleanup obsolete construct in IrCOMM cleanup some construct obsoleted by Linus's patch Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <jt@hpl.hp.com> [IRDA]: remove unneeded EXPORT_SYMBOL's from irport.c <Patch from Adrian Bunk> make needlessly global code static remove unneeded EXPORT_SYMBOL's from irport.c Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jean Tourrilhes <jt@hpl.hp.com> Signed-off-by: David S. Miller <davem@davemloft.net> <kaber@trash.net> [XFRM]: Always reroute in tunnel mode Tunnel mode packets are rerouted if the tunnel destination address is different from the original destination address, otherwise the old route is used. This is inconsistent, the old route might have been selected for a given output device or using routing by tos/fwmark. Always choose a new route in tunnel mode. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <torvalds@ppc970.osdl.org> Fix up AGP device discovery. The previous revert needed some more work to make it actually work. <paulus@samba.org> [PATCH] AGP 3.0 bogosities There are other bogosities in drivers/char/agp/generic.c. I can't believe Dave ever tested that code with an AGP 3.0 device. If you pass in a mode that has the AGP 3.0 bit set, agp_v3_parse_one() will first clear that bit (and print a message), and then complain because you haven't got that bit set in the mode, with a message that the caller is broken. Furthermore, if the mode passed in has both the 4x and 8x bits set, the new code will give you 4x where the old code would give you 8x (which is what the caller wanted). The patch below fixes this. It will work in the 99.99% of cases where we have one AGP bridge and one AGP video card. We should eventually cope with multiple AGP bridges, but doing the matching of bridges to video cards is a hard problem because the video card is not necessarily a child or sibling of the PCI device that we use for controlling the AGP bridge. I think we need to see an actual example of a system with multiple AGP bridges first. Oh, and by the way, I have 3D working relatively well on my G5 with a 64-bit kernel (and 32-bit X server and clients), which is why I care about AGP 3.0 support. :) Signed-off-by: Linus Torvalds <torvalds@osdl.org> <herbert@gondor.apana.org.au> [NET]: Move dst_release out of dst->ops->check As promised here is the patch that moves dst_release out of dst->ops->check. It bloats sk_dst_check/__sk_dst_check slightly but they're only used in a handful of places so it isn't too bad. I actually counted, it's about a few hundred bytes. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <jgarzik@pobox.com> [NET]: Kill netdev->accept_fastpath hook. Never called AFAICS, and only assigned -- to a no-op stub -- in one driver. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: David S. Miller <davem@davemloft.net> <kaber@trash.net> [IPV4]: Fix crash while reading /proc/net/route caused by stale pointers Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <domen@coderock.org> [TIGON3]: Replace pci_find_device with pci_dev_present. Signed-off-by: Scott Feldman <sfeldma@pobox.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: David S. Miller <davem@davemloft.net> <nhorman@redhat.com> [SCTP]: Add receive buffer accounting. Signed-off-by: Neil Horman <nhorman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> <kaber@trash.net> [XFRM]: xfrm_find_acq_byseq should only return XFRM_STATE_ACQ states. Signed-off-by: Patrick McHardy <kaber@trash.net> <shemminger@osdl.org> [NET]: Rearrange netdevice structure to save space. Trivial reordering of netdevice structure to save four bytes. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <torvalds@evo.osdl.org> Fix double pci_dev_put() Paul Mackerras points out that the pci_get_class() call will properly put away the old PCI device. Blush. <shemminger@osdl.org> [PKT_SCHED]: Move tc_u32_mark into pkt_cls.h The tc_u32_mark structure is used as part of the netlink message from the user API to the kernel, so it needs to be moved to include/linux/pkt_cls.h and have types changed from u32 to __u32. Also, the definition of u32 performance counters doesn't need to depend on the config option. The definition can exist even if the code isn't enabled. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <yoshfuji@linux-ipv6.org> [IPV6]: Build modular by default. Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [BRIDGE]: Use Jenkins hash Replace the existing mac hash in the bridge code with the nice inline jenkins hash. This should provide better distribution across hash buckets and compiles to code that is similar in complexity. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [BRIDGE]: Get rid of unneeded include Get rid of unneeded include. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [BRIDGE]: Get rid of threaded link for forwarding timeout For 2.6, I changed the bridge forwarding table timeout code to keep a threaded list of in order entries. Well, it turns out that this is a performance hit because we end up constantly moving entries around in the list. Later patch changes this to be in place update with RCU. This version just uses a 100ms garbage collection timer. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [BRIDGE]: Forwarding table lockless update Optimize bridge forwarding table for the fastpath of updating an existing entry. Use RCU to find the entry and change it's time. Fallback to normal locking for insert. This gives about a 1/3 improvement in packets forwarding per second on SMP. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [NET]: Optimize is_valid_ether_addr() Low level optimization of the comparison with zero address. On most cpu's faster to use unrolled or rather than a loop and memcmp. This is in the fastpath of bridge forwarding. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <kaber@trash.net> [IPV4]: Speed up sequential reading of /proc/net/route Cacheing the current position reduces complexity from O(n^2) to O(n). Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <Robert.Olsson@data.slu.se> [PKTGEN]: Use __in_dev_put(). Signed-off-by: David S. Miller <davem@davemloft.net> <davem@sunset.davemloft.net> [SK98LIN]: Driver needs to include asm/irq.h Otherwise declarations for disable_irq()/enable_irq() will not be obtained on platforms not doing CONFIG_GENERIC_HARDIRQS. Signed-off-by: David S. Miller <davem@davemloft.net> <paulus@samba.org> [PATCH] AGP support for powermac G5 This patch adds AGP support for the U3 northbridge used in Apple G5 machines to drivers/char/agp/uninorth-agp.c. This patch is based on earlier work by Jerome Glisse. With this patch, the driver works in both ppc32 and ppc64 kernels. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kaber@trash.net> [TUN]: Fix check for underflow This check is wrong, gcc optimizes it away: if ((len -= sizeof(pi)) > len) return -EINVAL; This could be responsible for the BUG. If len is 2 or 3 and TUN_NO_PI isn't set it underflows. alloc_skb() allocates len + 2, which is 0 or 1 byte. skb_reserve tries to reserve 2 bytes and things explode in skb_put. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net> <davem@sunset.davemloft.net> [SIS900]: Driver needs to include asm/irq.h Otherwise declarations for disable_irq()/enable_irq() will not be obtained on platforms not doing CONFIG_GENERIC_HARDIRQS. Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: fore200e: rewrite to eliminate pci_find_device() but preserve sbus support this patch correctly removes the pci_find_device() used by the fore200e driver. the __init/__exit remains a bit clunky since we need to preserve sbus support. Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <ralf@linux-mips.org> [NETROM]: Fix deadlock due to double locking. Signed-off-by: David S. Miller <davem@davemloft.net> <ralf@linux-mips.org> [ROSE]: Fix minor security hole ROSE wasn't verifying the ndigis argument of a new route resulting in a minor security hole. Signed-off-by: David S. Miller <davem@davemloft.net> <ralf@linux-mips.org> [NETROM]: Sparse fixes. Moving nr_init_timers prototype to where all the other prototypes already are. Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: lanai: use the DMA_{64,32}BIT_MASK constants from dma-mapping.h Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: Convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: fore200e: Replace MSECS() with msecs_to_jiffies() Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: iphase: Use after free, found by Coverity tool Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <chas@cmf.nrl.navy.mil> [ATM]: lanai: quiet sparse warnings Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Chas Williams <chas@cmf.nrl.navy.mil> Signed-off-by: David S. Miller <davem@davemloft.net> <benh@kernel.crashing.org> [SUNGEM]: Rework PM handling and fix MAC reset on stuck receiver. This patch updates the sungem driver. I reworked all of the PM stuff, making it less prone to races, probably simpler to read as well, and I no longer shut the PHY down when the interface is down so that things like laptop-net no longer die (the gain in power consumption was minimal, not worth the pain). I also implemented basic WOL support. There is still something I'm not totally happy with in the locking (explained in the comment at the beginning), basically too much locking and a couple of places with delays in locks. I will try to improve these later on. It also adds a fix for a MAC reset issue when the receiver gets stuck. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: David S. Miller <davem@davemloft.net> <tim.bird@am.sony.com> [PATCH] printk-times bugfix for loglevel-only printks This patch fixes a bug with the recently added printk-times feature. In the case where a printk consists of only the log level (followed subsequently by printks with more text for the same line), the printk-times code doesn't correctly recognize the end of the string, and starts emitting chars at the 0 byte at the end of the string. The patch below fixes this problem. It also adjusts the handling of printed_len in the routine, which was affected by the printk-times feature. Signed-off-by: Tim Bird <tim.bird@am.sony.com> Acked-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] ia64 extable sorting fix Fix a goofup from the recent sort consolidation patches. - Subtractions in comparison functions could overflow the return type for 64-bit pointers. Make it right again. - Add missing size arg to ia64 extable swap function. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sam@mars.ravnborg.org> kbuild: Trivial fixes for top level Makefile o Typos corrected o Avoid line wrapping Both from: Manish Singh <yosh@gimp.org> o Remove duplicate -Wno-sign-compare for gcc 4.0 From: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <perex@suse.cz> [ALSA] AC97 wm9713 support AC97 Codec This patch series adds support for the WM9713/WM9714 family of AC97 codecs. This family is different from 'standard' AC97 codecs in that the default codec power state is 'off'. i.e. performing a register reset will power the device down. This patch also adds better support for larger single/double channel enumerated mixer types. Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> <alex.williamson@hp.com> [IA64] Add HP zx2 chipset identifier Here's a little patch that adds the chipset identifier for the upcoming successor to the zx1 chipset. Please apply. Thanks, Signed-off-by: Alex Williamson <alex.williamson@hp.com> Signed-off-by: Tony Luck <tony.luck@intel.com> <eric.piel@lifl.fr> [IA64] document "nohalt" option IA64 has had a "nohalt" command line option to bypass calling PAL_HALT_LIGHT in the idle loop for some time ... documenting it has somehow slipped through the cracks. Signed-off-by: Eric Piel <eric.piel@lifl.fr> Signed-off-by: Tony Luck <tony.luck@intel.com> <stevef@stevef95.austin.ibm.com> [CIFS] statfs protocol extensions part 2 Signed-off-by: Steve French (sfrench@us.ibm.com) <stevef@stevef95.austin.ibm.com> [CIFS] fix when CONFIG_CIFS_EXPERIMENTAL is on and server does not support Unix extensions to call the legacy qfsinfo Signed-off-by: Steve French (sfrench@us.ibm.com) <chrisw@osdl.org> Make audit.h forward declarations unconditional. Signed-off-by: Chris Wright <chrisw@osdl.org> <torvalds@ppc970.osdl.org> Undo the netfilter undo - the next patch fixes the regression it caused. Cset exclude: torvalds@ppc970.osdl.org|ChangeSet|20050311080305|44342 <kaber@trash.net> [PATCH] netfilter: Fix iptables userspace compatibility breakage ip_tables failed to recognize IPT_RETURN because it was defined relative to NF_MAX_VERDICT (which changed) and returned it to nf_iterate(). The old value of IPT_RETURN matches NF_REPEAT, so the hook was called again and again. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <davej@redhat.com> [AGPGART] SGI TIO support. From: Mike Werner Signed-off-by: Dave Jones <davej@redhat.com> <bunk@stusta.de> [PATCH] drivers/net/typhoon: make a firmware image static This patch makes a nedlessly global firmware image static. This patch was already ACK'ed by David Dillow. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <romieu@fr.zoreil.com> [PATCH] Fix r8169: panic on 2.6.11 Stephen Hemminger <shemminger@osdl.org> : [...] > > + u32 eor = le32_to_cpu(desc->opts1) & ~RingEnd; ^ Oops. Updated patch against plain 2.6.11 below (NAPI is strongly suggested, no need to disable rx_copybreak). The patch has been tested on a 100Mbps ethernet but it does not want to crash. I'll hack the testbed and see tomorrow how things behave on Gb. The status and received packets indication in the Rx descriptor ring are not correctly reset when a descriptor is recycled. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <apatard@mandrakesoft.com> [PATCH] sk98lin driver: fix driver name string I've just notice that in 2.6.11 in the sk98lin driver, the name of the module is set to skge in the pci_driver structure. IMHO, it should be sk98lin. Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <willy@parisc-linux.org> [PATCH] Lance needs delay.h An 'allyesconfig' on PA-RISC shows that lance is using mdelay without including <linux/delay.h> Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <alan@lxorguk.ukuu.org.uk> [PATCH] -ac bits for ULI ethernet missing from 2.6.11 Signed-off-by: Jeff Garzik <jgarzik@pobox.com> <mgreer@mvista.com> [PATCH] ppc32: Add rtc hooks to katana + fw bug workaround Add rtc hooks to katana and workaround firmware bug. - Now that the mv64xxx i2c and m41t00 i2c rtc drivers are in the source base, add hooks to the katana file to use that rtc. - A recent version of the katana firmware incorrectly changes the mv64x60's pci vendor & device id so this patch puts back the proper values. - Misc. cleanup and update of the default config file. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <arnd@arndb.de> [PATCH] ppc64: fix linking zImage with biarch ld I noticed that with the vDSO patch in 2.6.11-bk, it's almost possible to build the kernel with the fedora biarch toolchain. However, I still get warnings from ld about zImage being the wrong architecture, unless I change the script as shown in this patch. I'm not sure if this breaks setups with old binutils that might not understand powerpc:common, otherwise please apply. (benh said: "Our toolchain guru says this shouldn't break unless your binutils are completely rotten...") Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Export proper version from vDSO The ppc64 vDSO is still exporting LINUX_2.6.11 (from -mm) for symbol versioning. The glibc folks asked me to export the first kernel version that will contain it, so this patch fixes it to LINUX_2.6.12 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <sfr@canb.auug.org.au> [PATCH] ppc64: don't use in_atomic() in_atomic() in viopath.c was just used to determine if we had initialised enough to be able to wait in a semaphore (i.e. schedule). Thus it can be replaced now with checking system_state for SYSTEM_RUNNING. Test booted on iSeries (which is the only place it is used). Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: new machine definitions This patch adds new machine definitions for the iMac G5 and the new single processor PowerMac G5. It also slightly updates the existing definitions. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Add IDE-pmac support for new "Shasta" chipset The iMac G5 and new single CPU PowerMac G5 come with a new revision of the K2 ASIC called Shasta. The PATA cell in there now does 133Mhz. This patch adds support for it. It also adds some power management bits to the old 100MHz cell that was in Intrepid based ppc32 machines. The original iMac G5 bits are from J. Mayer <l_indien@magic.fr> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Fix some PCI interrupt routing issues on iMac G5 The iMac G5 has some issues with Apple chips not having a valid PCI_INTERRUPT_PIN. This patch fixes IRQ routing on PowerMac platforms so that it only relies on the Open Firmware informations which are correct. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: J. Mayer <l_indien@magic.fr> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <benh@kernel.crashing.org> [PATCH] ppc64: Add basic support for the SMU chip in iMac G5 The iMac G5 and latest single-cpu PowerMac G5 have seen the venerable PMU (Power Management Unit) chip been sent to well deserved retirement. It has been replaced by a newcomer, the SMU (System Management Unit ?) which is of course totally undocumented and has no open source darwin driver... The SMU chip is responsible of initializing the chipset & CPU (boot process), power supply control, real time clock, fan control, provides some i2c busses, etc... etc... etc... This is a very basic driver based on the Open Firmware methods for accessing this chip. It provides synchronous functions only, and does restart, shutdown, and real time clock access. There is still no fan control, at least not until we have figured out how to access the fans via the SMU. The initial code was written by J. Mayer <l_indien@magic.fr>, I mostly rewrote it to better adhere to our coding style standards ;) The patch also updates the g5_defconfig to include the SMU support by default. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] pcmcia: update vrc4171_card These patches add a new interface for adding and removing I/O and mem resources which are made available to 16-bit PCMCIA devices (content of /etc/pcmcia/config.opts ) on non-statically mapped sockets. Also, they continue the device model integration of the PCMCIA subsystem, and provide some output about PCMCIA devices via sysfs. This patch updates vrc4171 pcmcia driver. Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hirofumi@mail.parknet.co.jp> [PATCH] pcmcia: yenta_socket - ti4150 support 1) Add PCI_DEVICE_ID_TI_4510 to pci_id.h. 2) Add PCI4510 to yenta_table (that uses TI12XX handlers). 3) Add zoom_video handler support. TI12XX handlers can disable CLKRUN feature with "disable_clkrun" option. Some devices or bridge itself seems to be needing this option as workaround. Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <c.lucas@ifrance.com> [PATCH] pcmcia: pd6729 - convert to pci_register_driver() convert from pci_module_init to pci_register_driver (from:http://kerneljanitors.org/TODO). Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: rsrc_nonstatic: sysfs output Add sysfs output to the non-static resource database. It'll reside in /sys/class/pcmcia_socket/pcmcia_socket%n/available_resources_{io_mem} and be of the format "0x%08lx - 0x%08lx\n" Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: rsrc_nonstatic: sysfs input Add a sysfs input method for the non-static socket resource database. It works by writing "+ 0x%[l]x - 0x%[l]x" or simply "0x%[l]x - 0x%[l]x" for adding resources, and by "- 0x%[l]x - 0x%[l]x" for removing resources to /sys/class/pcmcia_socket/pcmcia_socket%n/available_resources_{io_mem} Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: mark resource setup as done PCMCIA device registration should only happen if we're quite confident there are resources available to at least map the CIS space -- else we can't determine manfid/cardid, whether it is a multifunction card, etc. So, add a flag to struct pcmcia_socket which denotes that -- and also whether resources were added the "old" adjust_resource_info way. On static sockets, it is activated upon registration, on non-static sockets, it is set upon an echo'ing of anything into /sys/class/pcmcia_socket/pcmcia_socket%n/device_possible_resources_setup_done Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: pcmcia_device_probe Move the probing of a device-driver pair (a.k.a. "attach") into pcmcia_device_probe() conforming to the driver model. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: pcmcia_device_remove Move the removal of a device from a driver (a.k.a. "detach") to a driver-model conform pcmcia_device_remove() function which is called within device_unregister(). Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: pcmcia_device_add Re-structure the adding of PCMCIA devices and the binding of devices and drivers by cardmgr in bind_device: pcmcia_add_device() adds a new PCMCIA device for a socket and a device function, if it hasn't been done before. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: use bus_rescan_devices Use bus_rescan_devices() and a pcmcia_bus_match() function to match pcmcia devices and drivers based on cardmgr's wishes. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: add pcmcia devices autonomously Add pcmcia devices without cardmgr's interaction If it's a "static" socket or the non-static socket has all its resources set up, there's no reason why the PCMCIA core can't detect and set up pcmcia devices without cardmgr's interaction. Matching is still done in userspace, though; and if the PCMCIA core misses something, cardmgr can still add devices... Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: determine some useful information about devices Determine some useful information about the device, namely a) manufactor ID b) card ID c) function ID d) product information strings Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <linux@dominikbrodowski.net> [PATCH] pcmcia: per-device sysfs output Per-device sysfs output which reports up to four product ID strings, manufactor ID, product ID and function ID. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <nickpiggin@yahoo.com.au> [PATCH] sched: timestamp fixes Some fixes for unsynchronised TSCs. A task's timestamp may have been set by another CPU. Although we try to adjust this correctly with the timestamp_last_tick field, there is no guarantee this will be exactly right. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <nickpiggin@yahoo.com.au> [PATCH] sched: rework schedstats Move balancing fields into struct sched_domain, so we can get more useful results on systems with multiple domains (eg SMT+SMP, CMP+NUMA, SMP+NUMA, etc). Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <nickpiggin@yahoo.com.au> [PATCH] sched: find_busiest_group fixlets Fix up a few small warts in the periodic multiprocessor rebalancing code. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Acked-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <nickpiggin@yahoo.com.au> [PATCH] sched: find_busiest_group cleanup Cleanup find_busiest_group a bit. New sched-domains code means we can't have groups without a CPU. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kenneth.w.chen@intel.com> [PATCH] re-inline sched functions This could be part of the unknown 2% performance regression with db transaction processing benchmark. The four functions in the following patch use to be inline. They are un-inlined since 2.6.7. We measured that by re-inline them back on 2.6.9, it improves performance for db transaction processing benchmark, +0.2% (on real hardware :-) The cost is certainly larger kernel size, cost 928 bytes on x86, and 2728 bytes on ia64. But certainly worth the money for enterprise customer since they improve performance on enterprise workload. # size vmlinux.* text data bss dec hex filename 3261844 717184 262020 4241048 40b698 vmlinux.x86.orig 3262772 717488 262020 4242280 40bb68 vmlinux.x86.inline text data bss dec hex filename 5836933 903828 201940 6942701 69efed vmlinux.ia64.orig 5839661 903460 201940 6945061 69f925 vmlinux.ia64.inline Possible we can introduce them back? Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: IR common update Changes: * add some keytables which are used by both bttv and cx88 driver so they can be shared. * add IR decoding helper functions. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: bttv driver update This is a bttv driver update, changes: * add support for a new card. * add some debug code (bt878 risc disassembler). * drop some obsolete i2c code. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: video-buf update Bugfix: catch pci_map_sg() failures. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: bttv IR driver update minor bttv IR driver update: drop a keytable and use the one in ir-common.ko instead. This patch depends on the ir-common update. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: tuner update Minor update for the tuner module: Add some new entries, fix a bug in the tda8290 driver. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: documentation update. $subject says all ;) Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: tveeprom update Add some new tuners to the list. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] stradis.c - vfree() checking cleanups stradis.c vfree() checking cleanups. Signed-off by: James Lamanna <jlamanna@gmail.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] miropcm20-radio cleanup This is cleanup of file miropcm20-radio.c Compile tested. Signed-off-by: Marcel Sebek <sebek64@post.cz> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/zr36120: replace interruptible_sleep_on() with wait_event_interruptible() Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/zoran_driver: replace interruptible_sleep_on_timeout() with wait_event_interruptible_timeout() Use wait_event_interruptible_timeout() instead of the deprecated interruptible_sleep_on_timeout(). Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/zoran_device: replace interruptible_sleep_on() with wait_event_interruptible() Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/zoran_card: remove interruptible_sleep_on_timeout() usage Remove deprecated interruptible_sleep_on_timeout() function calls and replace with direct wait-queue usage. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/saa7110: remove sleep_on*() usage Directly use wait-queues instead of the deprecated sleep_on_timeout(). Since the sleep in this function is unconditional, wait_event_timeout() does not appear to be appropriate. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/radio-zoltrix: replace sleep_delay() with msleep() Use msleep() instead of sleep_delay() so that the driver sleeps as the comment indicated. I assumed that two sleep_delay()s in a row indicated sleeping for 20ms. Please let me know if this is incorrect. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/planb: replace interruptible_sleep_on() with wait_event() Use wait_event() instead of the deprecated interruptible_sleep_on(). Current code does not check for signals, so interruptible seems unnecessary. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] Videotext: use I2C_CLIENT_INSMOD macro The patch below simplifies the videotext drivers saa5246a and saa5249 by using the I2C_CLIENT_INSMOD macro. Thanks to Kai Volkmar. Signed-off-by: Michael Geng <linux@michaelgeng.de> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] dvb: add pll lib This adds some helper code to handle tuning for dvb cards, with a struct describing the pll and a function calculating the command sequence needed to program it. This one was discussed + accepted on the linuxtv list and also is in the linuxtv cvs. As the the cx88 driver update I want finally get out of the door depends on this one I'll go submit it myself instead of waiting for the dvb guys doing it. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] dvb: mt352 frontend driver update This patch updates the mt352 driver to make it work with the Pinnacle 300i card. Some values are calculated at runtime now instead of having hard-coded defaults because the defaults don't fit for the Pinnacle, and some more small tweaks + fixes. This was also discussed + accepted on the dvb list, going to submit directly because the saa7134 driver update depends on this. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l2 api: mpeg encoder support Add a ioctl to set mpeg hardware encoder parameters. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] saa7134 update Major saa7134 driver update. Changes: * add a bunch of new cards. * add dvb card support (Pinnacle 300i only for now ...). * update empress encoder card support, use the new v4l2 mpeg API for the settings. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: cx88 driver update Finally the big cx88 driver update which makes the cx88-dvb driver compile and work for some cards. A number of changes accumulated over time ... * various new tv cards added / fixed. * added support for infrared remote controls. * some fixes in the blackbird (mpeg encoder) driver, starts working now. * configurarion for analog hauppauge cards now uses the tveeprom module. * kconfig fixups. * powermanagement fixups. * lot of tweaks for tv audio (make NICAM decoding work). * lot of changes in the dvb driver, still not working for all cards though as some more changes in the dvb subsystem are needed. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] dvb: add or51132 driver (atsc demodulator) This patch adds a new ATSC frontend driver, needed by the cx88-based pcHDTV 3000 card. Also includes a tiny chunk to activate the or51132 support in the cx88-dvb driver. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] media/video/cx88*: convert pci_module_init to pci_register_driver convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <kraxel@bytesex.org> [PATCH] v4l: MAINTAINERS file update. Hi folks, Goodbye, and that thanks for all the fish ;) After several years of v4l maintainance I'm going to switch to a new work field and will not be able to spend much time on maintaining video4linux and the drivers, so someone else will have to step in. I will not suddenly disappear from earth, I will be available for questions and patch reviews for some time, but I'll stop doing active development and most likely will not have the time to act as central patch relay for all video4linux stuff. Signed-off-by: Gerd Knorr <kraxel@bytesex.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: erroneous sizeof use in raid1 This isn't a real bug as the smallest slab-size is 32 bytes but please apply for consistency. Found by the Coverity tool. Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: fix multipath assembly bug In md, there are "level" number and "personality" numbers. LEVEL_MULTIPATH is the level number for multipath. MULTIPATH is the personality number for multipath. In one place, we compare the level with a personality ... bad This makes it impossible to assemble multipath arrays. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: RAID Kconfig cleanups, remove experimental tag from RAID-6 This patch removes the experimental tag from RAID-6 (unfortunately the damage is already done...:-|) and cleans up a few more things in the Kconfig file. Signed-Off-By: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: remove possible oops in md/raid1 When we get a pointer and check it is non-null, we should not get the pointer again but should instead use the pointer we got in the first place... Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: make raid5 and raid6 robust against failure during recovery. Two problems are fixed here. 1/ if the array is known to require a resync (parity update), but there are too many failed devices, the resync cannot complete but will be retried indefinitely. 2/ if the array has too many failed drives to be usable and a spare is available, reconstruction will be attempted, but cannot work. This also is retried indefinitely. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <neilb@cse.unsw.edu.au> [PATCH] md: remove kludgy level check from md.c This test is overly specific, and misses raid10. Assume all levels >= 1 might need reconstruction instead. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jack@suse.cz> [PATCH] Update Documentation/filesystems/Locking Attached patch updates documentation in Documentation/filesystems/Locking to match the current state of quota code. Also a few comments in quota code are updated. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: allow preprocessor directives between kernel-doc and function Allow preprocessor directives between kernel-doc and function Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: update function parameter description in network code Update function parameter description in network code Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: update function parameter description in block/fs code Update function parameter description in block/fs code Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: update function parameter description in USB code Update function parameter description in USB code Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: fix function parameter descriptin in fbmem Fix function parameter descriptin in fbmem Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: new kernel-doc comments for might_sleep & wait_event_* New kernel-doc comments for might_sleep & wait_event_* Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: convert template files to XML Convert template files to XML Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: s/sgml/xml/ in scripts/kernel-doc s/sgml/xml/ in scripts/kernel-doc Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: move kernel-doc comment next to function Move kernel-doc comment next to function Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: s/sgml/xml/ in Documentation/DocBook/Makefile s/sgml/xml/ in Documentation/DocBook/Makefile Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: fix XML in templates Fix XML in templates Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: kernel-docify comments Kernel-docify comments Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: add kfifo to kernel-api docs Add kfifo to kernel-api docs Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: factor out escaping of XML special characters Factor out escaping of XML special characters Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tali@admingilde.org> [PATCH] docbook: escape declaration_purpose Escape declaration_purpose Signed-off-by: Martin Waitz <tali@admingilde.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] Make lots of things static This is a megarollup of ~60 patches which give various things static scope. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <trond.myklebust@fys.uio.no> [PATCH] RPC: remove bogus atomic_dec in auth_null The atomic_dec in nul_destroy() is harmless, but can trigger an underflow error if the atomic_dec_and_test() debugging is turned on. Problem diagnosed by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC STI video updates - currcon seems to have disappeared. We weren't using it, just initialising it. - parisc_driver names no longer need to be different from pci_driver names. - DUMMY_CONSOLE_COLUMNS and DUMMY_CONSOLE_ROWS aren't used by the STI_CONSOLE at all. In fact, they're used by the DUMMY_CONSOLE as their name implies. - STI_CONSOLE doesn't need to depend on FRAMEBUFFER_CONSOLE - sticore.o uses functions from fonts.o - PA-RISC doesn't have an MDA_CONSOLE Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> - Move STI_CONSOLE after FRAMEBUFFER_CONSOLE - Convert sticore.c to using gsc_(read|write)X instead of __raw_(read|write)X. - Convert pci_device_id table to use PCI_DEVICE(). Signed-Off-By: Kyle McMartin <kyle@parisc-linux.org> - apply patch by Andy Walker <ajwalker@broadpark.no> to fix stifb= bpp:x:y handling From: Helge Deller <deller@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC unwinding from millicode Fix unwinding from millicode Signed-off-by: Randolph Chung <tausq@debian.org> Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC memcpy asm() statements some adjustments to the asm()s to make gcc happy Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC MM init fixes - add missing header fixing build warning From: Thibaut Varene <varenet@parisc-linux.org> - remove duplicate definition of max_pfn From: Randolph Chung <tausq@parisc-linux.org> - remove unnecessary assignment to mem_map (thanks to Dave Hansen) - print memory in MB, not Mb Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC GSC interrupt fixes Two problems occurred with the recent switch to virtual interrupt numbers. The first is that two devices (eg Lasi PS/2 mouse and keyboard) can share the same physical interrupt and should therefore share the same virtual interrupt rather than have a new one assigned to them. Fix this by initialising the global_irq array to NO_IRQ, then checking the array before assigning a new one. The second is that some GSC devices (eg HIL and EISA) can have two interrupts; one for normal interrupts and the other for NMI or high-priority. To fix this, I introduced an auxiliary IRQ to the parisc_device and fill it in in Asp and Wax. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix compile warnings in PA-RISC LEC driver LED addresses are physical addresses, not remapped. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC PCI update - Fix PCI-PCI bridges under the first HBA in the system Signed-off-by: Ryan Bradetich <rbrad@parisc-linux.org> - fix up the comment to reflect rbrad's change and why it was made. - fix base_addr warning From: Grant Grundler <grundler@parisc-linux.org> - Reword the explanation about why we renumber PCI busses on all platforms. - Remove CONFIG_PARISC64 symbol; use CONFIG_64BIT everywhere instead. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Add BUG_ON to IRT code The IRT buffer must be 8-byte aligned Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC GCC-3.4 build fix fix problem with building 64-bit kernels with gcc-3.4 Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC for older compilers Fix declaration-after-code From: Grant Grundler <grundler@parisc-linux.org> From: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Remove ASSERT macro from PA-RISC PCI-DMA implementation Remove no-longer-needed ASSERTs Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Make PA-RISC hlt_counter static makes a needlessly global variable static. Posted to parisc-linux mailing list on Mon, 6 Dec 2004 01:41:39 +0100 Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Update Thibaut Varene's email address Update my copyright information in a few files (email change) Signed-off-by: Thibaut VARENE <varenet@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC signal handler fix Fix singlestepping into a signal handler Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <stevef@smf-t23.(none)> [CIFS] remove sparse warning Signed-off-by: Steve French (sfrench@us.ibm.com) <sam@mars.ravnborg.org> kconfig: gconfig - define local icons Define own icons for tree structure, allowing icons to match other icons. This also makes gconfig independent on icons defined for xconfig. Teached bk to ignore gconf executable Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <lkml@lievin.net> kconfig: gconfig - fix 2 warnings This patch fixes some warnings about GtkToolButton in gconfig Signed-off-by: Romain Liévin <lkml@lievin.net> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kconfig/acpi: Cleanup Kconfig Simplify dependencies. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kconfig/bus: cleanup bus options menu This properly indents the bus options menu. Merge the two MCA variables. Remove unnecessary "default n" options. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> Kconfig: cleanup cpufreq menu This properly indents the cpufreq menu. Remove CPU_FREQ_TABLE as visible option and use select instead Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> Kconfig: cleanup kernel hacking menu o This properly indents the kernel hacking menu. o Move LOG_BUF_SHIFT into kernel hacking menu (it already depended on DEBUG_KERNEL). o Add DEBUG_KERNEL dependency to EARLY_PRINTK, DEBUG_PREEMPT and FRAME_POINTER. o Remove overlong dependency, which included practically every arch. o Merge the two MAGIC_SYSRQ menu entries. o Remove unnecessary "default n" options. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> Kconfig: cleanup various driver menus This properly indents various driver menus. Remove PARPORT_PC_CML1. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kconfig: cleanup USB menu This properly indents the USB menu. In usb menu do not display comment when USB is disabled. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <sam@mars.ravnborg.org> kconfig/ppc: fix kconfig warning fix: arch/ppc/Kconfig:211:warning: type of 'CPU_FREQ_TABLE' redefined from 'tristate' to 'boolean' Signed-off-by: Sam Ravnborg <sam@ravnborg.org> <khali@linux-fr.org> [PATCH] fix amd64 2.6.11 oops on modprobe (saa7110) This is a rewrite of the saa7110_write_block function, which was plain broken in the case where the underlying adapter supports I2C_FUNC_I2C. It also includes related fixes which ensure that different parts of the driver agree on the number of registers the chip has. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <akpm@osdl.org> [PATCH] cramfs: small stat(2) fix From: Eric Lammerts <eric@lammerts.org> When I stat(2) a device node on a cramfs, the st_blocks field is bogus (it's derived from the size field which in this case holds the major/minor numbers). This makes du(1) output completely wrong. Signed-off-by: Eric Lammerts <eric@lammerts.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <airlied@linux.ie> [PATCH] drm missing memset can crash X server.. Egbert Eich reported a bug 2673 on bugs.freedesktop.org and tracked it down to a missing memset in the setversion ioctl, this causes X server crashes... From: Egbert Eich <eich@pdx.freedesktop.org> Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <akpm@osdl.org> [PATCH] ppc32: Compilation fixes for Ebony, Luan and Ocotea From: Matt Porter <mporter@kernel.crashing.org> this patch fixes the problem, that the current kernel (linux-2.6.11-rc5) could not be compiled, when "support for early boot texts over serial port" (CONFIG_SERIAL_TEXT_DEBUG=y) is active. Signed-off-by: Gerhard Jaeger <gjaeger@sysgo.com> Signed-off-by: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <khali@linux-fr.org> [PATCH] Fix i2c messsage flags in video drivers While working on the saa7110 driver I found a problem with the way various video drivers (found on Zoran-based boards) prepare i2c messages to be used by i2c_transfer. The drivers improperly copy the i2c client flags as the message flags, while both sets are mostly unrelated. The net effect in this case is to trigger an I2C block read instead of the expected I2C block write. The fix is simply not to pass any flag, because none are needed. I think this patch qualifies hands down as a "critical bug fix" to be included in whatever bug-fix-only trees exist these days. As far as I can see, all Zoran-based boards are broken in 2.6.11 without this patch. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <davem@davemloft.net> [PATCH] [TCP]: Put back tcp_timer_bug_msg[] symbol export. This wrecks the ipv6 modular build for a lot of people. In fact, since I always build ipv6 modular I am surprised I never hit this. My best guess is that my compiler is optimizing the reference away, but that can never be depended upon and the symbol export really is needed. [TCP]: Put back tcp_timer_bug_msg[] symbol export. It is needed for tcp_reset_xmit_timer(), which is invoked by tcp_prequeue() which is invoked from tcp_ipv6.c Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <galak@freescale.com> [PATCH] ppc32: trivial fix for e500 oprofile build Fix for trivial fix for 2.6.11 oprofile compilation on e500 based ppc. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <alexn@dsv.su.se> [PATCH] PCI: fix hotplug double free [PATCH] PCI: fix hotplug double free With the brackets missed out func could be freed twice. Found by Coverity tool Signed-off-by: Alexander Nyberg <alexn@dsv.su.se> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <shemminger@osdl.org> [PATCH] r8169: receive descriptor length fix The status and received packets indication in the Rx descriptor ring are not correctly reset when a descriptor is recycled. Signed-off-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <chrisw@osdl.org> [PATCH] sis900 kernel oops fix Backport of fix described below. From: Herbert Xu <herbert@gondor.apana.org.au> Fix bug #4223. OK, this happened because we got preempted before sis900_mii_probe finished setting the sis_priv->mii. Theoretically this can happen with SMP as well but I suppose the number of SMP machines with sis900 is fairly small. Anyway, the fix is to make sure that sis900_mii_probe is done before the device can be opened. This patch does it by moving the setup before register_netdevice. Since the netdev name is not available before register_netdev, I've changed the relevant printk's to use pci_name instead. Note that one of those printk's may be called after register_netdev as well. Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <olof@austin.ibm.com> [PATCH] [VIA RHINE] older chips oops on shutdown Kernel 2.6.11, hardware is a MSI KT333-based board with an XP1800. I'm oopsing on shutdown on a machine that has a Via Rhine adapter in it: Unable to handle kernel paging request at virtual address e0803003 printing eip: c01f262c *pde = 014dc067 *pte = 00000000 Oops: 0000 [#1] Modules linked in: cpufreq_userspace cpufreq_powersave cpufreq_ondemand CPU: 0 EIP: 0060:[<c01f262c>] Not tainted VLI EFLAGS: 00010292 (2.6.11) EIP is at ioread8+0x2c/0x40 eax: e0803003 ebx: e0803003 ecx: c026b430 edx: e0803003 esi: dff90260 edi: e0802f80 ebp: dd117e74 esp: dd117e74 ds: 007b es: 007b ss: 0068 Process reboot (pid: 5769, threadinfo=dd117000 task=dfafa080) Stack: dd117e8c c026b490 dff90040 c151ccd4 c044a1a8 b7fdc078 dd117ea4 c0253ad9 c151ccd4 00000042 fee1dead 00000001 dd117fbc c012461c c04d72a8 00000001 00000000 00010800 00000000 dd117ed8 c013b40b dffe7380 00030800 00000000 Call Trace: [<c0103d5f>] show_stack+0x7f/0xa0 [<c0103efa>] show_registers+0x15a/0x1c0 [<c01040ce>] die+0xce/0x150 [<c0113406>] do_page_fault+0x356/0x692 [<c01039ff>] error_code+0x2b/0x30 [<c026b490>] rhine_shutdown+0x60/0x140 [<c0253ad9>] device_shutdown+0x89/0x8b [<c012461c>] sys_reboot+0xac/0x200 [<c0102f71>] sysenter_past_esp+0x52/0x75 Code: 3d ff ff 03 00 89 c2 89 e5 77 20 66 31 c0 3d 00 00 01 00 75 0c 81 e2 ff ff 00 00 ec 0f b6 c0 c9 c3 0f 0b 37 00 7b 65 3b c0 eb ea <0f> b6 00 eb ec eb 0d 90 90 90 90 90 90 90 90 90 90 90 90 90 55 Seems like it is the ioread8 in: /* Hit power state D3 (sleep) */ iowrite8(ioread8(ioaddr + StickyHW) | 0x03, ioaddr + StickyHW); that fails. StickyHW is 0x83. lspci says: 0000:00:07.0 Ethernet controller: VIA Technologies, Inc. VT86C100A [Rhine] (rev 06) Flags: bus master, medium devsel, latency 32, IRQ 18 I/O ports at ec00 [size=128] Memory at dfffff80 (32-bit, non-prefetchable) [size=128] In other words, it's trying to read outside of the I/O range (0x80), which matches the fauling address. I'm guessing my chip revision doesn't support WOL, it's a crappy noname card. It does seem as if rhine_power_init checks quirks for rqWOL before touching any registers. Should rhine_shutdown do the same? Proposed patch below, which resolves the problem on my system. Check to make sure WOL is supported before setting it up in rhine_shutdown. Signed-off-by: Olof Johansson <olof@austin.ibm.com> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <gregkh@suse.de> Linux 2.6.11.3 <roland@redhat.com> [PATCH] x86: further EFLAGS and ptrace cleanups/fixes This patch further cleans up the appearance of TF in eflags when ptrace is involved. With this, PTRACE_SINGLESTEP will not cause TF to appear in eflags as seen by PTRACE_GETREGS and the like, when the instruction faulted for some reason other than the single-step trap. This moves the check added by Dan's patch from setup_sigcontext to handle_signal. This is a cosmetic difference, but I think it makes more sense to consolidate all the "reset registers to canonical state" work in the same place (i.e. put it with the syscall rollback code), separate from the signal handler setup. The change that matters is moving the similar check out of do_debug, where it only covers the case of a single-step trap. Instead, it goes into the ptrace_signal_deliver macro, which is called before the ptrace stop for whatever signal results from whatever kind of fault in that instruction (or asynchronous signal). With that, the handle_signal check is still needed only for the case of PTRACE_SINGLESTEP with a handled signal. Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <stevef@smf-t23.(none)> [CIFS] remove sparse warnings Signed-off-by: Steve French (sfrench@us.ibm.com) <davis_g@com.rmk.(none)> [ARM PATCH] 2529/1: Add semtimedop support - semop() with a timeout (with demuxed IPC syscall entry added) Patch from George G. Davis Adds ARM support for the semtimedop() function - semop with a timeout. This updates ARM with same support added for other archs long ago. Also includes sys_semtimeop syscall table entry appended to end of syscall table as per RMK\'s request. Signed-off-by: George G. Davis Signed-off-by: Russell King <stevef@smfhome.smfdom> [CIFS] remove the last cifs sparse warnings (except for those which require changes outside of cifs vfs) Signed-off-by: Steve French (sfrench@us.ibm.com) <ben-linux@org.rmk.(none)> [ARM PATCH] 2531/1: S3C2410 - OTOM1.1 and Nexcoder 2440 support Patch from Ben Dooks Support for OTOM v1.1 and Nexcoder 2440, from Guillaume Gourat. Signed-off-by: Guillaume GOURAT Cleaned up for submission, and brough up-to-date by Ben Dooks Signed-off-by: Ben Dooks Signed-off-by: Russell King <ben-linux@org.rmk.(none)> [ARM PATCH] 2532/1: CLPS7500 build fix Patch from Ben Dooks Fixed missing sys_timer from timer initialisation, renamed platform_register_device to platform_device_register and ensured that the machine init is called. Signed-off-by: Ben Dooks Signed-off-by: Russell King <matthew@wil.cx> [PATCH] sym2 version 2.2.0 Docs - The sym53c8xx= kernel parameter no longer exists - Correct a typo Bugfixes - The driver really isn't capable of dealing with 64-bit bus addresses yet, so bail out early - Get rid of SYM_SCAN_TARGETS_HILO (which had no effect) and set the shost->reverse_ordering flag instead - Associate a scsi_device with the target in slave_alloc instead of slave_configure Printk cleanups - Use dev_warn/dev_info where possible - Delete PRINT_ADDR, PRINT_TARGET and PRINT_LUN - Remove sym_print_target() and sym_print_lun() - Make sym_print_addr() call dev_info Memory allocation related - Delete non-dma allocators; use kmalloc/kcalloc directly instead - Move memory allocation wrappers from sym_glue to sym_malloc - Get rid of m_addr_t; use void * or dma_addr_t as appropriate - Change m_pool_ident_t from a struct pci_dev * to a struct device * - Use dma_alloc_coherent() instead of pci_alloc_consistent() Negotiation related - Move scsi_transport_spi.h include from sym_glue.c to sym_glue.h - Store the current transfer contract settings in the starget attributes - Delete sym2_get_offset(), sym2_get_period(), sym2_get_width(), sym2_get_dt(), sym2_get_iu() and sym2_get_qas() - Use spi_support_wide() (and friends) instead of scsi_device_wide() - We don't need tinfo.prev -- we can tell if the contract changed - Delete SYM_OPT_ANNOUNCE_TRANSFER_RATE - Use spi_display_xfer_agreement() - Use sdev->scsi_level instead of the never-set tinfo.curr.scsi_version - Instead of checking current xfer settings against our goal, use a check_nego flag. - Get rid of sym_tinfo and use sym_trans directly. - Split the sym_trans options into flags - Change width from an u8 into a flag - Delete sym_misc.c - Remove sym_xpt_async_nego_wide Linuxisation - Use udelay() directly instead of indirecting through UDELAY and sym_udelay - Rename some scsi_cmnd pointers from ccb or csio to cmd - Use simple_strtoul() instead of a handwritten parser - SKIP_SPACES was always being used with 1 as a parameter, and was implicitly modifying ptr and len. - GET_INT_ARG was doing the same with ptr and len. - Use pci_iomap(), pci_iounmap(), ioread8() et al - Delete the sym_data_dmamap_*() macros - Replace SYM_CONF_IOMAPPED with CONFIG_SCSI_SYM53C8XX_IOMAPPED - Delete unused SYM_HAVE_SCCB, SYM_HAVE_M_SVTOB, SYM_HAVE_M_SPOOL Misc cleanup - Move sym_conf.h into sym53c8xx.h - Eliminate the unused SYM_SETUP_MAX_LUN, SYM_SCMD_PTR - SYM_SETUP_PCI_PARITY and SYM_SETUP_SCSI_PARITY are always defined; simplify - Rename sym_pci_chip to sym_chip - Write sym_get_hcb() to hide nasty macro abuse - sym_lp() doesn't need to take the sym_hcb as an argument - sym_get_ccb() works better if you give it the cmd instead of the id/lun - We don't use cmd->host_scribble, host->dma_channel, host->n_io_port, host->io_port, host->base or host->irq; stop initialising them. - sym_tune_dev_queuing() works better if you give it the tcb rather than the hcb and target - Get rid of sym_driver_name(), just use SYM_DRIVER_NAME directly - OUTB/INB/etc macros implicitly use the hcb pointer; pass it explictly instead - Map the BARs early instead of mapping and unmapping them as necessary - Automatically fall back to ioport accesses if iomem isn't available - Get rid of tcb_p, lcb_p and ccb_p typedefs - Delete support for big endian chips -- 8xx chips can't be in BE mode - Inline sym_slot into sym_device - Inline sym_printb_hex() into sym_printl_hex() - Don't cast function return values to void - Introduce sym_nvram_type() - Pass the hcb and starget to sym_check_goals since we already have them in the caller - Some 0/NULL cleanup - Embed the sense buffer in the CCB so it doesn't need to be allocated separately Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2536/1: SA1100 - serial sparse error Patch from Ben Dooks Fix the mapbase to have __iomem Signed-off-by: Ben Dooks Signed-off-by: Russell King <davem@sunset.davemloft.net> [SPARC64]: Cleanup and debloat arch/sparc64/kernel/central.c - Kill unused inline long_align() - Consolidate all of the error/failure reporting into one function, central_probe_failure() - Consolidate linux_prom_registers to physical address calculation into one function, prom_reg_to_paddr() - Change ZAP() macro into function, do not inline. Signed-off-by: David S. Miller <davem@davemloft.net> <benh@kernel.crashing.org> [PATCH] ide-pmac logic fix This patch fixes a logic error in the ide-pmac driver which could try to access the chip's fcr register after the cell clock has been shut down, thus causing a machine check on machines with the "Intrepid" chipset. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <js@linuxtv.org> [PATCH] DVB whitespace cleanup This is the DVB whitespace cleanup patch (the big one ;-). I checked the whitespace-onlyness: linux-2.6.11-bk9$ find drivers/media/common drivers/media/dvb -name "*.o" | xargs size >/tmp/1 linux-2.6.11-bk9$ cd - linux-2.6.11-bk9.patched linux-2.6.11-bk9.patched$ find drivers/media/common drivers/media/dvb -name "*.o" | xargs size >/tmp/2 linux-2.6.11-bk9.patched$ less /tmp/1 linux-2.6.11-bk9.patched$ less /tmp/2 linux-2.6.11-bk9.patched$ diff -us /tmp/1 /tmp/2 Files /tmp/1 and /tmp/2 are identical DVB whitespace cleanups: o sync kernel and linuxtv.org CVS wrt whitespace o repair indentation damage o remove whitespace at eol Signed-off-by: Johannes Stezenbach <js@linuxtv.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] dcache: is_subdir missed reset after seqretry dcache: is_subdir forgot to reset the result after seqretry. Signed-Off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] remove drivers/mtd/maps/ich2rom.c drivers/mtd/maps/ich2rom.c is completely unused because it was renamed to drivers/mtd/maps/ichxrom.c. This patch removes the stale ich2rom.c file. This patch was already ACK'ed by David Woodhouse and Eric W. Biederman. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/video/intelfb/: fix a warning drivers/video/intelfb/intelfbdrv.h:31: warning: 'intelfb_setup' declared `static' but never defined Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] x86: fix booting non-NUMA system with NUMA config There is a bug booting with CONFIG_NUMA=y, CONFIG_X86_GENERICARCH=y, and booting on a non-NUMA system. While not the most common configuration, it should surely be supported. memmap_init_zone() is the first user to do pfn_to_nid(), which relies on physnode_map[] to be done properly. memory_present() was supposed to do that, but never got called for the flat configuration, so pfn_to_nid() was returning -1 on valid pages. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <andrea@suse.de> [PATCH] orphaned pagecache memleak fix Chris found that with data journaling a reiserfs pagecache may be truncate while still pinned. The truncation removes the page->mapping, but the page is still listed in the VM queues because it still has buffers. Then during the journaling process, a buffer is marked dirty and that sets the PG_dirty bitflag as well (in mark_buffer_dirty). After that the page is leaked because it's both dirty and without a mapping. So we must allow pages without mapping and dirty to reach the PagePrivate check. The page->mapping will be checked again right after the PagePrivate check. Signed-off-by: Andrea Arcangeli <andrea@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mason@suse.com> [PATCH] reiserfs: make sure data=journal buffers are cleaned on free In data=journal mode, when blocks are freed and their buffers are dirty, reiserfs can remove them from the transaction without cleaning them. These buffers never get cleaned, resulting in an unfreeable page. Signed-off-by: Chris Mason <mason@suse.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jes@wildopensource.com> [PATCH] ia64 specific /dev/mem handlers Convert /dev/mem read/write calls to use arch_translate_mem_ptr if available. Needed on ia64 for pages converted fo uncached mappings to avoid it being accessed in cached mode after the conversion which can lead to memory corruption. Introduces PG_uncached page flag for marking pages uncached. Also folds do_write_mem into write_mem as it was it's only user. Use __ARCH_HAS_NO_PAGE_ZERO_MAPPED for architectures to indicate they require magic handling of the zero page (Sparc and m68k). Signed-off-by: Jes Sorensen <jes@wildopensource.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <chrisw@osdl.org> [PATCH] allow vma merging with mlock et. al. Successive mlock/munlock calls can leave fragmented vmas because they can be split but not merged. Give mlock et. al. full vma merging support. While we're at it, move *pprev assignment above first split_vma in mprotect_fixup to keep it in step with mlock_fixup (which for mlockall ignores errors yet still needs a valid prev pointer). Signed-off-by: Chris Wright <chrisw@osdl.org> Acked-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: p?d_none_or_clear_bad Replace the repetitive p?d_none, p?d_bad, p?d_ERROR, p?d_clear clauses by pgd_none_or_clear_bad, pud_none_or_clear_bad, pmd_none_or_clear_bad inlines throughout common and i386 - avoids a sprinkling of "unlikely"s. Tests inline, but unlikely error handling in mm/memory.c - so the ERROR file and line won't tell much; but it comes too late anyway, and hardly ever seen outside development. Let mremap use them in get_one_pte_map, as it already did in _nested; but leave follow_page and untouched_anonymous page just skipping _bad as before - they don't have quite the same ownership of the mm. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ptwalk-pd_none_or_clear_bad ia64 fix pgtable.h now need pud_t. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: change_protection Begin the pagetable walker cleanup with a straightforward example, mprotect's change_protection. Started out from Nick Piggin's for_each proposal, but I prefer less hidden; and these are all do while loops, which degrade slightly when converted to for loops. Firmly agree with Andi and Nick that addr,end is the way to go: size is good at the user interface level, but unhelpful down in the loops. And the habit of an "address" which is actually an offset from some base has bitten us several times: use proper address at each level, whyever not? Don't apply each mask at two levels: all we need is a set of macros pgd_addr_end, pud_addr_end, pmd_addr_end to give the address of the end of each range. Which need to take the min of two addresses, with 0 as the greatest. Started out with a different macro, assumed end never 0; but clear_page_range (alone) might be passed end 0 by some out-of-tree memory layouts: could special case it, but this macro compiles smaller. Check "addr != end" instead of "addr < end" to work on that end 0 case. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: sync_page_range Convert filemap_sync pagetable walkers to loops using p?d_addr_end; use similar loop to split filemap_sync into chunks. Merge filemap_sync_pte into sync_pte_range, cut filemap_ off the longer names, vma arg first. There is no error from filemap_sync, nor is any use made of the flags: if it should do something else for MS_INVALIDATE, reinstate it when that is implemented. Remove the redundant flush_tlb_range from afterwards: as its comment noted, each dirty pte has already been flushed. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: unuse_mm Convert unuse_process pagetable walkers to loops using p?d_addr_end; but correct its name to unuse_mm, rename its levels to _range as elsewhere. Leave unuse_pte out-of-line since it's so rarely called; but move the funny activate_page inside it. foundaddr was a leftover from before: we still want to break out once page is found, but no need to pass addr up. And we need not comment on the page_table_lock at every level. Whereas most objects shrink ~200 bytes text, swapfile.o grows slightly: it had earlier been converted to the addr,end style to fix a 4level bug. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: map and unmap_vm_area Convert unmap_vm_area and map_vm_area pagetable walkers to loops using p?d_addr_end; rename internal levels vunmap_p??_range, vmap_p??_range. map_vm_area shows the style when allocating: allocs moved down a level. Replace KERN_CRIT Whee message by boring WARN_ON. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: ioremap_page_range Convert i386 ioremap pagetable walkers to loops using p?d_addr_end. Rename internal levels ioremap_p??_range. Don't cheat, give it a real (but inlined) ioremap_pud_range; uninline lowest level to help debug. Replace "page already exists" printk and BUG by BUG_ON. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: remap_pfn_range Convert remap_pfn_range pagetable walkers to loops using p?d_addr_end. Remove the redundant flush_tlb_range from afterwards: as its comment noted, there's already a BUG_ON(!pte_none). Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: zeromap_page_range Convert zeromap_page_range pagetable walkers to loops using p?d_addr_end. Remove the redundant flush_tlb_range from afterwards: as its comment noted, there's already a BUG_ON(!pte_none). Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: unmap_page_range Convert unmap_page_range pagetable walkers to loops using p?d_addr_end. Move blanking of irrelevant details up to unmap_page_range as Nick did. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: copy_page_range Convert copy_page_range pagetable walkers to loops using p?d_addr_end. Merge copy_swap_pte into copy_one_pte, make a few minor tidyups. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: copy_pte_range hang This patch is the odd-one-out of the sequence. The one before adjusted copy_pte_range from a for loop to a do while loop, and it was therefore simplest to check for lockbreak before copying pte: possibility that it might keep getting preempted without making progress under some loads. Some loads such as startup: 2*HT*P4 with preemption cannot even reach multiuser login. Suspect needs_lockbreak is broken, can get in a state when it remains forever true. Investigate that later: for now, and for all time, it makes sense to aim for a little progress before breaking out; and we can manage more pte_nones than copies. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: clear_page_range Convert clear_page_range pagetable walkers to loops using p?d_addr_end. These are exceptional in that some out-of-tree memory layouts might pass end 0, so the macros need to handle that (though previous code did not). The naming here was out of step: now we usually pass pmd_t *pmd down to action_on_pte_range, not action_on_pmd_range, etc: made like the others. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: move p?d_none_or_clear_bad To handle large sparse areas a little more efficiently, follow Nick and move the p?d_none_or_clear_bad tests up from the start of each function to its callsite. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: inline pmd_range and pud_range As a general rule, ask the compiler to inline action_on_pmd_range and action_on_pud_range: they're none very interesting, and it has a better chance of eliding them that way. But conversely, it helps debug traces if action_on_pte_range and top action_on_page_range remain uninlined. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <hugh@veritas.com> [PATCH] ptwalk: pud and pmd folded Nick Piggin's patch to fold away most of the pud and pmd levels when not required. Adjusted to define minimal pud_addr_end (in the 4LEVEL_HACK case too) and pmd_addr_end. Responsible for half of the savings. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] vmalloc: introduce __vmalloc_area() function There are 3 copy-and-paste implementations of __vmalloc() in arch/{arm,sparc64,x86_64}/kernel/module.c. I believe the only reason is that __vmalloc() doesn't allow to specify parameters of __get_vm_area(). This patch splits __vmalloc() into 2 functions. The new one, __vmalloc_area(), can be used as follows: vm_struct *area = __get_vm_area(...); void *addr = __vmalloc_area(area, gfp, prot); Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] vmalloc: use __vmalloc_area in arch/arm Replace open coded __vmalloc() with __vmalloc_area(). Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] vmalloc: use __vmalloc_area in arch/sparc64/ Replace open coded __vmalloc() with __vmalloc_area(). Uncompiled, untested. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] vmalloc: use __vmalloc_area in arch/x86_64/ Replace open coded __vmalloc() with __vmalloc_area(). Uncompiled, untested. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <oleg@tv-sign.ru> [PATCH] vmalloc: use list of pages instead of array in vm_struct This patch assumes that there is no valid usage of vmalloced_or_vmaped_page->lru. In such a case vm_struct->array could be eliminated. It saves some memory and simplifies code a bit. In vmap/vunmap case vm_struct->page_list is used only in map_vm_area(), so it is ok to do: addr1 = vmap(pages, count); addr2 = vmap(pages, count); ... vunmap(addr1); vunmap(addr2); Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <haveblue@us.ibm.com> [PATCH] no arch-specific mem_map init So, this patch started out with me trying to keep from passing contiguous, node-specific mem_map into free_area_init_node() and cousins. Instead, I relied on some calls to pfn_to_page(). This works fine and dandy when all you need is the pgdat->node_mem_map to do pfn_to_page(). However, the non-NUMA/DISCONTIG architectures use the real, global mem_map[] instead of a node_mem_map in the pfn_to_page() calculation. So, I ended up effectively trying to initialize mem_map from itself, when it was NULL. That was bad, and caused some very pretty colors on someone's screen when he tested it. So, I had to make sure to initialize the global mem_map[] before calling into free_area_init_node(). Then, I realized how many architectures do this on their own, and have comments like this: /* XXX: MRB-remove - this doesn't seem sane, should this be done somewhere else ?*/ mem_map = NODE_DATA(0)->node_mem_map; The following patch does what my first one did (don't pass mem_map into the init functions), incorporates Jesse Barnes' ia64 fixes on top of that, and gets rid of all but one of the global mem_map initializations (parisc is weird). It also magically removes more code than it adds. It could be smaller, but I shamelessly added some comments. Boot-tested on ppc64, i386 (NUMAQ, plain SMP, laptop), UML (i386). Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <roland@redhat.com> [PATCH] Unbacked shared memory not included in ELF core dump We're currently not including sysv shared memory segments in coredumps. This patch intends to include any shared mapping whose target file has zero links. That covers sysv shm and MAP_ANON|MAP_SHARED mmap's (which I think are only ever useful if you want to share pages with a fork'd child). I think it also covers a regular file that was unlinked but is still mmap'd. It doesn't cover mapping of a tmpfs file like /dev/shm/foo, but those are still available to be seen after your program crashes, until reboot. Note that this still omits plenty of cases that the old code would include, such as all writable shared mappings of regular files. It also will include some arcane cases the old one wouldn't, like a read-only shared mapping of an unlinked file; that comes up e.g., for the text segment of a shared library or executable that was removed/renamed-over while still in use. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mgreer@mvista.com> [PATCH] ppc32: Update chestnut platform files - Set up mtd partition from arch-specific platform file and remove obsoleted mtd map. - Update default config file (now enables embedded ethernet driver). - Make some minor fixups. - General code cleanup. Signed-off-by: Mark A. Greer <mgreer@mvista.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: emulate load/store string instructions Some Book-E implementations (e500) do not implement the userland load/store string instructions. Apparently these instructions are rather painful to implement do to the fact that they modify the destination register differently then ever other instruction. Matt did the inital work some time ago, and I finally got around to cleaning it up. Signed-off-by: Matt McClintock Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <galak@freescale.com> [PATCH] ppc32: Remove SPR short-hand defines Removed the Special purpose register (SPR) short-hand defines to help with name space pollution. All SPRs are now referenced as SPRN_<foo>. Signed-off-by: Kumar Gala <kumar.gala@freescale.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@ucw.cz> [PATCH] swsusp: use non-contiguous memory on resume The following patch is designed to fix a problem in the current implementation of swsusp in mainline kernels. Namely, swsusp uses an array of page backup entries (aka pagedir) to store pointers to memory pages that must be saved during suspend and restored during resume. Unfortunately, the pagedir has to be located in a contiguous chunk of memory and it sometimes turns out that an 8-order or even 9-order allocation is needed for this purpose. It sometimes is impossible to get such an allocation and swsusp may fail during either suspend or resume due to the lack of memory, although theoretically there is enough free memory for it to succeed. Moreover, swsusp is more likely to fail for this reason during resume, which means that it may fail during resume after a successful suspend (this actually has happened for some people, including me :-)) and this, potentially, may lead to the loss of data. The problem is fixed by replacing the pagedir with a linklist so that high-order memory allocations are avoided (the patches make swsusp use only 0-order allocations). Unfortunately this means that it's necessary to change assembly routines used to restore the image after it's been loaded from swap so that they walk the list instead of walking the array. This patch makes swsusp allocate only individual pages during resume. it contains the necessary changes to the assembly routines etc. for i386 and x86-64. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@ucw.cz> [PATCH] swsusp: use non-contiguous memory on ppc This patch contains the necessary changes to the assembly routines etc. for ppc. It depends on the main resume part. It's a Hu Gang's patch. From: Hu Gang <hugang@soulinfo.com> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pavel@suse.cz> [PATCH] swsusp: enable resume from initrd From: <mjg59@scrf.ucam.org> When using a fully modularized kernel it is necessary to activate resume manually as the device node might not be available during kernel init. This patch implements a new sysfs attribute '/sys/power/resume' which allows for manual activation of software resume. When read from it prints the configured resume device in 'major:minor' format. When written to it expects a device in 'major:minor' format. This device is then checked for a suspended image and resume is started if a valid image is found. The original functionality is left in place. It should be used from initramfs, or with care. Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <seife@suse.de> [PATCH] Subject: swsusp: do not provoke emergency disk shutdowns In platform swsusp mode, we were forgetting to spin disks down, leading to ugly emergency shutdown. This synchronizes platform method with other methods and actually helps. Signed-off-by: Pavel Machek <pavel@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jack@ucw.cz> [PATCH] Allow admin to enable only some of the Magic-Sysrq functions Allow admin to enable only some of the Magic-Sysrq functions. This allows admin to disable sysrq functions he considers dangerous (e.g. sending kill signal, remounting fs RO) while keeping the possibility to use the others (e.g. debug deadlocks by dumps of processes etc.). Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] consolidate CONFIG_DEBUG_INFO We seem to have two CONFIG_DEBUG_INFO entries in Kconfig.debug. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tvignaud@mandrakesoft.com> [PATCH] MODULE_DEVICE_TABLE fixes Add lots of MODULE_DEVICE_TABLE entries. Signed-off-by: Thierry Vignaud <tvignaud@mandrakesoft.com> Signed-off-by: Greg Kroah-Hartman <greg@kroah.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Acked-by: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] rol/ror type cleanup Minor type cleanup. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <mpm@selenic.com> [PATCH] CONFIG_BASE_FULL help clarification Clarify the BASE_FULL help text. Signed-off-by: Matt Mackall <mpm@selenic.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] selinux needs inet security/built-in.o(.text+0xe2fc): In function `selinux_socket_bind': : undefined reference to `sysctl_local_port_range' Acked-by: James Morris <jmorris@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] pivot_root: better documentation to code pivot_root works with five nami data structures, I would like add the minimal documentation to the code to make things clear. Signed-Off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] sysfs: mount error path cleanup Sysfs mount error path sanity work. Perhaps we can panic here, but did not want to disturb the code here. Signed-off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : drivers part 1 This patch converts the first half of drivers from verify_area to access_ok. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : drivers part 2 This patch converts the second half of drivers from verify_area to access_ok. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : sound This patch converts verify_area to access_ok in sound/ Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] sound/oss/soundcard.c: remove an unused variable This patch removes an unused variable. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : i386 and misc. This patch converts verify_area to access_ok in arch/i386, fs/, kernel/ and a few other bits that didn't fit in the other patches or that I actually was able to test on my hardware - this is by far the best tested of all the patches. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup: mips This is the patch to convert verify_area to access_ok for arch/mips Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : ppc, ppc64, m68k, m68knommu Convert verify_area to access_ok for ppc, ppc64, m68k and m68knommu Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : sparc and sparc64 This patch converts verify_area to access_ok for sparc and sparc64. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : x86_64 and ia64 This is the patch that converts verify_area to access_ok for the x86_64 and ia64 archs. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : misc remaining archs The last remaining archs that have not already been converted from verify_area to access_ok by the previous patches are all taken care of by this one. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] verify_area cleanup : deprecate The previous 9 patches should take care of converting all callers of verify_area into access_ok, so now it's time to deprecate verify_area all over so noone gets tempted to use it in new code - this patch does that. Eventually when this has been deprecated for a while I'll send patches to completely remove the function (thoughts on how long it should be deprecated first are welcome). Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] arch/alpha/kernel/osf_sys: tiny cleanup to retval Improve readability after verify_area to access_ok conversion. The new code was pretty ugly - this should be a bit better. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Cc: Richard Henderson <rth@twiddle.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] fs_compat: tiny cleanup t retval Tiny patch that cuts down the nr of assignments to 'ret'. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] arch/mips/kernel/irixsig: slight rework of irix_sigsendset Slight rework of arch/mips/kernel/irixsig.c::irix_sigsendset to eliminate the use of a local variable, a goto and shorten the code a bit. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] arch/sparc/kernel/ptrace: pointless assignment and shadowed var A few tiny cleanups for arch/sparc/kernel/ptrace.c::do_ptrace post the big verify_area/access_ok cleanup. 'ret' shadows a variable of the same name in the enclosing scope, rename it. The assignment of -EFAULT to 'i' exactely mirrors what the old verify_area code did, but that was only to use 'i' to check the return value of verify_area. Now that we check access_ok directly and 'i' is initialized in the for loop a few lines below anyway, the asignment of -EFAULT to i is bogus, just pass pass EFAULT directly as the second arg to pt_error_return. Also a few tiny whitespace cleanups - 'if ()' vs 'if()'. Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] oprofile: make some code static This patch makes some needlessly global code static. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] update email address of Andrea Arcangeli Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386 cpu/common.c: some cleanups - make some needlessly global code static - remove the unused dodgy_tsc function - remove the stale dodgy_tsc z86_64 prototype Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386/x86_64 io_apic.c: misc cleanups - make some needlessly global code static - #if 0 some global print* functions that have no user Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] 3w-abcd.h: TW_Device_Extension: remove an unused field num_units in struct TAG_TW_Device_Extension is completely unused. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] kill aux_device_present There's no reason for keeping a write-only variable. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] (mostly i386) mm cleanup - arch/i386/mm/boot_ioremap.c: make a variable static - frv/ppc highmem.c: remove stale kmap_init prototypes - arch/um/kernel/mem.c: make kmap_init static - arch/i386/mm/init.c: make five functions static Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] Update email address of Benjamin LaHaise Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] Update email address of Philip Blundell Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] saa7146_vv_ksyms.c: remove two unused EXPORT_SYMBOL_GPL's This patch removes two unused EXPORT_SYMBOL_GPL's. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] fix placement of static inline in nfsd.h The patch fixes a bunch of warnings like these include/linux/nfsd/nfsd.h:137: warning: `inline' is not at beginning of declaration include/linux/nfsd/nfsd.h:138: warning: `inline' is not at beginning of declaration include/linux/nfsd/nfsd.h:139: warning: `inline' is not at beginning of declaration include/linux/nfsd/nfsd.h:140: warning: `inline' is not at beginning of declaration and these include/linux/nfsd/nfsd.h:137: warning: `static' is not at beginning of declaration include/linux/nfsd/nfsd.h:138: warning: `static' is not at beginning of declaration include/linux/nfsd/nfsd.h:139: warning: `static' is not at beginning of declaration include/linux/nfsd/nfsd.h:140: warning: `static' is not at beginning of declaration when building with gcc -W True, that's not how most people build, but some of us do in order to try and find potential trouble spots, and the less warnings we have to go through the better - especially when they can be cleaned up nice and safe with no real impact to the code like these ones. Please apply. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] mm/page-writeback.c: remove an unused function This patch removes an unused global function. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] misc ISAPNP cleanups This patch removes some completely unused code and makes some needlessly global code static in drivers/pnp/isapnp/core.c . Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] some PNP cleanups This patch makes the following changes to the PNP code: - make some needlessly global code static - remove the EXPORT_SYMBOL(pnp_assign_resources) since this function is only used in the file it is defined in Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] Make loglevels in init/main.c a little more sane. This patch modifies a few of the printk() loglevels used in init/main.c in an attempt to make them a bit more appropriate. The default loglevel is KERN_WARNING, but a few printk's without explicit loglevel are not (in my oppinion) warnings, so add proper warning levels - for instance; telling the user how many CPU's were brought up is hardly a warning, make it KERN_INFO instead. The initial printing of linux_banner is not a warning condition, I'd say it's more of a NOTICE or even INFO condition - I've made it KERN_NOTICE just as the printing of the kernel command line. A few printk's without explicit loglevel do match the default one, but I've made them explicit (the default could change in the future, and if it does then explicitly setting the proper loglevel is a nice thing). Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] sparse: use NULL for pointer drivers/char/isicom.c:1274:14: warning: Using plain integer as NULL pointer arch/x86_64/oprofile/../../i386/oprofile/backtrace.c:30:10: warning: Using plain integer as NULL pointer Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] remove bouncing email address of Hennus Bergman The email address of Hennus Bergman in the kernel is bouncing. Aftern asking him whether I should update his email address in the Linux kernel, he replied: <-- snip --> I get a lot of spam already and I'd rather avoid getting even more by 'advertising' my email address on the internet like that. So I don't want my current email address in the kernel distribution. If you want to remove my old cybercomm.nl email address, that's fine by me. <-- snip --> This patch therefore simply his bouncing email address and no longer available homepage. Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386 APIC Kconfig cleanups This patch contains the following changes to arch/i386/Kconfig: - update the X86_UP_APIC and X86_UP_IOAPIC help texts: - in the SMP case, these options are not visible - today, it's no longer only "a small number of uniprocessor systems" that have an IO-APIC - there were two X86_LOCAL_APIC and two X86_IO_APIC options - in both cases, merge them - move X86_VISWS_APIC to the other APIC options Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] remove bouncing email address of Thomas Hood This patch removes the bouncing email address of Thomas Hood (I haven't found any more recent email address). Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] fs/adfs/dir_f.c: remove an unused function This patch removes an unused function. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/moxa.c: #if 0 an unused function This patch #if 0's an unused global function. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] OSS sb_card.c: no need to include mca.h I didn't find any reason why this file includes mca.h. Paul Laufer already ACK'ed this patch. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] *-iosched.c: Use proper documentation path This patch by Josef "Jeff" Sipek <jeffpc@optonline.net> fixes two documentationn paths. Signed-off-by: Josef "Jeff" Sipek <jeffpc@optonline.net> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] small drivers/video/kyro/ cleanups This patch does the following cleanups under drivers/video/kyro/ : - remove an unused global varaible from STG4000Ramdac.c - make some needlessly global code static Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/block/cpqarray.c: small cleanups This patch contains the following cleanups: - make cpqarray_pci_device_id static - merge cpqarray_init_step2 into cpqarray_init and make it static Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <james4765@cwazy.co.uk> [PATCH] pcxx: Remove obsolete driver Remove the pcxx driver. It is obsoleted by the epca driver. Signed-off-by: James Nelson <james4765@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <juhl-lkml@dif.dk> [PATCH] warning fix in drivers/cdrom/mcd.c drivers/cdrom/mcd.c:268: warning: passing arg 1 of `mcd_setup' discards qualifiers from pointer target type Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] wavefront: reduce stack usage Reduce local stack usage in wavefront_load_gus_patch() from 984 bytes to 140 bytes (on x86-32) by using kmalloc() instead of stack for these 840 bytes: wavefront_patch_info samp, pat, prog; // 3 * 280 Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] mm/page-writeback.c: remove an unused function #2 This patch removes an unused global function. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] generic_serial.h: kill incorrect gs_debug reference generic_serial.h contained an incorrect extern reference to the static variable gs_debug (Benoit Boissinot reported that gcc 4.0 rejects this). Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] remove the unused OSS maestro_tables.h Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] fs/hfs/: misc cleanups This patch contains the following cleanups: - make needlessly global code static - super.c: remove the unused global variable hfs_version Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] fs/hfsplus/: misc cleanups This patch contains the following cleanups: - make needlessly global code static - bnode.c: remove the unused global functions hfsplus_lock_bnode and hfsplus_unlock_bnode Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386/math-emu/: misc cleanups This patch contains the following cleanups: - make needlessly global code static - #if 0 unused code Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] non-PC parport config change This patch adds a config option PARPORT_NOT_PC (and removes the PARPORT_OTHER option) that get's selected if any non-PC hardware was chosen. This way, the mega #if in parport.h is gone now. Additionally, it removes the unneeded PARPORT_NEED_GENERIC_OPS #define. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] prism54: misc cleanups This patch makes some functions in prism54 that are only required locally static. As a side effect it turned out that the mgt_unlatch_all function was completely unused, and it's therefore #if 0'ed. I also considered moving display_buffer as static inline into islpci_mgt.h, but I wasn't 100% sure and therefore left it. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] SCSI qlogicfc.c: some cleanups This patch does the following cleanups: - make some needlessly global functions static - remove qlogicfc.h since it doesn't contain much - remove the unused function isp2x00_reset Please review especially the latter two points. From: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] SCSI qlogicisp.c: some cleanups This patch does the following cleanups: - make some needlessly global functions static - remove qlogicisp.h since it doesn't contain much - remove the unused functions isp1020_abort and isp1020_reset Please review especially the latter two points. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] hpet setup comment fix Suggested by Andrew Walrond <andrew@walrond.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] kill IPHASE5526 iph5526 does not compiles since 2.5 and was therefore marked as broken. This patch removes it. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386/x86_64: acpi/sleep.c: kill unused acpi_save_state_disk acpi_save_state_disk does nothing and is completely unused. This patch was already ACK'ed by Pavel Machek. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] smp{,boot}.c cleanups This patch contains the following cleanups on several architectures: - make some needlessly global code static - remove the following write-only (except for printk's) variables: - cache_decay_ticks - smp_threads_ready - cacheflush_time I've only tried the compilation on i386, but I hope all mistakes I made are on unimportant architectures. ;-) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386/kernel/i387.c: misc cleanups This patch contains the following cleanups: - make a needlessly global variable static - #if 0 four unused global functions Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] mxser.c: remove unused variable drivers/char/mxser.c: In function `mxser_initbrd': drivers/char/mxser.c:551: warning: unused variable `flags' Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <heiko.carstens@de.ibm.com> [PATCH] Update panic() comment panic() doesn't flush the filesystem cache anymore. The comment above the function still claims it does. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] pm3fb: remove kernel 2.2 code This patch removes kernel 2.2 code from pm3fb.{c,h}. It also removes KERNEL_2_4 and KERNEL_2_5 since all places where this was used had a #if (defined KERNEL_2_4) || (defined KERNEL_2_5) (Yes, I know the driver is marked as BROKEN.) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/block/paride/ cleanups (fwd) The patch below does the following cleanups in each if the five changed C files: - #ifndef MODULE: remove unused setup function - make a needlessly global struct static - pf.c: pf_init_units can be static and __init After this cleanup, setup.h is completely unused and therefore removed. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] remove obsolete linux/resource.h inclusion from asm-generic/siginfo.h Roland added this include with his 'waitid system call' patch, which was removed again after a while. Just the header inclusion was not removed. http://linux.bkbits.net:8080/linux-2.5/cset@4134b6dd1rY3q... http://linux.bkbits.net:8080/linux-2.5/cset@41499f66EDHON... Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] fs/jffs/: misc cleanups This patch contains the following cleanups: - make some needlessly global code static - #if 0 the following unused functions: - intrep.c: jffs_print_file - jffs_fm.c: jffs_print_node_ref Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] fs/jffs2/: misc cleanups This patch contains the following cleanups: - make some needlessly global functions static - remove the following unused global functions: - compr.c: jffs2_set_compression_mode - compr.c: jffs2_get_compression_mode Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/block/cciss*: misc cleanups This patch contains the following cleanups: - make some needlesly global code static - cciss_scsi.c: remove the unused global function cciss_scsi_info - cciss.c: - init_cciss_module -> cciss_init - cleanup_cciss_module -> cciss_cleanup Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bjorn.helgaas@hp.com> [PATCH] Remove unused get_resource_list() declaration Remove unused get_resource_list() declaration. Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <olh@suse.de> [PATCH] typo in include/linux/compiler.h small nitpick, __KERNEL__ is the inner ifdef. Signed-off-by: Olaf Hering <olh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] mark BLK_DEV_PS2 as BROKEN Andries Brouwer proposed this patch with the following comment: As observed earlier, ps2esdi was broken as a module, and the passing of geometry boot parameters is broken. But does it still work with kernels 2.3 or later? I think it does, but failed to verify that. I found an IBM PS/2 model 70-A21 with 8 MB and 120 MB ESDI disk. Tried a few distribution boot floppies to see whether they would boot. Slackware has special ibmmca bootdisks. SW 3.3 - Linux 2.1.43 - boots fine SW 4.0 - Linux 2.2.6 - hangs SW 7.0 - Linux 2.2.13 - boots fine SW 8.1 - Linux 2.4.18 - boots, but every single command is killed by OOM SW 10.0 - Linux 2.4.26 - kernel panic: no 386 supported Then Debian: Woody - Linux 2.2.10 - boots fine, but the rootdisk hangs Sarge - Linux 2.4.27 - does not recognize the ESDI disk, and the rootdisk crashes by OOM. So, good luck with 2.1 and 2.2 kernels, only failures with later kernels. What about other people? The two major Linux/MCA sites were http://glycerine.itsmm.uni.edu/mca (also referenced in Documentation/mca.txt) but it doesnt exist any longer, and http://www.dgmicro.com/mca/, which still exists ("last update: Jan 28 1999"), but the binaries it refers to live on ftp.dgmicro.com, which isn't there anymore. Concerning the speed: I measured this ESDI disk under Linux as transferring 50 kB/s, that is 4% of the speed the IBM specs claim. Also other Linux users complained that the disk is much faster under DOS. My proposal for this patch would be to get it into one 2.6 kernel (is it too late for 2.6.11?) and wait if anyone was still using it and screams, and remove it a few months later otherwise. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bgerst@didntduck.org> [PATCH] vsprintf.c cleanups - Make sprintf call vsnprintf directly - use INT_MAX for sprintf and vsprintf Signed-off-by: Brian Gerst <bgerst@didntduck.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386 scx200.c: misc cleanups The patch below contains the following cleanups: - make some needlessly global code static - #if 0 the following unused global functions: - scx200_gpio_dump - remove the following unneeded EXPORT_SYMBOL's: - scx200_gpio_lock - scx200_gpio_dump Signed-off-by: Adrian Bunk <bunk@stusta.de> Acked-by: Henrik Brix Andersen <brix@gentoo.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] unexport mmu_cr4_features I haven't found any possible modular usage of mmu_cr4_features in the kernel. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/mxser.c cleanups This patch contains the following cleanups: - make two needlessly global structs static - remove the unused global function SDS_PORT8_DTR Alan already ACK'ed this patch. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/mwave/smapi.c: small cleanups This patch contains the following cleanups: - make the needlessly global function smapi_request static - #if 0 the currently unused function SmapiQuerySystemID Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/specialix.c: misc cleanups This patch contains the following cleanups: - make some needlessly global code static - remove the unused global function specialix_setup Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/sysrq.c: remove the unused sysrq_power_off sysrq_power_off was completely unused. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] drivers/char/vt*: cleanups This patch contains the following cleanups: - make needlessly gloval code static - vt_ioctl.c: removed the global variable keyboard_type since noone did actually set it to any other value Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <telendiz@eircom.net> [PATCH] Removes unused label from /drivers/isdn/hisax/hisax_fcpcipnp.c Remove an unused label (fixes compiler WARNING) and a function (inside a preprocessor directive) that is never called. Signed-off- by: Telemaque Ndizihiwe <telendiz@eircom.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] procfs: fix printk arg type warning On sparc32 build, there is a printk format arg-type warning: fs/proc/proc_misc.c:195: warning: long unsigned int format, unsigned int arg (arg 23) I tried to fix it with a change to asm-sparc/vaddrs.h: -#define VMALLOC_START 0xfe600000 +#define VMALLOC_START 0xfe600000UL -#define VMALLOC_END 0xffc00000 +#define VMALLOC_END 0xffc00000UL but that won't fly because the #defines are used in asm code and asm doesn't like the UL suffixes (reported by Bill Irwin). Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] isdn: fix gcc data type/size warning Fix gcc warning: drivers/isdn/i4l/isdn_ppp.c:1581: warning: large integer implicitly truncated to unsigned type <seq> is unsigned int. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] W1: fix printk format warning Use 'unsigned long long' for __u64 printk: drivers/w1/w1.c:415: warning: long long unsigned int format, __u64 arg (arg 6) Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] zoran: fix printk format types zoran: fix printk format types: drivers/media/video/zoran_driver.c:3763: warning: long long unsigned int format, long unsigned int arg (arg 3) drivers/media/video/zoran_driver.c:3775: warning: long long unsigned int format, long unsigned int arg (arg 3) drivers/media/video/zoran_driver.c:4109: warning: long long unsigned int format, long unsigned int arg (arg 3) Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <rddunlap@osdl.org> [PATCH] hweight: typecast return types Make hweight() macros return unsigned int for 8,16,32 bits, instead of requiring callers to do that. drivers/input/joystick/analog.c:414: warning: int format, different type arg (arg 3) drivers/input/joystick/analog.c:414: warning: int format, different type arg (arg 4) drivers/input/joystick/analog.c:418: warning: int format, different type arg (arg 4) Note: does not address parisc, s390, or sparc64... waiting for comments. Signed-off-by: Randy Dunlap <rddunlap@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386: unexport dmi_get_system_info I haven't found any possible modular usage of dmi_get_system_info in the kernel. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] unexport pcibios_penalize_isa_irq I haven't found any possible modular usage of pcibios_penalize_isa_irq in the kernel. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] list_for_each_entry: arch-i386-mm-pageattr.c Make code more readable with list_for_each_entry* Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] gus_wave.c - vfree() checking cleanups gus_wave.c vfree() checking cleanups. Signed-off by: James Lamanna <jlamanna@gmail.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] i386/traps: replace schedule_timeout() with ssleep() Use ssleep() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] radio-sf16fmi boot parameter cleanup Remove the `sf16fm=' kernel boot parameter. Users must switch to `radio-sf16fmi.io=' Signed-off-by: Marcel Sebek <sebek64@post.cz> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] Unified spinlock initialization include/linux/wait.h Unify the spinlock initialization as far as possible. Signed-off-by: Amit Gud <gud@eth.net> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] scripts/mod/sumversion.c: replace strtok() with strsep() Replaces strtok() with strsep() Signed-off-by: Nicolas Kaiser <nikai@nikai.net> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] char/snsc: reorder set_current_state() and add_wait_queue() Reorder add_wait_queue() and set_current_state() as a signal could be lost in between the two functions. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <nacc@us.ibm.com> [PATCH] char/hvsi: use wait_event_timeout() Use wait_event_timeout() in place of custom wait-queue code. The code is not changed in any way (I don't think), but is cleaned up quite a bit (will get expanded to almost identical code). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] char/sx: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee consistent timing regardless of HZ value. schedule_timeout(1) will vary between 10 and 1 milliseconds, depending on the value of HZ (100 or 1000 respectively). For consistent behavior, msleep_interruptible() should be used. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] serial/crisv10: replace schedule_timeout() with msleep() Use msleep() instead of schedule_timeout() to guarantee the task delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not care about signals, so I believe msleep() should be ok. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Acked-by: Mikael Starvik <starvik@axis.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] ftape/fdc-io: insert set_current_state() before schedule_timeout() Inserts a set_current_state(TASK_INTERRUPTIBLE) before the schedule_timeout() call. Without this change, after the first iteration of the loop, schedule_timeout() will not only return immediately, but the loop will break, as the conditional will no longer be satisfied. In fact, this conditional makes little sense given the workings of schedule_timeout. The timeout variable is ignored, as well, and I'm fairly certain that it should be included in the loop conditional. That way, if the timeout expires before a signal hits, -ETIME will be returned by fdc_interrupt_wait() instead of -EINTR. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] tc/zs: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] delete unused file drivers_char_hp600_keyb.c Remove nowhere referenced file. (egrep "filename\." didn't find anything) Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] drivers/isdn/hardware/avm/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] message/mptbase: replace schedule_timeout() with ssleep() Use ssleep() instead of schedule_timeout() to guarantee the task delays as expected. The original code does use TASK_INTERRUPTIBLE, but does not check for signals or early return from schedule_timeout() so ssleep() seems more appropriate. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] drivers/message/fusion/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] drivers/eisa/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] char/lp: remove interruptible_sleep_on_timeout() usage Replace deprecated interruptible_sleep_on_timeout() function calls with direct wait-queue usage. There may be an existing problem with this driver, as I am not finding any wake_up_interruptible() callers for the waitq. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] char/istallion: replace interruptible_sleep_on() with wait_event_interruptible() Use wait_event_interruptible() instead of the deprecated interruptible_sleep_on(). The replacements were all straight-forward as every sleep was conditionally-looped. Patch is compile-tested (still warns about {save,restore}_flags(),cli()). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] list_for_each_entry: arch-um-drivers-chan_kern.c Make code more readable with list_for_each_reverse. Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Maximilian Attems <janitor@sternwelten.at> Acked-by: Jeff Dike <jdike@addtoit.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <yuasa@hh.iij4u.or.jp> [PATCH] mips: fix section type conflict about mpc30x This patch fixes section type conflict about mpc30x CC arch/mips/pci/fixup-mpc30x.o arch/mips/pci/fixup-mpc30x.c:26: error: internal_func_irqs causes a section type conflict make[1]: *** [arch/mips/pci/fixup-mpc30x.o] Error 1 make: *** [arch/mips/pci] Error 2 Signed-off-by: Yoichi Yuasa <yuasa@hh.iij4u.or.jp> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] macintosh/mediabay: replace schedule_timeout() with msleep_interruptible() Use msleep_interruptible() instead of schedule_timeout() to guarantee the task delays as expected. Also remove macro MS_TO_HZ() and replace with msecs_to_jiffies(). Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Domen Puncer <domen@coderock.org> Acked-by:: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <domen@coderock.org> [PATCH] drivers/macintoshisdn/*: convert to pci_register_driver convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] unexport *flush_tlb_all flush_tlb_all was exported on i386 for a DRM usage - that was removed in 2003. I haven't found any modular usage of *flush_tlb_all in the kernel. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] unexport kmap_{pte,port} on !ppc I haven't found any modular usage of kmap_{pte,port} on !ppc in the kernel. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <bunk@stusta.de> [PATCH] i386/power/cpu.c: remove three unused variables This patch removes three unused variables. Pavel Machek and H. Peter Anvin have already confirmed it's correct. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <gregkh@suse.de> Fixup 2.6.11.3 merge by hand. <davem@sunset.davemloft.net> [SPARC64]: check_bugs() should be __init. Signed-off-by: David S. Miller <davem@davemloft.net> <brking@us.ibm.com> [PATCH] PCI: update ipr PCI ids Add some new IPR adapters and remove one. These ids have already been entered into http://pciids.sourceforge.net. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2537/2: S3C2410 - fix iomem warnings from sparse Patch from Ben Dooks Change all S3C24XX_VA defines to have the type `void __iomem *` and the necessary changes to the other bits of the s3c24xx support. Note, the map_desc will need changing in the future to allow `void __iomem *` instead of an unsigned long for IO Signed-off-by: Ben Dooks Signed-off-by: Russell King <brking@us.ibm.com> [PATCH] ipr: PCI ID table update Remove an adapter from the table that never shipped. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: New adapter support Add support for some new adapters. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2538/1: S3C2410 - ADC IRQ correct edge handling Patch from Ben Dooks The S3C2410 ADC+TC interrupt where being registrered as edge-sensitive IRQs, but the code was handling them as if they where level-sensitive. Signed-off-by: Ben Dooks Signed-off-by: Russell King <brking@us.ibm.com> [PATCH] ipr: Device remove cleanup If a device disappears across an adapter reset, ipr schedules the device to be removed from scsi core. Any ops sent to that device prior to its actual removal end up getting sent to the adapter using a now invalid adapter resource handle. Usually, the adapter will just fail the command and the failure will end up looking like a selection timeout, but it is possible the resource handle has been re-used by the adapter and we could be sending an op to a different device than we think we are. This patch closes this window. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Setup max_sectors based on device type The ipr family of adapters is capable of handling data transfer sizes of 16777215 bytes. Logical disk array devices under ipr are capable of only 256k transfer lengths. Patch sets max_sectors of the adapter to 32767 and overrides max_sectors for the logical disk array devices in the slave_configure routine. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <ben-linux@org.rmk.(none)> [ARM PATCH] 2535/1: RPC - VIDC_BASE `void __iomem *` annotation Patch from Ben Dooks Add `void __iomem *` to VIDC_BASE Signed-off-by: Ben Dooks Signed-off-by: Russell King <brking@us.ibm.com> [PATCH] ipr: Support dynamic IDs Fixes ipr to handle dynamic pci ids by searching for the adapter chipset in the probe routine if driver_data is NULL. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Fast failure module options Since the ipr adapter initialization is performed by waiting for an interrupt to occur and this is the first interrupt ever received from the adapter, and the timeout for this interrupt is 5 minutes, failed ipr adapters can halt the boot process for a long time. In certain environments, it makes sense to not try as hard to get the adapter working and just fail the adapter. This patch adds two module parameters to modify the adapter initialization sequence. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Use change queue type API Use new change_queue_type API. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Remove tcq_enable device attribute Remove driver specific tcq_enable attribute now that change_queue_type API has made it redundant. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Remove resource qdepth field Remove qdepth field from the ipr_resource_entry structure since the same data is also available in the scsi_device struct. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Remove tcq_active flag from resource entry Remove the tcq_active flag from the ipr_resource_entry struct since the same information is available through scsi core APIs. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Use bitwise types Change to use bitwise types for additional error checking by sparse Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Sparse fixes Various fixes to make sparse happy Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Send uevent change notifications Send scsi_host kobject uevent notifications for potential configuration changes. This small change allows userspace ipr apps to use netlink/uevent for configuration change notification instead of having to poll /sys for this information. These apps can already look for add/remove uevents for devices, but they also need to be notified when an adapter reset occurs, which is what this patch will do. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Bump driver version to 2.0.13 Bump the driver version to 2.0.13 Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <brking@us.ibm.com> [PATCH] ipr: Handle new RAID 6 errors This patch allows ipr to properly log 2 new RAID 6 related errors. Signed-off-by: Brian King <brking@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> Add statistics to generic transport class These were lost from the SCSI transport classes in the transition to the generic classes. Ressurect it in the generic class, since it's probable that more than SCSI will want to use this. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <tgraf@suug.ch> [IPV6]: Use dev_get_flags() while building inet6 ifinfo message Use dev_get_flags() in inet6_fill_ifinfo() to fetch interface flags to ensure correctly reporting IFF_PROMISC and IFF_ALLMULTI flags. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <bdschuym@pandora.be> [EBTABLES]: Fix smp race. The patch below fixes an smp race that happens on such systems under heavy load. This bug was reported and solved by Steve Herrell <steve_herrell@yahoo.ca> Signed-off-by: Bart De Schuymer <bdschuym@pandora.be> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Handle local_df in IPv4 When cleaning up the remaining users of dst_pmtu I noticed that local_df wasn't being treated correctly in IPsec. In fact, if you socket's dst went over IPsec, local_df is essentailly ignored. This patch fixes that. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Fix room calculation in icmp_send I'm now cleaning up all users of dst_pmtu with the aim of replacing dst_pmtu with dst_mtu. I'm going to start with the ones that actually fix bugs. This patch fixes the length calculation in icmp_send. As it is we're overestimating the space available by including the space that would be used up by IPsec encapsulation. IPv6 doesn't have this problem since its calculation is based on 1280 instead of the PMTU. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV6]: Reload skb->dst after xfrm6_route_forward() While replacing dst_pmtu in ip6_output I found this little gem. In ip6_forward we're not reloading the dst pointer after calling xfrm6_route_forward. So all subsequent dereferences of dst will refer to its pre-IPsec value. The solution is of course to refresh its value. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [NETLINK]: Fix multicast bind/autobind race netlink_autobind has always set nlk_sk(sk)->groups to zero. This is unnecessary because sk_alloc already zeroes the entire structure. Since a socket can only be bound once netlink_autobind doesn't need to zero groups at all. This had been safe until I added mc_list. Now it is possible for netlink_bind to race against netlink_autobind running on the same socket on another CPU. The result would be a socket that's on mc_list with groups set to zero. This socket will be left on the list even after it is destroyed. The fix is to remove the zeroing in netlink_autobind. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <ralf@linux-mips.org> [AX25]: Fix ax25_get_socket locking In an attempt to return a locked socket ax25_get_socket() was calling lock_sock() with a spinlock held, bad idea. Making matters worse it's only user is running in bottom half context resulting in a potencial attempt to sleep in bottom half context, so fix the locking there as well. Signed-off-by: David S. Miller <davem@davemloft.net> <laforge@gnumonks.org> [NETFILTER]: ipt_hashlimit: use | instead of & for correct hash key Signed-off-by: Harald Welte <laforge@netfilter.org> Signed-off-by: David S. Miller <davem@davemloft.net> <andre@tomt.net> [TCP]: Fix gcc-3.4 build when TCP_DEBUG is disabled in tcp.h Signed-off-by: Andre Tomt <andre@tomt.net> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPSEC]: Do not hold state lock while checking size. This can elicit ICMP message output and thus result in a deadlock. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <shemminger@osdl.org> [BRIDGE]: No update when hold time is zero Some users, set hold time to zero on bridge so it always does flooding. This is usually when using it with wireless. The new RCU based code changed the behaviour so the bridge would not flood for one GC interval. This patch restores the original behaviour. Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [NETFILTER]: ipt_hashlimit.c needs lockhelp.h Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <Robert.Olsson@data.slu.se> [PKTGEN]: Fix thread_lock() usage. The current code bombs out with preemption enabled. Signed-off-by: David S. Miller <davem@davemloft.net> <jejb@titanic.il.steeleye.com> SCSI: fix transport statistics mismerge Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@titanic.il.steeleye.com> SCSI: dc395x.c add missing #include <linux/vmalloc.h> Prevents a compile warning about vmalloc/vfree being undefined Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape fixes: sense descriptor init, bsf->weof, blkno, Problems fixed: - the sense descriptor is cleared before filling - BSF and BSFM are added to the commands causing automatic writing of filemark if the previous operation was write (tar expects this) - the block number is set to unknown (-1) if spacing forward ends at BLANK CHECK - debugging printout of spacing counts fixed to work also with 64-bit systems Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <andmike@us.ibm.com> [PATCH] SCSI: Add TASK_ABORTED to status_byte macro Add TASK_ABORTED and ACA_ACTIVE to status_byte macro. Signed-off-by: Mike Anderson <andmike@us.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <markh@osdl.org> [PATCH] aacraid: adapter naming fix From Mark Salyzyn at Adaptec. This fixes the way the aac device's id is calculated. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <davej@redhat.com> [AGPGART] Enable Intel AGP support for x86-64 again. The previous commit that killed off the _mch driver forgot to reenable the old driver. Signed-off-by: Dave Jones <davej@redhat.com> <akpm@osdl.org> [NET]: Need to export dev_get_flags() to modules. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV4/IPV6]: Take IPsec overhead into account in tunnels This patch uses dst_mtu instead of dst_pmtu in the various tunnel implementations. As it is they simply ignore the IPsec overhead. This leads to bogus MTU values inside the tunnels. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [NET]: Replace dst_pmtu with dst_mtu This patch replaces most of the other uses of dst_pmtu with dst_mtu. As far as I can tell these are either identical because dst->path == dst, or they're a straightforward replacement of (the slightly incorrect) dst_pmtu(dst) - dst->header_Len with dst_mtu(dst). Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <bunk@stusta.de> [NET]: Remove fc_type_trans() The only user of fc_type_trans (drivers/net/fc/iph5526.c) is removed in Linus' tree. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net> <wim@iguana.be> [WATCHDOG] pcwd_usb: usb_control_msg-timeout-patch set timeout in usb_control_msg to USB_COMMAND_TIMEOUT instead of a full second. <ben-linux@fluff.org> [WATCHDOG] s3c2410-divide-patch The s3c2410 watchdog driver has an incorrect /2 in the timer calculation, fix this problem Signed-off-by: Ben Dooks <ben-linux@fluff.org> <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape fixes (new version): sense descriptor This patch changes the sense descriptor initialization a little faster. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape fixes: remove f_pos handling This patch applies over the previous patch in this thread. The patch removes updating filp->f_pos. It has been dead code since 2.6.8 and nobody has missed it. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <Kai.Makisara@kolumbus.fi> [PATCH] SCSI tape security: require CAP_ADMIN for SG_IO etc. The kernel currently allows any user permitted to access the tape device file to send the tape drive commands that may either make the tape drivers internal state inconsistent or to change the drive parameters so that other users find the drive to be unusable. This patch changes ioctl handling so that SG_IO, SCSI_IOCTL_COMMAND, etc. require CAP_ADMIN. This solves the consistency problems for SCSI tapes. The st driver provides user-accessible commands to change the drive parameters that users may need to access. The SCSI command permissions were discussed widely on the linux lists but this did not result in any useful refinement of the permissions. It may very well be that the tape drives are the only devices that users are sometimes given permissions to access and that have security problems with the current command filtering. This patch solves the problem for tapes and no more elaborate patches are needed. Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <wim@iguana.be> [WATCHDOG] pcwd_pci-register-driver-patch convert from pci_module_init to pci_register_driver Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> <davej@redhat.com> [WATCHDOG] Makefile-patch The comment at the top of the Makefile suggests that the current ordering is incorrect. Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Wim Van Sebroeck <wim@iguana.be> <akpm@osdl.org> [PATCH] st msleep warning fix drivers/scsi/st.c:805: warning: implicit declaration of function `msleep_interruptible' Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <tgraf@suug.ch> [NET] Reorder struct inet_sock tos: int -> 8bit uc_ttl: int -> 16 bit cmsg_flags: int -> 16 bit hdrincl: 8bit -> 1 bit mc_loop: 8bit -> 1 bit Saves 12 bytes together with the reordering. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_zapped into SOCK_ZAPPED flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_user_write_queue into SOCK_USE_WRITE_QUEUE flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_debug into SOCK_DBG flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_rcvtstamp into SOCK_RCVTSTAMP flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_no_largesend into SOCK_NO_LARGESEND flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_localroute into SOCK_LOCALROUTE flag and use RT_CONN_FLAGS where appropriate Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Convert sk_queue_shrunk into SOCK_QUEUE_SHRUNK flag Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Reorder struct sock Reorders struct sock to avoid padding and shrinks the following fields to more appropriate sizes saving 12 bytes and some more on 64bit architectures. sk_shutdown: char -> 2 bits sk_no_checks: char -> 2 bits sk_userlocks: char -> 4 bits Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Reorder struct ipv6_pinfo Converts hop_limit and mcast_hops to signed 16 bit types saving 4 bytes on 32bit archs and another 4 bytes on 64bit archs. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [NET] Reorder struct tcp_options_received Reorders struct tcp_options_received to avoid padding and shrinks the following fields to more appropriate sizes saving 8 bytes. saw_tstamp: char -> 1 bit tstamp_ok: char -> 1 bit sack_ok: char -> 4 bits wscale_ok: char -> 1 bit snd_wscale: u8 -> 4 bits rcv_wscale: u8 -> 4 bits dsack: u8 -> 1 bit Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <paulus@au1.ibm.com> [PATCH] CAN-2005-0384: Remote Linux DoS on ppp servers Martin Schulze writes: > Ben Martel and Stephen Blackheath have discovered a denial-of-service attack > that a client of pppd can make that can hang the server machine. The bug is > in the Linux kernel 2.6 (tested on 2.6.9), but it looks like it also exists > in the 2.4 series. Yes, this is my bug. :( I would just do this instead: Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <akpm@osdl.org> [PATCH] use strncpy in get_task_comm From: Prasanna Meda <pmeda@akamai.com> Set_task_comm uses strlcpy, so get_task_comm must use strncpy. Signed-Off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> <andrew.vasquez@qlogic.com> [PATCH] target code updates to support scanned targets * add scsi_target_block() and scsi_target_unblock() routines which take a generic-device. Side note: there are mixture of scsi_<object>_<action>() and scsi_<action>_<noun>() functions defined in the scsi APIs -- going forward are there any 'guides' or suggestions on which to choose? * modify scsi_remove_target() to take a generic-device. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <gregkh@suse.de> Linux 2.6.11.4 <James.Smart@Emulex.Com> [PATCH] add per scsi-host workqueues for defered processing Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <jejb@mulgrave.(none)> From: James.Smart@Emulex.Com FC Remote Port Patch This is the reworked patch for fc_remote ports. It started with the "patch2" converted for scsi-misc-2.6 (and updated for the revised midlayer scsi target implementation) Incorporates Andrew Vasquez's updates Adds scsi target scanning on behalf of the driver based on addition of a per-host workq. This patch adds support for FC Remote Ports (which may or may not be FCP targets) to the fc transport. The attributes for the ports are in support of HBAAPI. This patch also implements consistent scsi target id bindings for the remote ports. This patch also moves the dev_loss attribute from the target-level fc_transport device to the remote port device. It also deletes the link_down attribute. The fc_target_block and fc_target_unblock routines have been replaced by fc_remote_port_block and fc_remote_port_unblock. The fc_host_block/unblock functions have been removed (unused). A new interface has been created - fc_remove_host(), which a driver must call immediately prior to scsi_remove_host() when unloading. This tears down the transport, starget, and sdev devices. The transport, which utilizes the midlayer mods to insert transport entities between the shost and starget, results in a device tree such as the following: /sys/class/fc_host/host4/device/rport-4:0-0/target4:0:0/4:0:0:0 Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com> <torvalds@ppc970.osdl.org> Revert recent NUMA and pgd_index() fixes, since they show regressions. People are investigating. Cset exclude: davem@sunset.davemloft.net|ChangeSet|20050315051617|44508 Cset exclude: kravetz@us.ibm.com[torvalds]|ChangeSet|20050314002422|18516 <akpm@osdl.org> [PATCH] esp build fix We forgot to add the spinlock to the device structure. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] saa7134 !CONFIG_MODULES build fix drivers/media/video/saa7134/saa7134-core.c: In function `saa7134_fini': drivers/media/video/saa7134/saa7134-core.c:1215: `pending_registered' undeclared (first use in this function) Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] dvb pll warning fix CC [M] drivers/media/dvb/frontends/dvb-pll.o drivers/media/dvb/frontends/dvb-pll.c:38: warning: excess elements in array initializer drivers/media/dvb/frontends/dvb-pll.c:38: warning: (near initialization for `dvb_pll_thomson_dtt7579.entries') Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] ia64 msi build fix drivers/pci/quirks.c:pci_msi_quirk is only defined if CONFIG_X86_IO_APIC, but msi_init() unconditionally uses it. Acked-by: "Nguyen, Tom L" <tom.l.nguyen@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <pmeda@akamai.com> [PATCH] use strncpy in get_task_comm Set_task_comm uses strlcpy, so get_task_comm must use strncpy. Signed-Off-by: Prasanna Meda <pmeda@akamai.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jbarnes@engr.sgi.com> [PATCH] gcc4 fix for sn_serial.c The sal_console and sal_console_uart structures have a circular relationship since they both initialize member fields to pointers of one another. The current code forward declares sal_console_uart as extern so that sal_console can take its address, but gcc4 complains about this since the real definition of sal_console_uart is marked 'static'. This patch just removes the static qualifier from sal_console_uart to avoid the inconsistency. Signed-off-by: Jesse Barnes <jbarnes@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <ben-linux@fluff.org> [PATCH] fs/proc/base.c - fix sparse errors Rewrite initialiser for proc_oom_adjust_operations, and add __user annotations to oom_adjust_{read|write} Signed-off-by: Ben Dooks <ben-linux@fluff.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <clameter@sgi.com> [PATCH] Fixes to mmtimer driver Fix the issue that the timer sometimes will not fire if the scheduled time has already expired. Plus some simplifications and style changes. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: Dimitri Sivanich <sivanich@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <trond.myklebust@fys.uio.no> [PATCH] NFS: Ensure that dirty pages are written with the right creds. When doing shared mmap writes, the resulting dirty NFS pages may find themselves incapable of being flushed out if I/O is started after the file was released. Make sure we start I/O on all existing dirty pages in nfs_file_release(). Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <davem@sunset.davemloft.net> [SPARC64]: Override {pgd,pmd}_addr_end() to handle vaddr hole. Signed-off-by: David S. Miller <davem@davemloft.net> <peterc@gelato.unsw.edu.au> [IPV6]: Fix non-modular build. Remove __exit from functions calls from functions other than module_exit(). Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net> <willy@parisc-linux.org> [PATCH] Update PA-RISC documentation directory IODC.txt and mm were removed ages ago Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC power controller update - Small cleanups to LED/LCD support code From: Grant Grundler <grundler@parisc-linux.org> - asm/irq.h is unnecessary Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] drivers/parisc: Convert to pci_register_driver convert from pci_module_init to pci_register_driver (from:http://kerneljanitors.org/TODO). Signed-off-by: Christophe Lucas <c.lucas@ifrance.com> Signed-off-by: Domen Puncer <domen@coderock.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC MUX device is not a boot console MUX should never have had CON_BOOT set Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] PA-RISC Harmony update Minor line wrapping fix From: Kyle McMartin <kyle@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC put_user Some put_user() callers mismatch the type of the object and the pointer. Since PA-RISC is big-endian, the wrong bits were being copied to userspace. Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <willy@parisc-linux.org> [PATCH] Fix PA-RISC IDE macros Fix prototype of __ide_mm_{in,out}{sw,sl} function prototypes Signed-off-by: Randolph Chung <tausq@parisc-linux.org> Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <tony.luck@intel.com> [IA64] override for pgd_addr_end to step around holes Every user region has a hole in the middle where we don't have enough bits in pgd+pmd+pte so pgd_addr_end needs some extra math to compute the virtual address base of the next pgd entry. Thanks to Dave Miller for pointing me in the right direction. Signed-off-by: Tony Luck <tony.luck@intel.com> <davem@sunset.davemloft.net> [IPSEC]: Revert ip{,6}_append_data() dst_mtu() conversion. This patch is wrong. This is the *one* place where we do need to use the path MTU. The reason is that when the packet is fragmented we only pay for the IPsec overhead once over all and not once for each fragment. Please revert it for now. The trailer_len in ip_append_data is not quite right as the trailer's length depends on the length of the entire packet. However, it should be harmless since ESP knows how to extend the packet when necessary. Cset exclude: herbert@gondor.apana.org.au|ChangeSet|20050315181807|13007 <shenkel@gmail.com> [TCP]: Use get_unaligned() in tcp_parse_options() TCP options are not guaranteed to be aligned at all, so we should use get_unaligned when accessing u16- or u32-values in the TCP options header to avoid alignment errors on some platforms. The patch applies to vanilla 2.6.11. Signed-off-by: Sven Henkel <shenkel@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net> <tgraf@suug.ch> [IPV4]: All deletion of equal addresses only differing by prefix length. Signed-off-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net> <ralf@linux-mips.org> [AX25]: Use skb_queue_purge(). Signed-off-by: David S. Miller <davem@davemloft.net> <davem@sunset.davemloft.net> [AX25]: Fix build. Signed-off-by: David S. Miller <davem@davemloft.net> <akpm@osdl.org> [ISDN]: Set skb->input_dev properly. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net> <herbert@gondor.apana.org.au> [IPV4]: Make ipt_REJECT use icmp_send again. As it is ipt_REJECT doesn't work at all with IPsec. Despite my efforts previously in making the policy lookups work there I neglected to change the final call to dst_output so the policy lookup is useless. ipt_REJECT also had a number of deviations from icmp_send which seems to be unjustified. For examples it ignored source routing IP options. There was a bug in icmp_send too :) It didn't set the ICMP type/code values for the policy lookup. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net> <alan@lxorguk.ukuu.org.uk> [BRIDGE]: Limit BRCTL_GET_BRIDGES to 2048 bridges. Signed-off-by: David S. Miller <davem@davemloft.net> <Robert.Olsson@data.slu.se> [PKTGEN]: Fix maintainence of next_tx_{us,ns}. Also a minor fixup from Adrian Bunk. Signed-off-by: David S. Miller <davem@davemloft.net> <bunk@stusta.de> [IPV6]: Make a function static in ndisc.c Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: David S. Miller <davem@davemloft.net> <hugh@veritas.com> [PATCH] tasklist left locked On 4-way SMP, about one reboot in twenty hangs while killing processes: exit needs exclusive tasklist_lock, but something still holds read_lock. do_signal_stop race case misses unlock, and fixing it fixes the symptom. Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <torvalds@ppc970.osdl.org> isofs: Handle corupted rock-ridge info slightly better. Keyword here being 'slightly'. The code is a mess. <torvalds@ppc970.osdl.org> isofs: more "corrupted iso image" error cases Thanks to Michal Zalewski for testing. <torvalds@ppc970.osdl.org> umount: avoid racy block-size set Setting the block size back to the original blocksize at umount time is unnecessary, and can cause buffer errors and infinite loops in __getblk_slow, and possibly other problems. Just getting bdev_lock instead causes other issues, namely AB-BA deadlocks with /proc/meminfo etc. Just drop it, and replace with a "sync_blockdev()" to cause a flush (which was a side effect of changing the blocksize before). Debugging and testing by Jeff Mahoney <jeffm@suse.com> <paulus@samba.org> [PATCH] PPC64 Implement non-executable stacks This patch, by Jake Moilanen with some further hacking from me, adds a real execute permission bit to the linux PTEs on PPC64, and connects that into the kernel infrastructure for implementing non-executable stacks and heaps. This means that on any PPC64 cpu since the POWER4 (i.e. POWER4, PPC970, PPC970FX, POWER4+, POWER5) you will get a segfault if you try to execute instructions from a region that doesn't have PROT_EXEC permission. The patch also marks the pages of the linear mapping that aren't part of the kernel text as non-executable. Andrew and Linus, could you try this on your G5s? I have tried it here on a Debian system and a SLES9 system and everything runs fine, but I haven't been able to try it on YDL, FC or RHEL4. With this patch we default to executable stack and read-implies-exec behaviour when there is no PT_GNU_STACK program header entry, or when there is one and it indicates the stack is executable. For 32-bit processes, the heap is always executable, because the PLT contains instructions and it ends up in the bss segment. Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <lethal@Linux-SH.ORG> [PATCH] sh build fix sh and sh64 need xlate_dev_mem_ptr/xlate_dev_kmem_ptr definitions too. Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <jes@trained-monkey.org> [PATCH] compile fix for ia64 UP Minor compile fix from Peter Chubb for ia64 UP boxes after my /dev/mem patch was applied. Signed-off-by: Peter Chubb <peterc@gelato.unsw.edu.au> Signed-off-by: Jes Sorensen <jes@wildopensource.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <akpm@osdl.org> [PATCH] revert vmalloc-use-list-of-pages-instead-of-array-in-vm_struct XFS will under some circumstances use vmap() to map pagecache pages. These are on the LRU. So the recent patch to use page->lru in the vmalloc() code corrupts these pages's ->lru pointers. Revert. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <steven@brudenell.name> [PATCH] parport_pc: partially revert netmos patch There's a conflict between parport_pc and parport_serial. parport_pc is claiming the 9735 and 9835 devices, but parport_pc wants to handle them. So remove support for those devices from parport_pc. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <khali@linux-fr.org> [PATCH] i2c eeprom oops fix Fix recent oopses with i2c nvram access. If count is less than in_row1, bad things will happen. Cc: "Antonino A. Daplas" <adaplas@hotpop.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> <torvalds@ppc970.osdl.org> Linux 2.6.12-rc1
Posted Apr 4, 2005 0:46 UTC (Mon)
by barryn (subscriber, #5996)
[Link]
This page is titled "2.6.12 long-format changelog", but it looks like the 2.6.12-rc1 changelog to me. Not to mention, 2.6.12 isn't even done yet.2.6.12*-rc1* long-format changelog??